Создание стилизованного окружения для Unity

Авторы наборов объектов для окружения делятся опытом.

3D-художник и руководитель студии Inigmas Studios Грэм Смит (Graham Smith) дал интервью порталу 80.lv, в котором рассказал о рабочем процессе при создании стилизованных объектов окружения для игр на движке Unity.

DTF публикует перевод материала.

Создание стилизованного окружения для Unity

Меня зовут Грэм Смит, я руководитель Inigmas Studios. Я живу в городе Апекс штата Северная Каролина, а мой партнёр Лео Лутецки (Leo Lutecky) — в Гётеборге в Швеции.

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

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

Создание стилизованного окружения для Unity

Он занимается диффузными текстурами, ambient occlusion, нормалями, зеркальностью, свечением (emissive) и альфа-наложением (в последнее время это, по большей части, внутреннее диффузное). Пока он работает над текстурами, я концентрируюсь на риггинге, скиннинге, анимации и уровнях детализации.

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

Hand-Painted Forest Pack

Когда мы начали работу над Hand-Painted Forest Pack, я стоял во главе команды, собиравшейся разрабатывать пошаговую игру в духе JRPG под названием Obelisk, однако, как и большинство студий без инвесторов, эта команда распалась. Но из её пепла, изучив свои ошибки, поднялись мы с Лео, решили закончить свои проекты и опубликовать их в Unity Asset Store. Так появилась Inigmas Studios.

Объекты

Все наши наборы проходят через пре-продакшен, где мы с Лео обсуждаем тематику, например, пустыня или деревня, а потом пытаемся определить её масштаб. Затем мы ищем в Google референсные арты, чтобы чётче представить, каким будет проект.

Обычно мы ищем от трёх до пяти примеров того, что мы могли бы создать, добавив собственное видение.

Создание стилизованного окружения для Unity

Я моделирую все наши объекты в 3ds Max 2015. В это время я пытаюсь прочувствовать, насколько модель вписывается в выбранное направление. Мы используем подход от большего к меньшему, чтобы добавлять объектам характер и индивидуальность. Взгляните на гроб из нашего Halloween pack, чтобы понять, о чём я говорю.

Художественный стиль

Я придумал стиль для своей пошаговой JPRG, ещё когда набирал команду в проект. Я встретил Лео на Polycount и предложил ему идею игры с таким стилем. Мы поговорили по Skype и начали работать вместе.

Стиль напоминает те игры, в которые я играл в детстве: Secret of Mana, Seiken Densetsu 3 и серию Legend of Zelda. Мне очень понравилась красочная палитра, которую использовала Square для своих проектов, — цвета задавали им настроение и атмосферу.

Создание стилизованного окружения для Unity

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

Однако разработчики этих игр пошли дальше, усилив оттенки затенённых и освещённых мест, что заставляло работать воображение игрока — именно этого я и стараюсь достигать в наших объектах. Мы начинаем с основного цвета, добавляем тёплые яркие участки и холодные тени, что помогает увидеть контраст и решить, как лучше вызвать определённое ощущение у аудитории. Всё это мы делаем в Photoshop.

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

Растения

Трава состоит из одиночных текстур с разрешением 64x64 или 128x128. Я создал несколько поверхностей (plane) с незаметными рёберными петлями (edge loops) и экспортировал их в Unity, где добавил на них шейдер растительности (vegetation shader) и текстуры.

Создание стилизованного окружения для Unity

Шейдер растительности контролировал все аспекты травы. По крайней мере, так мы делали в то время (если не ошибаюсь, сейчас в Unity можно просто выбрать текстуру и использовать её как траву).

Мы немного неправильно поступили с деревьями в первом наборе. Они состояли из двух моделей — ствола и кроны — и мы устанавливали один и тот же материал на обе, а затем добавляли шейдер растительности на крону. Мы делали так, потому что не знали, что можно назначать разные материалы отдельным полигонам на модели. С двусоставными деревьями была проблема: их не очень хорошо воспринимал редактор местности Unity.

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

Создание стилизованного окружения для Unity

Затем я создаю копию модели и сохраняю данные веса (weight data) её «скелета». После этого я удаляю весь «скелет» из модели. Возвращаюсь к этапу моделирования и осторожно убираю отдельные рёбра, снижая количество полигонов для создания первого уровня детализации.

Треугольники я удаляю с осторожностью, иначе в анимации будут нереалистичные «скачки». После того, как модель уровня детализации готова, я восстанавливаю тот же «скелет» и данные веса, что и у оригинального дерева. Анимация привязана к «скелету», так что она переносится без проблем. Этот же процесс я повторяю во время разработки как минимум ещё одного уровня детализации.

Презентация

Создание стилизованного окружения для Unity

Во время экспорта объектов из 3ds Max мы проверяем, все ли опоры (pivots) центрированы на 0x0x0, а также правильность масштаба и ориентации осей. Когда эти требования соблюдены, мы экспортируем объекты в Unity и расставляем их так, чтобы они были готовы к игре.

Когда я работал в Epic Games, я научился создавать демонстрационный уровень, показывающий все лучшие объекты через левел-дизайн, а также уровень-сетку (grid level), который даёт зрителю понять, что он покупает. Затем мы создаём видеоотрезки с анимацией для обоих уровней и продающие скриншоты для галереи Unity.

Создание стилизованного окружения для Unity

Понимать, как работает освещение в игровых движках, — важный навык как для 3D-моделлера, так и дизайнера уровней. Освещение может усилить то чувство, которое вы хотите вызвать у аудитории.

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

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

1515
4 комментария

Я понял, что имеется в виду под словом Pivot, но не уверен, можно ли называть это опорой. Моя первая ошибка в анриал енджин была как раз связана с этим) Не центрировал Т_Т

А можно ли использовать эти ассеты в UE4?

А зачем? В ue4 есть куда качественнее и визуально приятнее сеты