实例覆盖值以数据形式存储在 场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是在分段设计和构建游戏。 更多信息
参见 术语表 或 预制件一种资产类型,允许您存储带有组件和属性的完整游戏对象。预制件充当模板,您可以从中在场景中创建新的对象实例。 更多信息
参见 术语表 中定义它们的位置。但是,如果覆盖的目标对象无效,或者其 属性路径 未知,则覆盖将变为“未使用”。在这种情况下,数据变为未使用。它仍然存储在场景文件中,但冗余。
例如,如果您覆盖附加到预制件的 脚本 上 公共字段 的值,然后删除脚本,则包含覆盖值的数据将变为未使用,因为它针对不再存在的对象。
如果您删除公共字段定义,或对其重命名,则覆盖数据也将变为未使用,因为 属性路径 不再与存储的数据匹配,尽管组件对象本身仍然存在。
由于 Unity 不会自动删除未使用的覆盖数据,因此,如果您还原已删除的脚本,或字段定义,则覆盖数据将再次变为使用,并像以前一样应用为覆盖。
如果您不想保留未使用的覆盖数据,可以使用 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表 中的 覆盖 菜单,或从 层次结构 窗口中的上下文菜单中检查并删除它们。删除包括所有未使用的覆盖,Unity 将删除内容的详细信息写入 编辑器日志。
Unity 编辑器无法自动确定何时或是否应清理未使用的数据,因为您可能暂时或意外地移动了数据引用的对象或属性,并且您可能稍后将其恢复。删除您知道不再需要的未使用的覆盖数据可以被认为是最佳实践,因为它意味着您的场景文件只包含有用的数据,这有助于使 版本控制一个管理文件更改的系统。您可以将 Unity 与大多数常见的版本控制工具结合使用,包括 Perforce、Git、Mercurial 和 PlasticSCM。 更多信息
参见 术语表 和协作更简单。
注意:您可以使用 FormerlySerializedAsAttribute 重命名公共字段并保留相关覆盖的值,该属性执行名称转换以将字段的旧名称映射到其新名称。
使用检查器检查并删除未使用的覆盖
注意:未使用的覆盖面板支持多选,并显示未使用的覆盖的总数,以及受影响的实例数量,但它只显示字段名称、游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、相机、路点等等。游戏对象的函数通过附加到它的组件来定义。 更多信息
参见 术语表 名称和值,最多三个未使用的覆盖,如下例所示
从层次结构窗口检查并删除未使用的实例覆盖
注意:您可以通过右键单击层次结构中场景的名称而不是单个游戏对象来删除整个场景中的所有未使用覆盖。