Unity 6.3
0 онлайн 79 гостей 3 в системе
Вход

PrefabUtility.ApplyObjectOverride

Declaration

public static void ApplyObjectOverride(Object instanceComponentOrGameObject, string assetPath, InteractionMode action);

Параметры

Параметр Описание
instanceComponentOrGameObject Объект на экземпляре Префаб, который будет применен.
assetPath Путь ассета Префаб для применения.
действия Режим взаимодействия для этого действия.

Описание

Применяет все переопределенные свойства на компоненте экземпляра Префаб или GameObject к ассету Префаб в заданном пути ассета.

Этот метод позволяет применять измененные значения свойств к существующему Префаб. Он зеркально копирует Применить в редакторе, как это описано в разделе Применить переопределения к ассету префаб Для использования этого метода необходимо сначала изменить одно или несколько значений свойств в существующем экземпляре Префаб.

Если в качестве параметра object передан GameObject, применяются только переопределения самого GameObject (слой, тег, статические флаги), но не его компонентов и дочерних объектов. Если передан Component, применяются только переопределения этого компонента. Чтобы применить все переопределения префаба, можно использовать PrefabUtility.ApplyPrefabInstance.

Измененные значения свойств в экземпляре Префаб являются типом Переопределение экземпляра. Применение измененных значений свойств к Префаб означает, что измененные значения становятся частью ассета Префаб и больше не переопределяются.

При применении измененных значений свойств к Префаб Ассет, в качестве параметра необходимо указать путь к ассету. Это объясняется тем, что в некоторых ситуациях существует несколько возможных целей для применения изменения. Например, если значения свойств были изменены на GameObject которое является частью вложенные Префаб, у вас может быть возможность применить изменение к внутреннему вложенному ассету Префаб или к внешнему корневому ассету Префаб. Поэтому, указывая путь ассета, вы ясно указываете Unity, к какому ассету Префаб должно быть применено изменение.

Более подробную информацию см. Переопределение экземпляров префаб.

Дополнительные ресурсы: PrefabUtility.ApplyAddedComponent, PrefabUtility.ApplyAddedGameObject, PrefabUtility.ApplyPropertyOverride, PrefabUtility.ApplyRemovedComponent, PrefabUtility.ApplyPrefabInstance, PrefabUtility.ApplyRemovedGameObject.