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