Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Переопределения Префаба на нескольких уровнях

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

Выбор цели применения

Если у вас есть экземпляр префаба, внутри которого есть вложенные префабы или который является вариантом префаба, у вас может быть выбор, к какому префабу применить переопределение.

Рассмотрите сборную «вазу», которая вложена в сборный «стол», а сценаСцена содержит среды и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
See in Словарь
содержит экземпляр префаба "Стол".

Префаб «Ваза», вложенный в префаб «Стол».
Префаб «Ваза», вложенный в префаб «Стол».

Если в этом экземпляре свойство "Ваза" переопределено, это переопределение может быть применено к нескольким префабам: "Ваза" или "Стол".

Кнопка Применить все в раскрывающемся окне «Переопределения» позволяет применить переопределение только к внешнему префабу — в данном случае к «Столу». Но выбор цели применения доступен либо через контекстное меню, либо через представление сравнения для отдельных компонентов в раскрывающемся окне «Переопределения».

В этом примере, если выбрать Применить к префабу "Ваза", значение применяется к префабу "Ваза" и используется для всех экземпляров префаба "Ваза".

И, если вы выберете Применить как переопределение в префабе «Стол», значение станет переопределением экземпляра «Вазы», ​​который находится внутри префаба «Стол». Свойство больше не помечается как переопределение для экземпляра в Сцене, но если вы открываете префаб «Таблица» в режиме префаба, свойство экземпляра префаба «Ваза» помечается там как переопределение.

Сам префаб-актив «Ваза» никак не затрагивается при переопределении в качестве переопределения в сборном активе «Стол». Это означает, что все экземпляры префаба «Стол» теперь имеют новое значение в своем экземпляре префаба «Ваза», но другие экземпляры префаба «Ваза», которые не являются частью префаба «Стол», не затрагиваются.

Если позже изменить свойство самого префаба «Ваза», это повлияет на все экземпляры префаба «Ваза», за исключением случаев, когда это свойство переопределено. Поскольку это изменение переопределено для экземпляра «Ваза» внутри префаба «Стол», это изменение не повлияет ни на один из экземпляров «Вазы», ​​являющихся частью экземпляров «Стол».

Применение к внутренним префабам может повлиять и на внешние префабы

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

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


  • Добавлены вложенные префабы и варианты префабов в Unity 2018.3
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3