インエクスペリエンスアセット作成

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

エクスペリエンスアセットの作成機能を使用すると、ユーザーがエクスペリエンスで作成したクリエーションをインベントリに保存できます。ユーザーは、エクスペリエンスで作成したクリエーションを他のアセットと同じように使用できます。さらに、これらのクリエーションは、Roblox プラットフォームで表示されると、

たとえば、ユーザーがエクスペリエンスでカスタムクリーチャーを作成し、インベントリにお気に入りのペットを保存することを許可するなど、ユーザーがペットとしての自分の創造物をエクスペリエンスで許可することができます。ユーザーは、エクスペリエンスから変更して保存できるオブジェクトをユーザーのプロフィールに表示することが

サポートされたアセットタイプと制限

プラットフォームのすべてのアセットのように、ユーザーエクスペリエンスの作品は アセットモデレーション に対象です。現在、ユーザーはエクスペリエンスからのみ パック を作成できます。これらのパックには、オーディオ、ビデオ、およ

エクスペリエンスを実行またはテストしているとき、スクリプトまたはプライベートアセットをエクスペリエンスの一部として追加すると、保存できず、エラーメッセージが Studio 出力ウィンドウ または 開発者コンソール に表示されます。

インエクスペリエンスアセット作成の有効化

ユーザーにインエクスペリエンスのアセットを有効にするには、サーバー側のスクリプトで AssetService:PromptCreateAssetAsync() API メソッドを使用し、他の作成ロジックと一緒に。特定のインスタンスをエクスペリエンスで有効にするために、ユーザーにこの機能を有効にするためのトリガー (例えば

AssetService:PromptCreateAssetAsync() は次のパラメータを取ります:

  • アセットを作品成するユーザーを表示する Player オブジェクト。
  • Class.Instance オブジェクトは、作作品のアセットを表示します。
  • 現在、Enum.AssetTypeEnum.AssetType.Model に制限されています。

サーバーが AssetService:PromptCreateAssetAsync() を呼び出すと、クライアントに パッケージを送信 ダイアログが表示され、ユーザーがセーブアクションをトリガーすると、パッケージの名前と説明を入力できます。Roblox は、セーブワークフローがプラットフォームレベルの機能である

次のサーバーサイドスクリプトは、ユーザーがエクスペリエンスでペイントする車を保存するように促します:

インエクスペリエンスアセット作成のスクリプトの例

-- アセットサービス変数を定義
local AssetService = game:GetService("AssetService")
-- プロンプトを作成アセットアシンクロを設定して、プレゼンテーションダイアログをプロンプトします
local function CreateAsset(player, instance)
local complete, result, assetId = pcall(function()
return AssetService:PromptCreateAssetAsync(player, instance, Enum.AssetType.Model)
end)
if complete then
if result == Enum.PromptCreateAssetResult.Success then
print("successfully uploaded, AssetId:", assetId)
else
print("Received result", result)
end
else
print("error")
print(result)
end
end
-- 車のペイントロジックをオミット
-- イベントハンドラーを追加する
local function onUserPublish(player, promptObject)
-- ユーザーは、エクスペリエンスのデフォルトカラーで車インスタンスを保存します
if promptObject.Name == "car" then
CreateAsset(player, car)
elseif promptObject.Name == "CarPaintYellow" or promptObject.Name == "CarPaintBlue" or promptObject.Name == "CarPaintBlack" or promptObject.Name == "CarPaintRed" then
PaintCarColor(promptObject.Name)
end
end
PublishEvent.OnServerEvent:Connect(onUserPublish)

In-Experience Creation Demo Arena は、この機能を使用する方法についての例を示しています。デモに参加して、ユーザーとしてエクスペリエンスの作成ワークフローを通じて場所ファイルにアクセスし、 編集 オプションを使用してデザインに参照できます。

A close up view of an experience's tile on its landing page. The ellipsis button is highlighted.

作成後とアトリビューション

ユーザーがエクスペリエンスからアセットを作成して保存すると、次の場所で見つけることができます:

  • 彼らの インベントリ ページ。
  • プロフィールページの クリエーション タブ。
  • クリエイターダッシュボードの 開発アイテム タブの下にある クリエーション ページ。
  • Studio の ツールボックス の インベントリ タブ。

ユーザーがフレンドのプロフィールやインベントリで見るのは、アセットが作成されたオリジナルのエクスペリエンスにアトリビュートされることです。ユーザーは、アトリビュートリンクをクリックしてエクスペリエンスページにリダイレクトできますので、エクスペリエンスに参加して自所有のものを作成できます。

An example asset tile that shows the attribution of an in-experience creation.