Логотип проекта Unity

Введение в новый процесс работы с префабами

Введение в новый процесс работы с префабами

Оригинал: Блог.Unity

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

Вступление

Начнем с пересказа основ префабов в Unity. Фундаментально, ассеты префабов в Unity - это как шаблоны игровых объектов и их Child-ов. Вы можете создавать множество копий префабов на сцене. Если ассет был изменен, то все размещенные префабы на сцене также будут соответственно обновлены.

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

Для решения многих проблем были введены несколько важных новых фич. Была реализована обратная совместимость префабов, так что теперь они поддерживают вложенность и наследование. Была улучшена визуализация свойств и обьектов, которые переопредлеяются конкретным префабом размещенным на сцене. Также была добавлена возможность применения переопределения параметров на разном уровне: на каждое свойство, на весь компонент или игровой объект или как ранее на весь объект префаба на сцене. И напоследок - добавлен новый режим Prefab Mode для возможности изолированного редактирования префаба.

Prefab Mode

Новый режим позволяет визуально разделить процесс редактирования ассета префаба от обычного префаба размещенного на сцене.

Режим работы с префабом дает вам больший контроль редактирования ассета, поэтому что вы можете производить любые изменения, включая структурные без странных диалогов предупреждающих вас, что связь с ассетом будет потеряна. В новом режиме вам больше не нужно будет производить временные изменения над инстансом префаба с применением этих изменений потом на сам ассет (с возможностью получить какие-либо сайд эффекты в зависимости от прошлых переопределений значений). Рекомендуется теперь использовать именно Prefab Mode для изменения ассета. Также был улучшен процесс переопределения свойств объекта.

Prefab Mode отделяет иерархию и вид сцены для показа ассета в изоляции. Вы можете теперь легко понять, что находитесь в новом режиме благодаря новой шапке в иерархии и окне вида сцены. Кроме того, фоновый цвет может быть настроен в настройках :)

Введение в новый процесс работы с префабами — Unity — DevTribe: Разработка игр (блог.unity, Перевод, перевод, префабы)

Работа с ассетами префабов

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

Работа с объектами префабов на сцене

Теперь для реализации наследования префабов вы больше не можете отсоеденить инстанс префаба для произведения структурных изменения. Вам необходимо удалить игровой объект, пересоздать с нужной иерархией через изменение связки с Transform или Rect Transform или чем-то подобным. Но вы теперь можете делать все эти вещи более удобным способом в режиме редактирования префабов - Prefab Mode. А также вы можете распаковать префаб, превратив его в обычный набор объектов на сцене и делать с ним все что угодно.

Предварительная сборка

Был введен новый термин - "stage" в редакторе, как концепт для набора игровых объектов изолированных от других объектов. Когда вы находитесь в режиме Prefab Mode, навигатор сверху окна сцены показывает разные уровни изменений. Каждый уровень (stage) представляет собой отдельный "мир". По-умолчанию, все имеет главный уровень (Main Stage), который является состоянием всей сцены, которую вы видите. Когда открывается режим работы с префабами, создается новый уровень изменений - "Prefab Stage" для контента префаба. При этом предыдущее изменение не выгружается из памяти и вы можете его наблюдать, не закрывая окно префаба.

Для навигации между состояниями (stages) вы можете использовать панель навигации сверху окна сцены.

Новый процесс работы с префабами в действии

Как это попробовать???

Скачать предварительную сборку можно по этой ссылке

Здесь еще никто не оставил комментарий