instanceGameObject | Prefab 实例中的该组件已被从中移除的 GameObject。 |
assetComponent | Prefab 资产中对应于实例中所移除组件的组件。 |
action | 此操作的交互模式。 |
从拥有该组件的 Prefab 资产中移除该组件。
从 Prefab 实例中移除组件时,该修改是一种 实例覆盖。将更改(移除该组件)应用于 Prefab 意味着该组件从 Prefab 资产本身中移除,并且不再是 Prefab 实例上的覆盖。
此方法允许您将“已移除的组件”更改应用于现有 Prefab。它映射了编辑器中的功能,请参阅 此处 的用户手册。要使用此方法,您必须先从现有 Prefab 实例中移除一个组件。
将已移除的组件应用于 Prefab 资产时,您必须提供资产路径作为参数。这是因为在某些情况下,有多个可能的应用更改的目标。例如,如果该组件从作为 嵌套 Prefab 实例一部分的 GameObject 中移除,您可能可以选择将更改应用于内部嵌套 Prefab 资产或外部根 Prefab 资产。因此,通过指定资产路径,可以明确告知 Unity 必须将更改应用于哪个 Prefab 资产。
您可以在用户手册中进一步了解 应用目标的选择。
附加资源:PrefabUtility.ApplyAddedComponent、PrefabUtility.ApplyAddedGameObject、PrefabUtility.ApplyObjectOverride、PrefabUtility.ApplyPropertyOverride、PrefabUtility.ApplyPrefabInstance、PrefabUtility.ApplyRemovedGameObject。