跳到主要内容

创建和上传自定义椅子

概述

为了向用户提供真正独特的虚拟体验,您可能希望创建与 Breakroom 会议系统相融合的定制化、功能性椅子或其他座椅选项。请注意,以下说明假定您具备 Unity 的基本操作知识,并且您的计算机上必须已安装 Unity 和 Breakroom SDK安装 Unity 和 Breakroom SDK

注意

只有 世界所有者、世界管理员和世界开发者 才能将自定义物品上传到 Breakroom。

信息

本节提供的说明假定您具备 Breakroom、虚拟资产以及第三方 3D 软件的高级操作知识。

创建空游戏对象

在 Unity 中,在层级视图(Hierarchy)中右键单击并创建一个空的父游戏对象。在检查器(Inspector)面板中将变换和旋转值更改为 0/0/0,并根据需要重命名该对象。我们将使用这个空游戏对象作为 Breakroom 的“房间家具”(Room Furniture)和“虚拟商品”(Virtual Good)组件的“容器”,这些组件将在本教程的后续步骤中安装。

图示:Unity,高亮显示了层级视图和检查器面板。我们的游戏对象名为“Chair Demo”。

将椅子模型导入 Unity

有两种方法可以将用于椅子对象的 3D 模型导入 Unity。

  1. 导航至 Assets > Import New Asset(资源 > 导入新资产)。这将启动标准的文件导入窗口。选择计算机上的 3D 模型文件,然后单击 Import Button(导入按钮)。
  2. 在 Windows 资源管理器中找到 3D 模型文件 并单击它。然后将模型文件直接拖入 Unity 的 Project Asset folder(项目资源文件夹)。

支持 FBX 和 OBJ 文件类型。FBX 是首选格式。

图示:导入新资产窗口,已选中一个 3D 模型文件。

将椅子模型添加到层级视图

在项目资源文件夹中选择 椅子模型文件,并将其拖到层级视图中的 空父游戏对象 上。对对象的位置和旋转进行必要的更改,然后为椅子命名(参见下面建议的 命名约定)。

当椅子模型仍在层级视图中被选中时,单击位于检查器面板底部的 Add Component button(添加组件按钮),并添加一个网格碰撞体(mesh collider)。我们将在教程的后续部分中使用它。

图示:Unity,箭头显示椅子模型在层级视图中被选中。

添加座位位置组件

当鼠标光标位于父游戏对象上方时,右键单击并选择 create a new empty game object(创建一个新的空游戏对象)选项。将此对象命名为“Seat Position”(座位位置)。我们将使用此对象作为座位位置组件的容器,使我们能够独立于椅子模型移动座位动画,以便进行必要的调整。

选择新的座位位置游戏对象。在检查器面板中,单击靠近底部的 Add Component button(添加组件按钮),并添加 Seat Position component(座位位置组件)。您会注意到椅子模型上出现了一个绿色矩形。

图示:Unity,高亮显示了层级视图中的座位位置对象。

为椅子添加动画

动画可以以与导入椅子模型相同的方式导入到项目资源文件夹中。导入动画文件后,确保在 Rig tab(骨架选项卡)下将动画设置为 Humanoid animation type(人形动画类型)。将动画文件拖到座位位置组件下的 Animation slot(动画插槽)中。您现在应该能在绿色矩形内看到动画的线框视图。

图示:动画插槽位于座位位置组件内。

添加动画后,您可能会发现它迫使您的虚拟形象穿过椅子,或者需要进行其他调整。您可以通过在层级视图中选择 Seat Position game object(座位位置游戏对象),并使用 Unity 的移动工具将其移动到正确的位置来实现这一点。

图示:调整座位位置组件可以修复对于所选椅子而言过低或过高的动画。

信息

如果男性和女性虚拟形象需要不同的动画,您可以使用男性/女性动画插槽,并将通用动画插槽留空。

进行最终调整

现在,您可以在上传之前对模型或动画位置进行任何最终调整。线框动画也是调整椅子模型整体大小的极佳参考。

图示:调整椅子模型的大小/位置以及链接动画的位置。高亮显示了 Unity 的移动工具。

添加房间家具组件

为了将椅子对象上传到 Breakroom,我们需要添加房间家具组件。在层级视图中选择 父游戏对象,然后单击位于检查器面板底部的 Add Component button(添加组件按钮)来添加房间家具组件。Breakroom 要求所有椅子对象都放置在地面上,因此在 Placement(放置)下勾选“Place on Floor”(放置在地面)选项。

最后,在层级视图中选择 椅子模型 本身,并将其拖到 Main Collider slot(主碰撞体插槽)中。椅子模型包含我们之前安装的网格碰撞体。

图示:Unity,高亮显示了房间家具组件的相关部分。

添加虚拟商品组件

接下来,我们将向父游戏对象添加虚拟商品组件。这是游戏对象的主要设置组件,包含物品的名称、类别、库存图像等信息。

在层级视图中选择 父游戏对象,然后单击位于检查器面板底部的 Add Component button(添加组件按钮)来添加虚拟商品组件。请仔细阅读此组件中的说明。红色警告图标表示缺少必需信息,而黄色警告图标表示强烈建议提供但非必需的信息。

在本教程中,我们将 Type(类型)设置为 Furniture(家具),将 Category(类别)设置为 Furniture/Chair(家具/椅子),并为椅子提供名称和描述。我们还将在此 Author tab(作者选项卡)下为其指定品牌名称和作者。

图示:Unity,高亮显示了虚拟商品组件的相关部分。

预制件和上传

要完成椅子制作,您需要将 父游戏对象 拖到项目面板中以创建预制件。然后,您可以 右键单击该预制件 并选择 Upload to Sinespace(上传到 Sinespace)来上传该物品。

图示:将父游戏对象拖到项目面板以完成制作。

将自定义椅子与会议系统集成

危险

本节目前正在建设中。如果您有任何此处未解答的问题,请联系我们的 客户成功团队

有用信息

命名约定

在将椅子集成到会议系统时,Breakroom 使用名称标签允许/忽略系统。为了便于设置,我们强烈建议您制定并遵循简单的命名约定。例如,一系列礼堂椅子可以命名为 Auditorium_Chair 1、Auditorium_Chair 2 等。

多座位捆绑包

您可以将一组座位/家具作为单个游戏对象上传,而不是单独上传它们。只需确保遵循上述命名约定即可。

允许世界内编辑

您可以通过从 虚拟商品组件Details tab(详细信息选项卡)下的 Inworld Customization menu(世界内自定义菜单)中选择 Full(完整)来允许在世界内编辑家具。