Настройка активов прототипа Snaps с помощью ProBuilder

MATT SCHELL / UNITY TECHNOLOGIESCollaborator
Oct 7, 2019|17 Мин
Настройка активов прототипа Snaps с помощью ProBuilder
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Недавно мы представили Snaps - пакеты активов, которые помогут воплотить ваши проекты в жизнь. Читайте дальше, чтобы узнать, как использовать Snaps для быстрой и простой компоновки уровней и как изменить активы, чтобы использовать их в своей игре.

Что такое активы Snaps Prototype?

Snaps Prototypes - это модульные прототипы, созданные полностью с помощью пакета 3D-моделирования ProBuilder от Unity. Они предназначены для крепления к сетке с помощью системы ProGrids. Созданные в реальном масштабе, они облегчают создание игрового окружения как для новичков, так и для дизайнеров среднего уровня. Впоследствии вы можете заменить прототип на высокодетализированные художественные объекты.

В настоящее время в магазине Asset Store доступно несколько пакетов активов Snaps с различными темами. Загляните сюда, чтобы узнать больше в ближайшее время. Мы хотим, чтобы вы могли создать прототип чего угодно.

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

Активы легкие и не содержат текстур. Вместо этого части сетки имеют различные материалы, назначенные для топологии. Тем не менее, они разворачиваются в ультрафиолете, что позволяет легко придать им текстуру, если вы захотите это сделать. Кроме того, после создания макета уровня вы можете заменить активы Snaps Prototype на собственные высокодетализированные сетки.

Структура пакета с защелками

Прежде чем мы начнем работать с нашими активами, давайте вкратце рассмотрим, как все устроено в типичном пакете Snaps.

Каждый пакет активов Snaps поставляется со скриптом, который автоматически загружает пакеты ProBuilder и ProGrids, если они еще не включены в ваш проект.

Все активы прототипов находятся в папке AssetStoreOriginals, в разделе _SNAPS_PrototypingAssets. Здесь вы найдете папку About, содержащую необходимую информацию о Snaps, а также все ваши активы. Ваши активы распределяются по категориям в соответствии с названиями пакетов (например, ModernOfficeInterior или SciFi_Industrial).

Каждый пакет Snaps Prototype содержит папку Prefabs, в которой находятся все 3D-сетки с назначенными им материалами, готовые для размещения по сцене. Имеется папка Materials с файлами материалов, назначенных для различных областей каждой модели, а также папка SampleScenes. Папка SampleScenes содержит примеры того, как активы могут быть размещены в окружении.

Давайте без лишних слов посмотрим, как можно быстро собрать что-то с нуля.

Создание прототипов с помощью защелок

Пришло время создать новую сцену и посмотреть, как мы можем организовать некоторые объекты Snaps в уровень!

Мы используем два пакета Snaps, доступных в настоящее время в магазине Asset Store, - Sci-Fi/Industrial и Office - для создания прототипа футуристических жилых помещений. Это также послужит вдохновением для разработки собственного реквизита для прототипирования в будущем.

После импорта Snaps в проект, а также ProGrids и ProBuilder, вы заметите, что в левом верхнем углу представления сцены появились новые элементы пользовательского интерфейса. Этот набор иконок является частью пакета ProGrids - он содержит все инструменты, необходимые для быстрого создания моделей. С помощью значка "Видимость сетки" на панели инструментов можно включить отображение сетки. Кроме того, с помощью значков X, Y, Z и 3D внизу вы можете выбрать ось, по которой будет отрисовываться сетка. Чуть ниже находится кнопка, управляющая привязкой сетки. Если эта функция включена, то при попытке перемещения объектов в сцене они будут перемещаться в пределах указанного интервала привязки. При желании можно включить масштабирование и угловую привязку. Ознакомьтесь с документацией ProGrids, если хотите узнать больше.

Давайте используем нашу сетку. Для этого мы можем взять одну из напольных плиток из пакета Sci-Fi/Industrial и перетащить ее в сцену. Затем используйте кнопку Push to Grid, чтобы сопоставить нашу новую плитку с сеткой с соответствующим инкрементом привязки (по умолчанию 1). Убедитесь, что функция Snapping включена. Теперь, если мы попытаемся переместить нашу плитку по сцене, она всегда будет привязываться с шагом в одну единицу. Вы также заметите, что шарнир плитки установлен на одном из ее углов, чтобы она всегда сцеплялась с другими плитками. Давайте добавим еще несколько плиток, выкладывая базовый пол нашего уровня.

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

