AssetService

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス

アセットサービス は、Roblox ウェブ API に関するアセットに関連するクエリを処理する非リプリケーションサービスです。

概要

方法

プロパティ

方法

CreateEditableImage

新しい EditableImage を作成します。デフォルトでは、解像度は 512×512 に設定されますが、メソッドのオプションテーブルを使用して異なるサイズを指定できます。

装置固有の編集可能なメモリ予算が消耗した場合、作成に失敗し、このメソッドは nil を返します。

パラメータ

editableImageOptions: Dictionary

メソッドのコントロールを含むオプションテーブル:

  • Size – 画像の希望幅と高さを指定する Vector2
既定値: ""

戻り値

CreateEditableMesh

新しい、空の EditableMesh を作成します。ヴァーティス、トライアングル、そしてその属性は、動的に追加できます。装置固有の編集可能なメモリ予算が消耗した場合、作成に失敗し、このメソッドは nil を返します。

パラメータ

editableMeshOptions: Dictionary

作成された EditableMesh のオプションを含むテーブル。現在、 が常に空の編集可能なメッシュであるため、オプションは利用できません。

既定値: ""

戻り値

CreateSurfaceAppearance

パラメータ

content: Dictionary
既定値: ""

戻り値

CreateAssetAsync

イールド

指定されたオブジェクトから Roblox に新しいアセットをアップロードします。

現在、このメソッドはローカルでロードされたプラグインとアセットを最初にアップロードすることなく使用できるだけです。

パラメータ

object: Object

アセットとして作成するオブジェクト。

既定値: ""
assetType: Enum.AssetType

現在サポートされているタイプは:

既定値: ""
requestParameters: Dictionary

アセットメタデータを含むオプションテーブル:

  • Name – ストリングとしてのアセットの名前。デフォルトは [object.Name] です。
  • Description – アセットの説明をストリングとして。デフォルトは "Created with AssetService:CreateAssetAsync"
  • CreatorId – アセットクリエーターのIDを数字として。プラグインコンテキストのためにログイン済みの Roblox Studio ユーザーにデフォルトします。オープンクラウド Luau 実行コンテキストに必要。
  • CreatorTypeEnum.AssetCreatorType アセットクリエーターの種類を示す。プラグインコンテキストでデフォルトに Enum.AssetCreatorType.User になります。オープンクラウド Luau 実行コンテキストに必要。
  • IsPackage – ブール値、Enum.AssetType.Model 入力イプにのみ適用されます。デフォルトは true です。
既定値: "nil"

戻り値

成功した場合の Enum.CreateAssetResult とアセットIDペア。

コードサンプル

The following code creates a Mesh asset from an EditableMesh.

AssetService:CreateAssetAsync

local AssetService = game:GetService("AssetService")
local editableMesh = AssetService:CreateEditableMesh()
-- add vertices, faces, and uvs to the mesh
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
Name = "My asset",
Description = "a good asset",
}
local ok, result, idOrUploadErr = pcall(function()
return AssetService:CreateAssetAsync(editableMesh, Enum.AssetType.Mesh, requestParameters)
end)
if not ok then
warn(`error calling CreateAssetAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`success, new asset id: {idOrUploadErr}`)
else
warn(`upload error in CreateAssetAsync: {result}, {idOrUploadErr}`)
end

CreateAssetVersionAsync

イールド

指定されたオブジェクトから既存のアセットの新しいバージョンをアップロードします。

現在、このメソッドはローカルでロードされたプラグインとアセットを最初にアップロードすることなく使用できるだけです。

パラメータ

object: Object

アセットとして作成するオブジェクト。

既定値: ""
assetType: Enum.AssetType

現在サポートされているタイプは:

既定値: ""
assetId: number

新しいバージョンのアセットのID。

既定値: ""
requestParameters: Dictionary

アセットメタデータを含むオプションテーブル:

  • Name – A string 。アセットの名前。デフォルト: object.Name。
  • Description – A string 。アセットの説明。デフォルト: "AssetService:CreateAssetAsync で作成"。
  • CreatorId – A number .アセットクリエーターの ID。デフォルト: プラグインコンテキストのログイン済み Roblox Studio ユーザー。オープンクラウド Luau 実行コンテキストに必要。
  • CreatorType – A Enum.AssetCreatorType 。アセットクリエーターの種類。デフォルト: Enum.AssetCreatorType.User プラグインコンテキストで。オープンクラウド Luau 実行コンテキストで必須。
  • – A 。のみ適用されます。デフォル入力: true。
既定値: "nil"

戻り値

成功した場合は、Enum.CreateAssetResult とアセットバージョン番号ペア。

コードサンプル

The following code creates a new Model asset version.

AssetService:CreateAssetVersionAsync

local AssetService = game:GetService("AssetService")
local assetIdToUpdate = 321
local model = Instance.new("Model")
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
}
local ok, result, versionOrUploadErr = pcall(function()
return AssetService:CreateAssetVersionAsync(model, Enum.AssetType.Model, assetIdToUpdate, requestParameters)
end)
if not ok then
warn(`error calling CreateAssetVersionAsync: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`success, new asset version: {versionOrUploadErr}`)
else
warn(`upload error in CreateAssetVersionAsync: {result}, {versionOrUploadErr}`)
end

