体验中资产创作品

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

使用体验资产创建功精选,您可以允许用户将他们在体验中创造的作品保存到库存中。您的用户可以像其他任何素材一样使用这些经验创作。此外,当这些创作在 Roblox 平台上显示时,它们会为您的体验添加属性,因此任何用户都可以使用属性链接来到您的体验并创建自拥有的体验。

例如,您可以启用用户在体验中创建自定义生物作为宠物,并允许他们将最喜欢的宠物保存到库存中。你可以完全控制指定哪些对象用户可以从你的体验中修改和保存。用户可以将他们的创作显示在他们的个人资料上,并附上对你的体验的归属,提高你的体验可见度。

支持的资产类型和限制

与平台上的所有资产一样,体验中的创作也受到资产审核。目前,你只能允许用户从你的体验中创建 。这些包不能包含任何脚本或私有资产,例如音频、视频和嵌套包。如果系统检测到包中的脚本或私有资产可以由用户保存,它会阻止经验中保存操作,通过隐藏用户的保存提示来阻止用户保存操作。

当你运行或测试体验时,并将脚本或私有资产作为体验作品建的一部分添加到体验中时,将无法保存并提示错误消息到 Studio 输出窗口开发者控制台

启用体验内资产创作品

要启用用户体验中的资产创建,请在服务器端脚本中使用 AssetService:PromptCreateAssetAsync() API 方法,以及其他创建逻辑。指定您想启用此功能的体验实例、设置自定义触发器(例如用户界面标志)来调用方法,并倾听客户端远程事件以保存资产。

AssetService:PromptCreateAssetAsync() 接受以下参数:

当服务器调用 AssetService:PromptCreateAssetAsync() 时,它会在客户端上提示一个 提交包 对话框,因此触发保存操作的用户可以输入包的名称和描述。Roblox 提供外箱对话用户界面,因为保存工作流是平台级功能。

以下示例服务器脚本提示用户保存他们在体验中画的汽车:

体验中资产创建的示例脚本

-- 定义资产服务变量
local AssetService = game:GetService("AssetService")
-- 设置 PromptCreateAssetAsync() 以提示提交对话框
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)

经验创建演示竞技场 展示了你如何使用此精选的一个例子。您可以加入演示,走过体验中的创建工作流程作为用户,或编辑 Studio 中的地点以引用设计。

创建后和归属于后

用户创建并保存体验中的资产后,可以在以下位置找到它:

  • 他们的 我的库存 页面。
  • 他们的 创作 选项卡的 个人资料 页面。
  • 在他们的创建者仪表板下的 开发项目 选项卡。
  • 在工作室的 库存 选项卡中,他们的 工具箱

当用户在朋友的个人资料或库存中看到体验创作时,他们会看到资产创建于原始体验的属性。用户可以单击属性链接转到体验页面,从而可以加入体验并创建自拥有的体验。