Вот так просто можно начать использовать Snaps. Веселитесь, создавая новое игровое окружение! Далее мы узнаем о редактировании активов Snaps и создании новых с помощью ProBuilder.

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

Доступ к скрипту можно получить в разделе Snaps Snaps Swap Tool.

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

Вы также можете создавать индивидуальные вложенные префабы, используя активы Snaps Prototype. Скрипт поможет вам автоматически генерировать соответствующие им префабы высокого разрешения.

Редактирование активов Snaps с помощью ProBuilder

Что же будет, если мы захотим немного изменить один из реквизитов в пакете? Может быть, дать ему другой материал или изменить топологию? Обычно для этого требуется опыт работы с внешним пакетом 3D-моделирования. Однако, поскольку активы Snaps создаются с помощью ProBuilder, мы можем использовать его для редактирования любого из существующих реквизитов или создания новых, не выходя из редактора.

ProBuilder
Что такое ProBuilder?

ProBuilder - это совершенно бесплатный пакет для 3D-моделирования и редактирования уровней, доступный непосредственно в редакторе Unity. Шаги по установке ProBuilder можно найти в начале этой статьи. ProBuilder предлагает широкий набор инструментов для 3D-моделирования и особенно полезен для создания прототипов. Он также совместим с ProGrids, что упрощает создание точно позиционированной геометрии.

Мы не будем рассматривать весь набор инструментов ProBuilder здесь, но вы можете изучить подробную документацию и множество обучающих видео по этой теме. Если вы хотите заняться 3D-моделированием или найти более простой способ создания макетов уровней в Unity, это идеальное место для начала.

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

Выбор объекта

Затем перейдите в меню Инструменты → ProBuilder → Object → ProBuilderize. Это откроет новую панель инструментов ProBuilder в верхней части представления сцены и позволит нам редактировать сетку.

Нам также нужно открыть окно ProBuilder, чтобы получить доступ к остальным инструментам 3D-моделирования. Для этого перейдите в меню Tools → ProBuilder → ProBuilder Window и прикрепите его в удобном месте.

Назначение новых материалов

Одной из особенностей ProBuilder является редактор материалов. Он находится отдельно от основного набора инструментов ProBuilder; вы можете найти его в разделе Инструменты → ProBuilder → Редакторы → Open Material Editor. В ProBuilder есть множество других полезных редакторов, например, UV-редактор и редактор сглаживания, которые обычно можно найти в пакете для 3D-моделирования. Сейчас мы сосредоточимся на изменении материалов для нашего объекта.

Поскольку мы хотим создать футуристический образ, цветовая гамма активов из офисного пакета не очень подходит. Давайте изменим его. Сначала создайте один из реквизитов в ProBuilderize - я выбрал стол. Теперь давайте посмотрим на редактор материалов. Здесь мы можем выбрать существующий материал и назначить его либо всему объекту, либо только выбранным полигонам. Мы также можем назначить некоторые материалы на горячие клавиши.

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

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

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

Итак, теперь мы знаем, что переназначить материалы для Snaps с помощью ProBuilder очень просто. Вы также можете поучиться у других пользователей Unity: в этом видео показано, как использовать существующие UV-файлы и UV-редактор для наложения текстуры на сетку, а также показан полный процесс создания двух простых игровых реквизитов - ящика и бочки.

Редактирование сетки
Редактирование сетки

Что, если мы хотим изменить геометрию одной из сеток в уровне? В настоящее время на моем уровне есть офисное кресло, но оно не очень футуристическое. Давайте посмотрим, как можно превратить его в великолепное игровое кресло.

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

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

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

Можно заметить, что нам не хватает деталей на верхней части кресла, чтобы придать подголовнику правильную форму. Чтобы исправить это, мы можем перейти в режим Edge и с помощью инструмента Insert Edge Loop добавить две новые краевые петли вдоль верхней части нашего стула. Затем мы можем захватить два новых края в верхней части спины и переместить их вверх, что позволит нам получить более округлую форму.

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

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

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

Как видите, некоторые из наших новых треугольников направлены не в ту сторону. Мы можем исправить это, отменив деление и сняв выделение с граней, которые в итоге образуют неправильно ориентированные треугольники. Затем мы снова проводим триангуляцию, только с одной стороны сетки. После этого мы можем использовать инструмент Flip Face Edge для другого набора многоугольников, и если мы теперь триангулируем эти грани, то увидим, что ребро было перевернуто правильно.

