AssetService

非推奨を表示

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

作成できません
サービス

AssetService は、Roblox ウェブ API に関するアセット関連のクエリを処理する非レプリケートされたサービスです。

概要

方法

プロパティ

方法

CreateEditableImage

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

デバイスの編集可能なメモリー予算が使用可能な場合、メソッドは失敗し、このメソッドは nil を返します。

パラメータ

editableImageOptions: Dictionary

メソッドに対するコントロールのあるオプションのテーブル:

  • Size – 画像の必要な幅と高さを指定する Vector2

戻り値

CreateEditableMesh

新しい、空の EditableMesh を作成します。垂直、三角形、そしてその属性は、ダイナミックに追加されます。デバイスのメモリの予算が使用されると、作成が失敗し、このメソッドは nil を返します。

パラメータ

editableMeshOptions: Dictionary

戻り値

CreateEditableImageAsync

イールド

Class.EditableImage インスタンスを作成します。rbxthumb:// などのアセットテクスチャ ID はサポートされています。エクスペリエンス内のアセットメモリバッドGEMを使用すると、nil が返されます。デバイスの

パラメータ

content: Content
editableImageOptions: Dictionary

戻り値

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

CreateEditableMeshAsync

イールド

既存のメッシュコンテンツ ID から作成された新しい EditableMesh インスタンスを返します。デフォルトでは、このメソッドから作成された EditableMesh は、メッシュデータのみを変更できるため、追加または削除できません。固定サイズの Class.EditableMesh

デバイスのメモリの予算が編集可能なメモリの予算で満タンになると、作成に失敗し、このメソッドは nil を返します。

パラメータ

content: Content
editableMeshOptions: Dictionary

メソッドに対するコントロールのあるオプションのテーブル:

  • FixedSize – を bool 。デフォルト値は true で、返された 0> Class.EditableMesh0> は、メッシュのトップオロジーを変更するだけでなく、値を変更するだけです。メッシュのトップオロジーを変更するために

戻り値

新しい EditableMesh インスタンス。

CreateMeshPartAsync

イールド

このメソッドは、 MeshPartCollisionFidelity 、および

パラメータ

meshContent: Content
options: Dictionary

メソッドに関する 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
既定値: "nil"

戻り値

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 ではなく、スクリプトを保存するこ

パラメータ

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 です。


戻り値

リクエストと同じオーダーでダイクションのテーブルのアレイ、各ダイクションにはアセット/コンテンツの次のメタデータが含まれています:

要素ID が存在しない場合、ダイクトリーテーブルは返されたアレイに含まれますが、AssetId フィールドは参照用にのみ含まれています。さらに、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 — バンドルの説詳細

  • BundleTypeEnum.BundleType 、例えば "BodyParts" または 0>「ダイナミックヘッド」0> など

  • 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

イールド

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


戻り値

コードサンプル

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

void
イールド

現在の場プレースの状態を保存します。 Class.AssetService:CreatePlaceAsync() を使用して作成された場所にのみ機能します。また、場所の設定により API を有効にすることもできます。


戻り値

void

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>
エラーメッセージ理由

パラメータ

searchParameters: AudioSearchParams

戻り値

コードサンプル

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

イベント