Skip to main content

Udon 世界中的物品(Items)

你世界中的用户可以生成物品,这些是增强用户体验的工具、玩具和小装置。为物品的存在做好准备很重要。

note

物品是一个新功能,可能对某些世界产生意外影响。如果它们破坏了功能,你可以暂时禁用它们。

我们的目标是解决与物品和世界相关的问题,以便所有创作者都能启用它们!

在世界中禁用物品​

如果物品在你的世界中引起问题,可以按照以下步骤禁用它:

  1. 访问我的世界页面,如果需要请登录。
  2. 点击世界的缩略图打开其"编辑"页面(如果你点击标题,将进入世界的详情页面,在那里可以点击"Edit"按钮进入该页面)。
  3. 在"Default Content Settings"列表中,找到"Items Enabled"。它默认是启用的,意味着用户可以在这个世界中生成物品。

启用了物品的世界详情页面

  1. 点击按钮禁用物品,并使用下方的文本框解释为什么需要禁用物品。 禁用了物品的世界详情页面

  2. 滚动到页面顶部,点击"Save"。

在世界镜子中显示物品​

物品生成在"Item"图层上,在旧版 SDK 中这个图层曾被称为"reserved3"。如果图层未被更改,最新版本的 VRCMirror 预制件会正确反射物品。

但是,如果你的世界使用旧版 SDK 或镜子预制件,或者你在 VRCMirror 预制件中更改了图层,你的镜子可能不会反射物品。这是因为镜子没有配置为反射之前未使用的"reserved3"图层。

镜子忽略了一个手持物品

如果物品没有出现在你的世界镜子中,将"Item"图层添加到镜子的"Reflect Layers"下拉菜单中。(在旧版 SDK 中,选择"reserved3"同样有效。)

在镜子中启用物品反射

在物理方法中避免物品​

你世界中的 Udon 程序不能引用物品。如果你的某个脚本找到了一个物品,它会显示为一个 null 对象。如果 UdonBehaviour 尝试处理物品,它会抛出异常并禁用它自己,所以最好避免处理物品。

以下两个提示应能通过避免在物理方法中出现物品来保持你的 Udon 逻辑正常运行:

  1. 尽可能使用 LayerMask,并避免使用"Item"图层(之前的"reserved3")。
  2. 在通过物理调用传回的任何对象上调用 Utilities.IsValid,检查是否为 true 结果,以确保你不会进一步操作"受保护"的对象。请参阅物理与图层了解所有应执行此操作的方法列表。