为了保持资产在您的团队或多个项目之间的组织和可重用性,您可以将实例分组并将其转换为可重用的 包。包使构建世界的整体过程更快、更符合人体工程学,同时也有助于一致性、去重、协作和版本控制:
- 设置包在有新版本时 自动更新。
- 给予协作者对包内容的 编辑 或 使用 权限。
- 查看包的完整版本历史,比较版本,并恢复旧版本。
最有效的工作流程是 创建一个包,与任何协作者 共享,并 设置为自动更新。您不必等到模型“完成”后再将其用于包中。即使包是简单形状上的占位符,您也可以用它来 灰盒化您的环境,然后在发布更详细的版本时让占位符副本自动更新。
创建包
您可以从任何单个对象或任何单个父对象及其子对象分支创建包。如果您想为单个对象创建包,请先将其添加到 Model 分组中,以便稍后可以在包内添加、删除或缩放子对象,而不会破坏包。
要创建包:
在 资源管理器 窗口或 3D 视口中,右键单击您想要转换为包的对象,并在上下文菜单中选择 转换为包。
在新窗口中,填写包的详细信息。特别是,如果您在一个 组 中工作,请将 所有权 设置为您有权限创建/编辑组游戏的适当组。
点击 提交。
转换完成后,该对象在 资源管理器 窗口中会收到一个“链环”符号,以标识它是一个包。此外,您可以看到一个新的 PackageLink 对象作为该对象的父对象。

插入包
要插入当前地方中尚不存在的包,您必须 最初 从 工具箱 中插入它:


一旦您将包插入到已发布地方的数据模型中,它将出现在 资产管理器 中,即使您稍后删除了所有副本,它也会保留在那里。
修改包
您可以像编辑其他对象一样编辑包及其子对象。修改包会禁用 自动更新,直到您 发布 或 还原 更改。
大多数编辑会将包标记为已修改,尽管以下更改 不 被视为包修改:
- 更改根节点的 名称。
- 更改包内 Weld 的部件引用,该引用指向包外的实例。
一旦被修改,具有未发布更改的包将在 资源管理器 窗口中获得一个修改图标:

添加或更新配置
您可以在包的根部包含 实例属性 以自定义其行为。当您发布包时,当前的属性/值集将成为包的 默认配置。在任何给定的包 副本 中,这些属性值可以按实例进行更改,并且这些更改通过 粗体斜体 进行标记。当包副本被 更新 时,修改的配置值将被保留,而其他属性将更新为最新的默认值。

嵌套包
您可以将包嵌套在其他包内,以维护和协作复杂的层次结构,例如一系列可以独立于车辆父包修改的车辆机制。
如果您修改了嵌套包,则嵌套包 和 父包都被视为已修改。在您允许发布对其 父 包的更改之前,必须 发布更改 到任何 嵌套 包,因为发布父包会将其标记为当前/未修改,并与嵌套包的修改冲突。
包脚本
每个 未修改 包中的脚本是只读的,并在顶部显示通知,带有解锁脚本的超链接。

单击超链接:
- 无论您是否编辑脚本,都会将包标记为已修改。
- 从包内 其他 脚本中删除通知/超链接。
一旦包被发布并移至 未修改 状态,其下的脚本变为只读,并带有修改的超链接。
发布包更改
您可以将对包的任何更改发布为新版本,使您的更新在整个地方和所有游戏中的其他包副本中可用。发布未修改的包并不是发布地方的必要条件,因为修改版本与地方一起保存以供将来迭代。
要发布对包的更改:
在 资源管理器 窗口或 3D 视口中,右键单击修改的副本并选择 发布到包。
- 可选添加更改的描述:
- 右键单击包并选择 包详情。
- 在 资产配置 窗口中,选择 版本。
- 在您最近的更改下,选择 添加。
- 描述您的更改,然后单击 提交 按钮。
更新过时副本
您可以将过时的包副本更新到最新版本,或者您可以继续使用旧版本。
在 资源管理器 窗口中,通过“下载”符号找到过时的副本。您也可以在 3D 视口中选择过时的副本。

