PrefabUtility.ApplyPrefabInstance
Declaration
public static void ApplyPrefabInstance(GameObject instanceRoot, InteractionMode action);Параметры
| Параметр | Описание |
|---|---|
| instanceRoot | Корень указанного экземпляра Префаб. |
| действия | Режим взаимодействия для этого действия. |
Описание
Применяет все переопределения экземпляра Префаб к его ассету Префаб.
Этот метод позволяет применить полное изменённое состояние экземпляра Prefab к исходному ресурсу Prefab. Сюда входят все переопределения свойств, добавленные и удалённые компоненты, а также добавленные дочерние GameObject (в том числе добавленные дочерние экземпляры Prefab).
Он соответствует действию кнопки «Apply All» в меню переопределений Редактора. Перед использованием этого метода необходимо каким-либо образом изменить существующий экземпляр Prefab: например, изменить свойства, добавить или удалить GameObject либо компоненты.
Изменения экземпляра Prefab, которые ещё не были применены, называются переопределениями экземпляра. После применения изменения становятся частью ресурса Prefab и больше не считаются переопределениями.
Если этим методом применить все изменения к ресурсу Prefab для вложенных Prefab или вариантов Prefab, изменения всегда применяются к самому внешнему Prefab. Чтобы применить изменения к внутренним Prefab, используйте другие методы, например PrefabUtility.ApplyAddedComponent, PrefabUtility.ApplyAddedGameObject, PrefabUtility.ApplyRemovedComponent, PrefabUtility.ApplyRemovedGameObject и PrefabUtility.ApplyObjectOverride.
Положение и поворот Transform корневого GameObject в экземпляре Prefab применить нельзя; это также относится к другим свойствам переопределения по умолчанию.
Подробнее см. в руководстве пользователя в разделе об изменении экземпляров Prefab и применении изменений.
Дополнительные ресурсы: PrefabUtility.ApplyPrefabInstances, PrefabUtility.ApplyAddedComponent, PrefabUtility.ApplyAddedGameObject, PrefabUtility.ApplyObjectOverride, PrefabUtility.ApplyPropertyOverride, PrefabUtility.ApplyRemovedComponent, PrefabUtility.ApplyRemovedGameObject.