版本:Unity 6(6000.0)
语言中文
  • C#

PrefabUtility.ApplyRemovedComponent

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有的提交,但我们确实会阅读用户建议的每项更改,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,无法提交您建议的更改。请在几分钟后 重试。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static void ApplyRemovedComponent(GameObject instanceGameObject, Component assetComponent, InteractionMode action);

参数

instanceGameObject Prefab 实例中的该组件已被从中移除的 GameObject。
assetComponent Prefab 资产中对应于实例中所移除组件的组件。
action 此操作的交互模式。

说明

从拥有该组件的 Prefab 资产中移除该组件。

从 Prefab 实例中移除组件时,该修改是一种 实例覆盖。将更改(移除该组件)应用于 Prefab 意味着该组件从 Prefab 资产本身中移除,并且不再是 Prefab 实例上的覆盖。

此方法允许您将“已移除的组件”更改应用于现有 Prefab。它映射了编辑器中的功能,请参阅 此处 的用户手册。要使用此方法,您必须先从现有 Prefab 实例中移除一个组件。

将已移除的组件应用于 Prefab 资产时,您必须提供资产路径作为参数。这是因为在某些情况下,有多个可能的应用更改的目标。例如,如果该组件从作为 嵌套 Prefab 实例一部分的 GameObject 中移除,您可能可以选择将更改应用于内部嵌套 Prefab 资产或外部根 Prefab 资产。因此,通过指定资产路径,可以明确告知 Unity 必须将更改应用于哪个 Prefab 资产。

您可以在用户手册中进一步了解 应用目标的选择

附加资源:PrefabUtility.ApplyAddedComponentPrefabUtility.ApplyAddedGameObjectPrefabUtility.ApplyObjectOverridePrefabUtility.ApplyPropertyOverridePrefabUtility.ApplyPrefabInstancePrefabUtility.ApplyRemovedGameObject