版本:Unity 6 (6000.0)
语言:English
创建预制体
实例覆盖

在预制模式下编辑预制体

要编辑一个预制体一种资产类型,允许您存储一个完整的游戏对象,包括组件和属性。预制体充当模板,您可以从中在场景中创建新的对象实例。 更多信息
参见 术语表
资产,请在预制模式中打开它。预制模式允许您单独查看和编辑预制体资产的内容,而与场景中的任何其他游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的函数由附加到它的组件定义。 更多信息
参见 术语表
无关。在预制模式中所做的更改会影响该预制体的所有实例。

进入和退出预制模式

您可以独立在上下文中编辑预制体资产。

Left: editing a Prefab in isolation. Right: editing a Prefab in context.
左:独立编辑预制体。右:在上下文中编辑预制体。
  • 独立:当您独立编辑预制体时,Unity 会隐藏您当前的工作场景的其余部分,您只会看到与预制体本身相关的游戏对象(以及可选的预设编辑环境 - 请参见下文)。

  • 在上下文中:当您在上下文中编辑预制体时,您当前的工作场景的其余部分仍然可见,但被锁定无法编辑。

独立编辑

您可以通过多种方式开始在预制模式下编辑预制体。要打开预制体资产并独立编辑它,您可以通过以下方式进行

  • 双击项目窗口中的预制体资产
  • 项目窗口显示您的Assets文件夹(项目选项卡)内容的窗口 更多信息
    参见 术语表
    中选择一个预制体资产,然后单击检查器窗口中的打开预制体按钮
A Prefab Asset selected in the Project window (left), and the Open Prefab button visible in the inspector (right)
在项目窗口中选择的预制体资产(左),以及在检查器中可见的打开预制体按钮(右)

当您独立进入预制模式时,Unity 仅在场景视图您正在创建的世界中的交互式视图。您使用场景视图来选择和放置场景、角色、摄像机、灯光和所有其他类型的游戏对象。 更多信息
参见 术语表
和层次结构窗口中显示该预制体的内容。在下图中,预制体的根是一个普通游戏对象 - 它没有蓝色的预制体实例图标。

The Scene view and Hierarchy, with Prefab Mode in isolation
场景视图和层次结构,独立预制模式

在预制模式下,场景视图在顶部显示一个面包屑栏。最右侧的条目是当前打开的预制体。使用面包屑栏导航回主场景或您可能已打开的其他预制体资产。

The breadcrumb bar at the top of the Scene view, visible when in Prefab Mode
场景视图顶部的面包屑栏,在预制模式下可见

层次结构窗口在顶部显示一个预制体标题栏,其中显示了当前打开的预制体。您可以使用标题栏中的后退箭头导航回上一步,这等效于单击场景视图中面包屑栏中的前一个面包屑。

The back arrow in the header bar of the Hierarchy window, visible when in Prefab Mode
层次结构窗口标题栏中的后退箭头,在预制模式下可见

在上下文中编辑

或者,您可以通过预制体的实例在上下文中打开预制体资产。执行此操作的方法包括

  • 在层次结构窗口中选择一个预制体实例,然后单击检查器窗口中的打开按钮
  • 在层次结构窗口中选择一个预制体实例,然后按键盘上的P键。这是默认的键盘绑定
  • 使用层次结构窗口中预制体实例旁边的箭头按钮
The Open button in the Inspector when a Prefab Instance is selected
选择预制体实例时检查器中的打开按钮
The arrow button next to a Prefab in the Hierarchy window
层次结构窗口中预制体旁边的箭头按钮

默认情况下,Unity 会以灰度显示上下文的视觉表示,以便在视觉上将其与您编辑的预制体内容区分开来。但是,您可以使用预制体栏中的上下文:控件将其设置为以下任何状态

  • 正常 - 以其正常颜色显示上下文
  • 灰色 - 以灰度显示上下文
  • 隐藏 - 完全隐藏上下文,以便仅可见预制体内容
The Prefab Mode controls in the Prefab bar in at the top of the Scene view, including the Context control and the Show Overrides toggle
场景视图顶部预制体栏中的预制模式控件,包括上下文控件和显示覆盖切换