CreateEditableImageAsync

イールド

指定されたテクスチャで満たされた新しい EditableImage オブジェクトを作成します。rbxthumb:// などのアセットでないテクスチャIDはサポートされます。画像アセットを使用する場合、エクスペリエンスのクリエーターと関連付けられ、または所有されている必要があります、またはエクスペリエンス内で作成された必要があります。装置固有の編集可能なメモリ予算が消耗した場合、作成に失敗し、このメソッドは nil を返します。

この API を使用するときの特別な注意事項については、EditableImage ドキュメントを参照してください。

パラメータ

content: Content

外部に保存されたアセットコンテンツまたは場プレース内のオブジェクトへの参照、サポートされる Enum.ContentSourceType 値の単一の値を包み込みます。

既定値: ""
editableImageOptions: Dictionary

作成された EditableImage のオプションが含まれるテーブル。現在、Size でサイズ変更がサポートされていないため、オプションは利用できません。

既定値: ""

戻り値

提供された画像を含む新しい EditableImage

CreateEditableMeshAsync

イールド

既存の EditableMesh またはメッシュ EditableMesh IDから作成された新しい Content オブジェクトを返す。デフォルトでは、このメソッドから作成された EditableMesh は、メッシュデータのみが修正、追加、削除できるように固定されます。固定サイズの EditableMesh は、メモリを少し消費し、可能であれば、推奨されます。

装置固有の編集可能なメモリ予算が消耗した場合、作成は失敗し、このメソッドは nil を返します。

この API を使用するときの特別な注意事項については、 公開エクスペリエンスで編集可能なメッシュを有効にする および 権限 セクションの EditableMesh を参照してください。

パラメータ

content: Content

外部に保存されたアセットコンテンツまたは場プレース内のオブジェクトへの参照、サポートされる Enum.ContentSourceType 値の単一の値を包み込みます。

既定値: ""
editableMeshOptions: Dictionary

メソッドのコントロールを含むオプションテーブル:

  • FixedSize – A bool .デフォルト値は true で、返された EditableMesh は、ベリーを追加または削除することはできませんが、値を変更するだけです。メッシュトポロジーを変更する能力が必要な場合は、false に設定し、メモリをより多く使用することで対応します。
既定値: ""

戻り値

新しい EditableMesh インスタンス。

CreateMeshPartAsync

イールド

このメソッドは、指定された MeshPartCollisionFidelity 、および RenderFidelityFluidFidelity を作成します。Because MeshPart.MeshId は読み込み専用であるため、このメソッドは、既存の MeshPart をクローンする必要なく、スクリプトを介して任意のメッシュIDでメッシュを作成する方法です。作成に失敗するとエラーが発生します。

パラメータ

meshContent: Content

外部に保存されたアセットコンテンツまたは場プレース内のオブジェクトへの参照、サポートされる Enum.ContentSourceType 値の単一の値を包み込みます。

既定値: ""
options: Dictionary

メソッドの 1つまたは複数のコントロールを含むオプションテーブル:

  • CollisionFidelity – 結果のパーツでの CollisionFidelity の値。オプションが存在しないか、options テーブルが nil である場合は、デフォルトは Enum.CollisionFidelity.Default になります。
  • RenderFidelity – 結果のパーツでの RenderFidelity の値。オプションが存在しないか、options テーブルが nil である場合は、デフォルトは Enum.RenderFidelity.Automatic になります。
  • FluidFidelity – 結果のパーツでの FluidFidelity の値。オプションが存在しないか、options テーブルが nil である場合は、デフォルトは Enum.FluidFidelity.Automatic になります。
既定値: "nil"

戻り値

CreatePlaceAsync

イールド

指定された templatePlaceID を介して場所をクローンし、PlaceId で使用できる新しい場プレースの TeleportService を返します。クローン場所は、指定された名前と説明で場プレースのクリエーターのインベントリ内に詳細示されます。

テンプレートの場所は、場所設定を通じてテンプレートコピーが有効になっている必要があります。所有していない場所をクローンするためにこの方法を使用することはできません。

この API の頻繁な使用はお勧めしません、特に、作成された場所にスクリプトが含まれている場合、大量の場所でコードを更新することが困難になります。ユーザー生成ワールドの場合、代わりにユーザー作成を連続化して DataStores に保存します。

パラメータ

placeName: string

新しい場プレースの名前。

既定値: ""
templatePlaceID: number