右键单击过时的副本并选择 获取最新包。您还可以选择多个包,右键单击并选择 获取所选包的最新版本。
批量更新
广泛使用包可能会导致游戏中多个地方存在许多包副本。除了 单独同步 和 自动更新 外,您还可以通过 批量更新 更新所有包副本。
- 推荐关闭其他 Studio 实例,确保打开的地方是游戏中的任何地方;这可以防止另一个未保存的地方实例可能覆盖您的更新。
- 在 资源管理器 窗口或 3D 视口中,右键单击所需的包并选择 更新所有。
- 选择游戏中的所有地方或某些地方的子集,然后单击 更新。
自动更新
为了简化同步,您可以设置包副本在发布新版本时自动更新。包副本的自动更新将在地方在 Studio 中打开时进行。
在 资源管理器 窗口中,展开包的层次结构树并选择其 PackageLink 对象。

在 属性 窗口中,启用 AutoUpdate 属性。如果您有 嵌套包,此属性仅适用于最高级别的父包,这意味着只有在 父 包更新时才会发生自动更新。
共享和访问级别
您可以授予朋友、游戏、组或特定组用户角色权限,以便他们可以在其创作中自由使用您的包。有关资产访问的更多信息,请参见 资产隐私。
要更改协作者(例如朋友或组)的包权限:
在 资产配置 窗口中,选择 权限。
使用搜索栏,输入并选择您想要授予使用您包权限的协作者,然后选择权限级别。
权限 描述 使用和查看 协作者可以使用和查看(但不能编辑)当前和以前的包版本。一旦您给予协作者此能力,您无法撤销他们对已插入其游戏的副本的访问权限;撤销访问权限会阻止重新插入或包更新,但他们数据模型中的包副本保持不变。 编辑 协作者可以使用、查看和编辑当前和以前的包版本,包括发布对其的更改。
还原包更改
您可以 还原未发布的更改 一次性撤销一系列包更改,恢复包到以前的 版本,或还原特定 配置 的更改。
还原未发布的更改
要撤销一整系列 未发布 的更改:
在 资源管理器 窗口中,通过包图标上的点找到已修改的副本。您也可以在 3D 视口中选择已修改的副本。

右键单击单个已修改副本并选择 撤销对包的更改,或者选择多个副本(至少有一个已修改),右键单击并选择 撤销对所选包的更改。
恢复到发布版本
要将包恢复到 以前发布的 版本:
- 在 资产配置 窗口中,选择 版本。该窗口显示每个发布版本的详细信息,包括发布时间和任何更改的描述。
- 单击您想要恢复的版本旁边的勾选框,然后单击 提交。
还原配置
要将任何 配置 属性还原为其默认值,请在 属性 窗口的 属性 部分中,从其选项菜单中选择 重置。

比较包版本
当包有多个版本时,您可以使用差异查看器比较版本之间的更改。该工具具有一个包层次结构菜单,指示版本之间所有添加、删除或修改的实例,使用相应的图标,包括以下功能:
视觉概览 显示在不同相机位置下 3D 渲染的视觉差异。对于根对象为 3D 对象(模型、部件)的包,这是默认视图,目前仅适用于根对象。
属性 显示属性和属性的更改。对于根对象为非 3D 对象(脚本、灯光、2D 对象)的包,这是默认视图,并且适用于包中的所有实例。
脚本 显示逐行脚本差异。对于包含脚本的包,无论脚本是否为根对象,均可用。
要比较包版本:
在 资源管理器 或 3D 视口中,右键单击目标包并选择 包选项 ⟩ 比较包版本。
默认情况下,窗口比较您的本地副本与最新版本之间的更改。使用两个下拉菜单比较不同版本。

选择版本后:
如果适用,选择 视觉概览 选项卡以比较根模型的视觉渲染,并调整相机控制以获得所需角度。控制在视图之间是同步的:
- 使用左键单击平移相机。
- 使用右键单击旋转相机。
- 使用鼠标滚轮缩放相机。
- 使用键盘快捷键 F 重新居中。
要比较实例的属性和属性,请选择该实例和 属性 选项卡。
要比较包的脚本差异(如果包是脚本或包含脚本),请使用 脚本 选项卡。