instanceRoot | 给定 Prefab 实例的根目录。 |
action | 此操作的交互模式。 |
将 Prefab 实例上的所有覆盖内容应用到其 Prefab 资源。
此方法允许将 Prefab 实例的完整修改状态应用到其源 Prefab 资源,其中包括所有属性覆盖、添加和删除的组件及添加的子游戏物体(包括添加的子 Prefab 实例)。
它与编辑器中覆盖菜单中“应用全部”按钮的功能相同。要使用此方法,必须首先以某种方式修改现有的 Prefab 实例,例如修改属性或添加或删除游戏物体或组件。
尚未应用到 Prefab 实例上的修改被称为实例覆盖内容。应用修改意味着修改将成为 Prefab 资源的一部分,不再是覆盖内容。
使用此方法将所有修改应用到 Prefab 资源(对于嵌套 Prefab 或 Prefab 变体)时,更改始终应用到最外层的 Prefab。要将更改应用到内部 Prefab,可以使用其他方法,例如 PrefabUtility.ApplyAddedComponent、PrefabUtility.ApplyAddedGameObject、PrefabUtility.ApplyRemovedComponent、PrefabUtility.ApplyRemovedGameObject 和 PrefabUtility.ApplyObjectOverride。
不能应用 Prefab 实例中根游戏物体的变换位置和旋转,也不能应用其他默认覆盖属性。
您可以在用户手册中阅读更多关于修改预制件实例并应用更改的内容。
其他资源:PrefabUtility.ApplyPrefabInstances、PrefabUtility.ApplyAddedComponent、PrefabUtility.ApplyAddedGameObject、PrefabUtility.ApplyObjectOverride、PrefabUtility.ApplyPropertyOverride、PrefabUtility.ApplyRemovedComponent、PrefabUtility.ApplyRemovedGameObject。