PlaceId クローンする場所。

既定値: ""
description: string

新しい場プレースの説明。

既定値: ""

戻り値

PlaceId 新しい場プレースの。

CreatePlaceInPlayerInventoryAsync

イールド

パラメータ

player: Instance
既定値: ""
placeName: string
既定値: ""
templatePlaceID: number
既定値: ""
description: string
既定値: ""

戻り値

GetAssetIdsForPackage

イールド

指定されたパッケージに含まれるアセット IDのアレイを返します。

パラメータ

packageAssetId: number
既定値: ""

戻り値

指定されたパッケージに含まれるアセット ID。

GetAudioMetadataAsync

イールド

特定のオーディオソース (アーティスト、タイトル、期間、入力類など) に関する関連するメタデータを提供します。

パラメータ

idList: Array

メタデータを取得するアセットまたはコンテンツのIDのアレイ。最大バッチサイズは 30 です。

既定値: ""

戻り値

リクエストと同じ順序で配列の辞書テーブル、それぞれの辞書にはアセット/コンテンツの次のメタデータが含まれています:

  • AssetId (文字列)

  • Title (文字列)

  • Artist (文字列)

  • Duration (number) 秒

  • AudioType ( Enum.AudioSubType )

たとえば、アセットID が存在しないなど、リクエストされたアセットのメタデータ取得中にエラーが発生した場合、ディクショナリテーブルは返された配列に含まれますが、参照用の AssetId フィールドのみが含まれています。さらに、特定のアセット (たぶんプライベートオーディオ) について AudioType が決定できない場合 (たぶんプライベートオーディオであるため)、結果の辞書に AudioType のエントリが含まれないことがあります。

コードサンプル


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 を投げます。

パラメータ

bundleId: number

指定されたバンドルの ID。

既定値: ""

戻り値

次のキー-値ペアを含む辞書は、指定されたバンドルに関する詳細を含みます:

  • Id — バンドル ID (パスされた bundleId 引数と同じ)

  • Name — バンドル名

  • Description — バンドルの説詳細

  • BundleType — 例えば、Enum.BundleType または "BodyParts" のように、"DynamicHead" を表す文字

  • Items — バンドル内のアイテムのアレイ、それぞれに次のキーを通じて表現される詳細があります:

    • Id — アイテムID

    • Name — アイテム名

    • Type — アイテムタイプのような "Asset"

コードサンプル

Getting Bundle Details

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

イールド

現在のエクスペリエンス内の名前と StandardPages 場所を含む PlaceId オブジェクトを返します。


戻り値

コードサンプル

The following code prints the name and PlaceId of each place in the experience.

AssetService:GetGamePlacesAsync

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

イールド

ユーザーに発行ダイアログを表示して、エクスペリエンス内のアセット作成を許可します。呼び出されると、ユーザーに対話を表示し、名前、説詳細、およびアセットのプレビューを入力できます。送信すると、アセットをユーザーのインベントリに保持ち物リストします。サーバー側でのみ呼び出すことができます。

パラメータ

player: Player

アセット作作品を提出するユーザー。

既定値: ""
instance: Instance

作成するアセット。現在、スクリプトや非公開アセットのネストは含めることができません。

既定値: ""
assetType: Enum.AssetType

アセットタイプ。現在は Enum.AssetType.Model のみです。

既定値: ""

戻り値

成功した場合の Enum.PromptCreateAssetResult とアセットIDペア。

PromptImportAnimationClipFromVideoAsync

イールド

パラメータ

player: Player
既定値: ""
progressCallback: function
既定値: ""

戻り値

SavePlaceAsync

()
イールド

現在の場プレースの状態を保存します。AssetService:CreatePlaceAsync() で作成された場所または場所設定を介してAPIが有効になっている場所でのみ機能します。


戻り値

()

SearchAudio

イールド

返す AudioPages オブジェクトには、指定された検サーチの結果が含まれています。空白の値のあるフィールドは返さないでしょう。

このメソッドには低い HTTP リクエスト制限があり、エラーを発生させる可能性があるため、常にエラー処理のために pcall() で包まれる必要があります。可能なエラーメッセージには次のものがあります:


<th>理由</th>
</tr>
</thead>
<tbody>
<tr>
<td>HTTP 429 (リクエストが多すぎる)</td>
<td><code>Class.AssetService:SearchAudio()</code> が多くの回呼ばれています。</td>
</tr>
<tr>
<td>データの予期せぬタイプ、期待される配列が null になった</td>
<td>キーワード引数がフィルタリングされました。</td>
</tr>
</tbody>
エラーメッセージ

パラメータ

searchParameters: AudioSearchParams
既定値: ""

戻り値

コードサンプル

This code gets the music assets returned by the keyword "happy" and prints out their titles.

Getting Music Search Titles

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
}
}
--]]

イベント