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

PrefabUtility.IsDefaultOverride

Declaration

public static bool IsDefaultOverride(PropertyModification modification);

Параметры

Параметр Описание
изменения Модификация для рассматриваемого свойства.

Возвращаемое значение

логическое True, если свойство является переопределением по умолчанию.

Описание

Возвращает true, если данная модификация считается переопределение по умолчанию.

Некоторые свойства в корне GameObject экземпляра Префаб считаются переопределениями по умолчанию. Они переопределяются по умолчанию и обычно редко применяются или возвращаются. Большинство операций применения и возврата игнорируют переопределения по умолчанию.

Переопределения по умолчанию:

Корень GameObject — имя

Root Transform - localPosition - localRotation - localEulerAnglesHint (internal property) - rootOrder (internal property)

Root RectTransform — те же свойства, что и в Transform — anchoredPosition — sizeDelta — anchorMin — anchorMax — pivot

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

Команды Apply All и Revert All для экземпляра префаба не затрагивают переопределения по умолчанию. Применить или отменить такое переопределение можно только через контекстное меню самого свойства. Этому соответствуют методы PrefabUtility.ApplyPropertyOverride и PrefabUtility.RevertPropertyOverride.

Поскольку на них не влияют большинство операций apply и revert, переопределения по умолчанию, которые переопределяются, не получают синего поля в Inspector, как другие переопределяемые свойства. Они также не появляются как переопределения в раскрывающемся списке Overrides. Они, однако, выделены жирным шрифтом, когда переопределяются, чтобы можно было определить, переопределены они или нет.

Переопределения по умолчанию существуют только для корня GameObject (и его Transform/RectTransform) в самом внешнем экземпляре префаб. Это включает в себя самые внешние экземпляры префаб внутри других префабы, как в режиме редактирования префаб.