要编辑预制件资源,请在预制件模式下将其打开。预制件模式允许查看和编辑预制件资源的内容(独立于场景中的所有其他游戏对象)。在预制件模式下所做的更改会影响该预制件的所有实例。
可以单独或在上下文中编辑预制件资源。
单独:单独编辑预制件时,Unity 会隐藏当前工作场景的其余部分,只能看到与预制件本身相关的游戏对象(以及可选的预设编辑环境 - 请参阅下文)。
在上下文中:在上下文中编辑预制件时,当前工作场景的其余部分仍然可见,但处于锁定状态,无法编辑。
可以通过多种方式开始在预制件模式下编辑预制件。要打开预制件资源并单独进行编辑,可以通过以下方式执行此操作:
单独进入预制件模式时,Unity 在 Scene 视图和 Hierarchy 窗口中仅显示该预制件的内容。在下图中,预制件的根是常规游戏对象:没有蓝色的预制件实例图标。
在预制件模式下,Scene 视图会在顶部显示一个示踪导航栏。最右边的条目是当前打开的预制件。使用示踪导航栏可导航回主要场景或可能已打开的其他预制件资源。
Hierarchy 窗口在顶部显示一个预制件标题栏,其中显示当前打开的预制件。可以使用标题栏中的后退箭头向后导航一步,这相当于单击 Scene 视图的示踪导航栏中的上一级示踪导航。
或者,可以通过预制件的实例在上下文中打开预制件资源。执行该操作的方式包括:
默认情况下,Unity 以灰度显示上下文的视觉表示,以在视觉上将它与编辑的预制件内容区分开来。但是,可以使用预制件栏中的 Context: 控件将它设置为以下任何状态:
不能选择属于上下文一部分的游戏对象,它们也不会显示在 Hierarchy 窗口中。这样便可以专注于编辑预制件而不会意外地选择其他不相关的游戏对象,并且没有混乱的 Hierarchy 窗口。但是,移动属于预制件内容一部分的游戏对象时,可以使用 Unity 中的贴靠功能贴靠到上下文中的游戏对象(前提是上下文未设置为 Hidden)。
在上下文中的预制模式下,Unity 会在与用于打开预制件的预制件实例位置匹配的位置处显示预制件内容。这意味着可以在位置和旋转值与预制件资源实际具有的值不同的情况下,预览预制件内容的根变换。
无法在上下文中的预制件模式下编辑这些值。如果需要编辑它们,可以单独打开预制件,或者在 Project 窗口中选择预制件资源并在 Inspector 中编辑值。
除了根变换属性之外,还可以覆盖预制件实例的其他属性,与预制件作为其实例的预制件资源相比,这些属性可能会彻底更改其外观。要从预制件实例预览这些覆盖的值,请在上下文中的预制件模式下,启用预制件栏中的 Show Overrides 开关。启用此设置后,对预制件实例覆盖的任何属性都可采用与预制件上下文中相同的方式进行预览,无法编辑它们。要编辑这些属性,请再次禁用 Show Overrides 开关。
预制件模式在 Scene 视图的右上角有一个 Auto Save 设置。启用此设置后,Unity 会将对预制件进行的任何更改自动保存到预制件资源。默认情况下会启用 Auto Save。
如果希望在进行更改时不自动将这些更改保存到预设资源,请禁用 Auto Save 复选框。在这种情况下,当退出当前预制件的预制件模式时,Unity 会询问是否要保存未保存的更改。如果在预制件模式下编辑预制件时看起来很慢,关闭 Auto Save 可能会有所帮助。
通过预制件资源打开预制件模式时,Unity 会单独显示预制件的内容。但是,在 Hierarchy 窗口中通过预制件实例打开预制件模式时,这会在上下文中打开预制件模式。
以这种方式打开预制件模式时,可以在 Scene 视图中看到预制件实例的上下文,即使未在编辑实例而是在编辑预制件资源本身。例如,如果在场景中通过预制件实例在上下文中打开预制件模式,则可以在编辑预制件期间,在该场景中看到周围环境。预制件也采用与场景中相同的光照条件进行显示。
如果具有不想在上下文中打开,而是想单独打开的预制件实例,请按住 Alt 键并单击 Open 按钮或箭头按钮以打开预制件模式。还可以在 Shortcuts 窗口中为命令 Stage > Edit Prefab in Isolation 设置自定义快捷方式。
在预制件模式下对预制件资源进行更改时,只能在仍处于预制件模式下时才能撤消这些更改。在给定的预制件资源退出预制件模式后,与该预制件资源有关的编辑在撤消历史记录中将不再可用。
可以将场景分配为编辑环境以便与单独的预制件模式一起使用。这样可以根据所选择的背景(而不是空场景)编辑预制件。这对于了解预制件与所选择的特定景物的对比情况非常有用。仅当单独打开预制件模式时,Unity 才会使用此编辑环境。
在预制件模式下,无法选择指定为编辑环境的场景中的游戏对象,它们也不会在 Hierarchy 窗口中显示。这样便可以专注于编辑预制件而不会意外地选择其他不相关的游戏对象,并且没有混乱的 Hierarchy 窗口。
要将场景设置为编辑环境,请打开 Editor 窗口(顶部菜单:Edit > Project Settings,然后选择 Editor 类别),然后选择 Prefab Editing Environment 部分。对于“非 UI”预制件,请使用 Regular Environment 设置,而对于 UI 预制件,请使用 UI Environment 设置。UI 预制件是根处具有矩形变换组件,而不是常规变换组件的预制件。“非 UI”预制件是具有常规变换组件的预制件。