您无法选择构成上下文一部分的游戏对象,它们也不会显示在层次结构中。这样可以专注于编辑预制体,而不会意外选择其他不相关的游戏对象,并且不会使层次结构窗口变得杂乱。但是,当您移动构成预制体内容一部分的游戏对象时,您可以使用 Unity 中的吸附功能吸附到上下文中的游戏对象,前提是上下文未设置为隐藏

在上下文中预制模式下,Unity 会在与通过其打开的预制体实例的位置相匹配的位置显示预制体内容。这意味着您可能以与预制体资产实际具有的不同的位置和旋转值预览预制体内容的根变换变换层次结构顶部的变换。在预制体中,根变换是预制体中顶层的变换。在动画类人角色中,根变换是身体变换在 Y 平面上的投影,并在运行时计算。在每一帧中,都会计算根变换的变化,然后将其应用于游戏对象以使其移动。 更多信息
参见 术语表

您无法在上下文中预制模式下编辑这些值。如果您需要编辑它们,您可以独立打开预制体,或者在项目窗口中选择预制体资产并在检查器中编辑这些值。

除了根变换属性外,您还可以覆盖预制体实例的其他属性,这可能会与其所属的预制体资产相比极大地改变其外观。要在上下文中预制模式下预览预制体实例中的这些覆盖值,请启用预制体栏中的显示覆盖切换。启用此设置后,您在预制体实例上覆盖的任何属性都将以相同的方式在预制体上下文中预览,并且您无法编辑它们。要编辑这些属性,请再次禁用显示覆盖切换。

自动保存

预制模式在场景视图的右上角有一个自动保存设置。启用后,Unity 会自动将您对预制体所做的任何更改保存到预制体资产。自动保存默认处于打开状态。

The Auto Save toggle in the upper right corner of the Scene view in Prefab Mode
预制模式下场景视图右上角的自动保存切换

如果您想进行更改而不自动将这些更改保存到预设资产,请禁用自动保存复选框。在这种情况下,当您退出当前预制体的预制模式时,Unity 会询问您是否要保存未保存的更改。如果在预制模式下编辑预制体似乎很慢,则关闭自动保存可能会有所帮助。

在独立模式或上下文模式之间切换

当您通过预制体资产打开预制模式时,Unity 会独立显示预制体的内容。但是,当您通过层次结构窗口中的预制体实例打开预制模式时,这会打开上下文中预制模式

当您以这种方式打开预制模式时,即使您不是在编辑实例而是在编辑预制体资产本身,您也可以在场景视图中看到预制体实例的上下文。例如,如果您通过场景中的预制体实例在上下文中打开预制模式,那么您可以在编辑预制体时看到该场景中的周围环境。预制体也以与场景中相同的照明条件显示。

A Prefab opened in Prefab Mode in Context, with the surrounding context displayed in gray scale
在上下文中打开的预制模式,周围上下文以灰度显示

如果您有一个不想在上下文中打开,而是想独立打开的预制体实例,请按住Alt键并单击打开按钮或箭头按钮以打开预制模式。您也可以在快捷键窗口中为命令舞台>独立编辑预制体设置自定义快捷键。

撤消

当您在预制模式下对预制体资产进行更改时,您只能在仍然处于预制模式时撤消这些更改。一旦您退出给定预制体资产的预制模式,与该预制体资产相关的编辑将不再在撤消历史记录中可用。

编辑环境

您可以将场景分配为编辑环境,以便与独立预制模式一起使用。这允许您根据您选择的背景编辑预制体,而不是空场景。这对于查看预制体在您选择的特定场景中的外观非常有用。仅当您独立打开预制模式时,Unity 才会使用此编辑环境。

当处于预制模式时,您无法选择分配为编辑环境的场景中的游戏对象,它们也不会显示在层次结构中。这样可以专注于编辑预制体,而不会意外选择其他不相关的游戏对象,并且不会使层次结构窗口变得杂乱。

要将场景设置为编辑环境,请打开编辑器窗口(顶部菜单:编辑>项目设置,然后选择编辑器类别)并转到预制体编辑环境部分。对于“非 UI”预制体,使用常规环境设置,对于 UI 预制体,使用UI 环境设置。UI 预制体是指在根部具有矩形变换组件而不是普通变换组件的预制体。“非 UI”预制体是指具有普通变换组件的预制体。

Prefab editing environment settings in the Editor Project Settings
编辑器项目设置中的预制体编辑环境设置
创建预制体
实例覆盖