Лицевая сторона с откидной кромкой

Теперь выделите наши новые треугольники и с помощью Delete Faces сформируйте разрыв. После завершения работы мы можем обойти только что сформированное отверстие сетки в режиме граней, выбирая пары граней спереди и сзади и используя инструмент Bridge Edges.

Лицевая сторона с откидной кромкой
Использование редактора сглаживания

Ранее мы рассказывали о редакторе сглаживания ProBuilder. С его помощью мы можем придать угловым краям нашего кресла более округлую форму. Давайте вызовем редактор сглаживания, перейдя в меню Tools → ProBuilder → Editors → Open Smoothing Editor.

Мы можем избавиться от всех существующих групп сглаживания на нашем стуле, перетащив рамку выделения вокруг объекта в режиме Face (убедитесь, что для параметра Select Hidden установлено значение On) и нажав кнопку Clear Smoothing Groups в окне Smoothing Editor.

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

То же самое мы можем сделать и для сиденья, причем мы можем использовать ту же группу сглаживания, поскольку грани спинки и сиденья не являются смежными.

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

Вот и все. Вот офисное кресло, с которого мы начали, рядом с великолепным игровым креслом, которое мы получили в итоге.

Стулья
Пользовательские активы с ProBuilder

Теперь вы хорошо знаете, как использовать Snaps и редактировать их в ProBuilder. Возможно, вы также захотите узнать, как сделать собственный реквизит с помощью этих пакетов.

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

Начнем с создания примитива в ProBuilder. Для этого выберем инструмент "Новая фигура" и откроем окно его настройки, нажав на значок плюса рядом с названием инструмента. Откроется диалоговое окно, в котором можно задать размеры и тип нашей новой фигуры.

Селектор Shaoe

Решая этот вопрос, помните, что все активы Snaps создаются с учетом реального масштаба. Это значит, что полезно подумать о том, как размер объекта будет соотноситься, например, с ростом среднего человека. Вот размеры, которые мы выбрали.

Размеры

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

Для этого в ProBuilder есть удобный инструмент Set Pivot, который поместит точку поворота в центральную точку нашего текущего выделения. Зная это, мы можем выбрать нижнюю грань нашей новой сетки, которая поместит нашу ручку выделения в центр, и нажать Set Pivot, чтобы поместить ее в центр-основу нашего объекта.

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

Совет: Знаете ли вы, что по-прежнему можете использовать функцию привязки ProGrids при моделировании? Мы можем включить эту функцию, чтобы разместить наши новые экструдированные грани на том же уровне высоты, что и верхняя часть нашей базовой сетки.

После этого мы можем выбрать внешний контур верхнего края нашей основы и немного опустить его с помощью инструмента "Перемещение".

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

Экструзия

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

Петли

Теперь мы можем выбрать две внешние краевые петли и изменить их масштаб, чтобы они стали ближе к центру; затем сделайте то же самое с другой стороны. Теперь выделите все грани на внутренней стороне нашего контура ребра и в меню Extrude (Выдавливание) задайте им выдавливание по Face Normal с толщиной -0,01. Это позволит нам получить красивую вставку на сетке. Давайте создадим новый излучающий материал и назначим его инкрустации, чтобы получить результат ниже.

Эмиссары

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

Эмиссары

Отлично! Еще одна вещь, которую мы можем сделать, - это добавить плавающий элемент над нашей сеткой. Давайте выберем четыре треугольные грани, которые сейчас находятся в верхней части нашей сетки, и нажмем кнопку Detach Faces. В результате мы получим новую сетку ProBuilder, но в старой образуется дыра. Чтобы исправить это, вернитесь к старой сетке и воспользуйтесь инструментом "Заполнить отверстие", выделив края вокруг отсутствующих граней.

Далее мы можем переместить нашу новую отделенную сетку вверх и повернуть ее на 90 градусов. Несмотря на то, что этот элемент плавающий, мы хотим сохранить его как часть одной сетки. Для этого мы можем объединить наши сетки, выделив их с помощью Shift и используя инструмент Merge Objects.

Инструмент слияния

Давайте добавим несколько финальных штрихов, выдавив из нашей новой сетки еще два раза и назначив ей излучающий материал.

И вот результат, рядом с нашей дверью.

Результаты
Продолжайте творить

Мы надеемся, что это руководство будет вам полезно.

Узнайте больше о Snaps Prototype и других пакетах Snaps.