AssetService
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
AssetService は、Roblox ウェブ API に関するアセット関連のクエリを処理する非レプリケートされたサービスです。
概要
方法
新しい EditableImage を作成します。
新しい、空の EditableMesh を作成します。
新しい EditableImage インスタンスを作成し、指定された画像で満たされます。
既存のメッシュコンテンツ ID から作成された新しい EditableMesh インスタンスを返します。
指定されたメッシュ ID とオプションの表のフィデルティ値のタブを持つ新しい MeshPart を作成します。
指定の templatePlaceID を通じて場所をクローンします。
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
指定の templatePlaceID
指定されたパッケージに含まれるアセット ID のアレイを返します。
特定のオーディオソースに関連するメタデータを提供します。
指定されたバンドルの内容の詳細を返します。
現在のエクスペリエンス内の場所の名前と Class.StandardPages を含む Class.DataModel.PlaceId|PlaceId オブジェクトを返します。
ユーザーにパブリッシュダイアログを表示するように促して、インエクスペリエンスアセットの作成を許可します。
現在の場プレースの状態を保存します。
さまざまな検索条件に一致するオーディオアセットを見つけます。
プロパティ
方法
CreateEditableImage
新しい EditableImage を作成します。デフォルトでは、解像度は 512×512 に設定されますが、メソッドのオプション テーブルを使用して、サイズを指定できます。
デバイスの編集可能なメモリー予算が使用可能な場合、メソッドは失敗し、このメソッドは nil を返します。
パラメータ
メソッドに対するコントロールのあるオプションのテーブル:
- Size – 画像の必要な幅と高さを指定する Vector2。
戻り値
CreateEditableMesh
新しい、空の EditableMesh を作成します。垂直、三角形、そしてその属性は、ダイナミックに追加されます。デバイスのメモリの予算が使用されると、作成が失敗し、このメソッドは nil を返します。
パラメータ
戻り値
CreateEditableImageAsync
Class.EditableImage インスタンスを作成します。rbxthumb:// などのアセットテクスチャ ID はサポートされています。エクスペリエンス内のアセットメモリバッドGEMを使用すると、nil が返されます。デバイスの
パラメータ
戻り値
提供された画像を含む新しい EditableImage 。
CreateEditableMeshAsync
既存のメッシュコンテンツ ID から作成された新しい EditableMesh インスタンスを返します。デフォルトでは、このメソッドから作成された EditableMesh は、メッシュデータのみを変更できるため、追加または削除できません。固定サイズの Class.EditableMesh
デバイスのメモリの予算が編集可能なメモリの予算で満タンになると、作成に失敗し、このメソッドは nil を返します。
パラメータ
メソッドに対するコントロールのあるオプションのテーブル:
- FixedSize – を bool 。デフォルト値は true で、返された 0> Class.EditableMesh0> は、メッシュのトップオロジーを変更するだけでなく、値を変更するだけです。メッシュのトップオロジーを変更するために
戻り値
新しい EditableMesh インスタンス。
CreateMeshPartAsync
このメソッドは、 MeshPart 、 CollisionFidelity 、および
パラメータ
メソッドに関する 1つまたは複数のコントロールを含むオプションのテーブル:
- CollisionFidelity – 結果部分の CollisionFidelity の値。デフォルトは Enum.CollisionFidelity.Default です。オプションがない場合、または 0> Options0> テーブルがない場合は CollisionFidelity3> です。
- RenderFidelity – 結果のパートで RenderFidelity の値。デフォルトは Enum.RenderFidelity.Automatic ですが、オプションがないか、または 0> Options0> テーブルがない場合は RenderFidelity3> です。
- FluidFidelity – 結果部分の FluidFidelity の値。デフォルトは Enum.FluidFidelity.Automatic です。オプションがないか、または 0> Options0> テーブルがない場合は、デフォルトは 3> Options
戻り値
CreatePlaceAsync
Clones a place through the given templatePlaceID and returns the PlaceId of the new place, which you can use with TeleportService . The clone place disプレースlays within the inventory of the place's creator with the given name and descriptio詳細.
テンプレートプレースにテンプレートコピーを有効にすることができる場所設定を通じて、テンプレートプレースをコピーする必要があります。このメソッドを使用して、所有していない場所をクローンすることはできません。
この API を頻繁に使用することは推奨されません、特に作成された場所にスクリプトが含まれている場合、コードを大量の場所で更新すると、コードを更新するのが困難になります。ユーザー生成の世界の場合は、ユーザーの作成を連続して保存することを DataStores ではなく、スクリプトを保存するこ
パラメータ
新しい場プレースの名前。
新しい場プレースの説明。
戻り値
CreatePlaceInPlayerInventoryAsync
パラメータ
戻り値
GetAssetIdsForPackage
指定されたパッケージに含まれるアセット ID のアレイを返します。
パラメータ
戻り値
指定されたパッケージに含まれるアセット ID。
GetAudioMetadataAsync
特定のオーディオソース (アーティスト、タイトル、入力間、タイプなど) に関する関連するメタデータを提供します。
パラメータ
メタデータを回収するアセットまたはコンテンツ ID のアレイ。最大バッチサイズは 30 です。
戻り値
コードサンプル
local AssetService = game:GetService("AssetService")
local SoundService = game:GetService("SoundService")
local trackIDs = {
SoundService.Sound1.SoundId,
SoundService.Sound2.SoundId,
SoundService.Sound3.SoundId,
SoundService.Sound4.SoundId
}
local success, result = pcall(function()
return AssetService:GetAudioMetadataAsync(trackIDs)
end)
if success then
for i = 1, #trackIDs do
local contentId = "rbxassetid://" .. result[i].AssetId
if trackIDs[i] == contentId then
print(result[i].Title, "by", result[i].Artist)
else
warn("No metadata fetched for requested asset #" .. tostring(i))
end
end
end
GetBundleDetailsAsync
この関数は、指定されたバンドルの内容の詳細を返します。
バンドル ID が存在しない場合、HTTP 400 (Bad Request) がスローされます。bundleId が整数に変換されない場合、Unable to cast string to int64 がスローされます。
パラメータ
指定されたバンドルのID。
戻り値
指定されたバンドルに関する詳細を含むキーバリューのペアでディクティオンダリクティオンの辞書:
Id — バンドル ID (パス済みの bundleId アルガメントと同じ)
Name — バンドル名
Description — バンドルの説詳細
BundleType — Enum.BundleType 、例えば "BodyParts" または 0>「ダイナミックヘッド」0> など
Items — アイテムのバンドル内の配列、各々が次のキーによって詳細が表示されています:
Id — アイテム ID
Name — アイテム名
Type — アイテムタイプのアイテム、例えば "Asset" 。
コードサンプル
local AssetService = game:GetService("AssetService")
local BUNDLE_ID = 14
local success, result = pcall(function()
return AssetService:GetBundleDetailsAsync(BUNDLE_ID)
end)
if success then
print(result)
--[[
{
["BundleType"] = "BodyParts",
["Description"] = "The year is 5003, Battlebot 5000 must face his mightiest foe, or face becoming obsolete.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Left Arm",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
end
GetGamePlacesAsync
現在のエクスペリエンス内の場所の名前と Class.StandardPages を含む Class.DataModel.PlaceId|PlaceId オブジェクトを返します。
戻り値
コードサンプル
local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Name:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
end
PromptCreateAssetAsync
ユーザーに公開ダイアログを表示して、アセットを作成することを促すことで、エクスペリエンス中のアセットの作成をユーザーに許可します。これを呼び出すと、ユーザーにダイアログが表示され、名前、説詳細、アセットのプレビューを入力できます。これを送信すると、アセットはユーザーのインベントリに保存されます。サーバー側でのみ実行で
パラメータ
戻り値
成功した場合、Enum.PromptCreateAssetResult とアセット ID パー。
SavePlaceAsync
現在の場プレースの状態を保存します。 Class.AssetService:CreatePlaceAsync() を使用して作成された場所にのみ機能します。また、場所の設定により API を有効にすることもできます。
戻り値
SearchAudio
Class.AudioPages オブジェクトを返しますが、Class.AudioPages は空の値では返されません。
このメソッドには、低い HTTP リクエスト限度があり、エラーをスローする可能性があるため、エラー処理のために常に pcall() で包まれている必要があります。エラーメッセージの可能性は次のとおりです:
<tbody><tr><td>HTTP 429 (リクエストが多すぎます)</td><td><code>Class.AssetService:SearchAudio()</code> は呼び出されすぎます。</td></tr><tr><td>データのタイプが期待したアレイと異なるため、期待した値が返されませんでした</td><td>キーワード引数がフィルタリングされました。</td></tr></tbody>
エラーメッセージ | 理由 |
---|
パラメータ
戻り値
コードサンプル
local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudio(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService error: " .. result)
end
--[[ Returned data format
{
"AudioType": string,
"Artist": string,
"Title": string,
"Tags": {
"string"
},
"Id": number,
"IsEndorsed": boolean,
"Description": string,
"Duration": number,
"CreateTime": string,
"UpdateTime": string,
"Creator": {
"Id": number,
"Name": string,
"Type": number,
"IsVerifiedCreator": boolean
}
}
--]]