10/06/2019

Зимнее окружение на UE4: ассеты, приемы, освещение

Всем привет! Меня зовут Евгений Вегера, я environment artist, который пока работает на студии по производству анимационных фильмов в качестве lead-compositing и modeling artist. Еще в детстве я игрался с Cryengine первой версии, это был довольно интересный опыт, но в отсутствие материалов было сложно продолжать изучать его. Мое первое образование — graphic designer, еще во время обучения я начал изучать 3D графику самостоятельно, потом прошел курсы в Московской школе кино по специальности compositing artist, проработал в этой должности 4 года в рекламе и кино, параллельно изучая 3D и игровые движки, снова пришел к специальности environment artist, и теперь это навсегда.


Как можно видеть по моему пути, курсы позволяют достаточно быстро освоить основы индустрии, заложить крепкую базу и выстраивать на ее основе дальнейшую работу. Я родился в маленьком городке на берегу моря, где природа была настолько близко, что стала частью меня; возможно, это каким-то образом повлияло при выборе курса Organic World Building от Anthony Vaccaro.  

Мне нравится создавать природу, со всеми ее мелочами, смешивать материалы в Substance Designer, так, чтобы они плавно перетекали из одного в другой, создавая правдоподобную картину местности. Прекрасно, что сейчас есть игровые движки, подобные Unreal Engine 4, которые позволяют видеть результат своей работы без долгого рендера: свет и рейтрейсинг в реальном времени, движение растительности и частиц.

Референс

Начиная работать со сценой, я точно для себя решил, что это будет скалистая местность. Я нашел местечко в центральных Пиренеях на юго-западе Франции, Cirque de Gavarnie. Собрал достаточно большой рефборд. Туда входили референсы по окружению, скалы в разные сезоны года: со снегом, без снега, с растительностью и без; референсы на реки и водопады, разные состояния по свету, закаты и густой туман со снежной бурей.

Когда вы начинаете делать окружение, важно выделить для себя основные моменты и четко придерживаться дедлайнов. У вас есть определенное количество времени на одну задачу. Многие, приступая к работе, хотят сделать большой открытый мир до горизонта, начинают его делать, но так и не заканчивают, потому что количество ассетов для правдоподобного заполнения этого мира просто зашкаливает. Вот почему важно себя ограничивать. Чем меньше ваша локация, тем больше времени вы сможете уделить каждому ассету и проработать его до AAA уровня. Поначалу это было и моей ошибкой. Локацию пришлось сократить в 2 раза.

Ассеты и масштаб

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

Малое количество ассетов можно разнообразить, используя несколько тайленых текстур с разной степенью детализации. Unreal Engine позволяет достаточно гибко работать с вариациями текстур через каналы vertex color, используя vertex paint. Все текстуры сделаны в Substance Designer с использованием ParallaxOcclusionMapping для более рельефного отображения материала ландшафта.

  

 . 

Когда проектируются города, очень важно понимать назначение местности и ее масштаб, будь то автомагистраль или уютный парк в городе. Если относительно парка и центра города все понятно, там вы можете опираться на размер улицы или размер входной двери дома, то как понять масштаб в лесу или горах? Я использовал модель персонажа среднего роста из базового набора Unreal Engine 4. Вы также можете скачать его у Clinton Crumpler абсолютно бесплатно, и относительно персонажа делать дорожки, размер травы, камней и деревьев. Не стоит забывать про постановку камеры, если вы планируете потом записывать ролик с вашей локацией. Всегда ставьте ее на уровне глаз персонажа, чтобы зритель видел масштаб.

Растительность и снег

Когда встал вопрос о деревьях, между вариантами скульптинга и использования процедурных редакторов я выбрал второе. Я какое-то время работал со Speedtree, так что у меня не было сомнений, что я буду использовать. Этот софт позволяет достаточно быстро создавать большое количество вариаций растительности по заданным настройкам.

Для второстепенной растительности я использовал более традиционные методы. Траву, листья и ветки я делал в Maya, просто расположив фототекстуры на немного изогнутых плейнах. Текстуры использовал из свободного доступа с сайтов textures.com и quixel.com.

Движение — это жизнь, то же относится и к растительности в сцене. Я использовал стандартный подход: та часть, что будет подвижной, закрашивается цветом любого из трех каналов, а в Unreal шейдер через ноду Vertex Color того же канала соединяется с SimpleGrassWind — звучит достаточно просто.

Зимняя сцена не была бы такой без снега, я просто использовал партиклы из сцены Particle Effects, немного настроил скорость, направление и плотность под себя.

Освещение

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

Еще одной проблемой стали схемы освещения — для каждой сцены они свои, и это не только Directional Light, а еще volume fog, и skylight. В итоге я решил разделить все схемы на Levels. Таким образом, один level был основным, в него отдельным левелом добавлялись все схемы освещения и level с геометрией. Это достаточно удобная схема при таких условиях. В некоторых шотах я добавил godrays, в Unreal Engine они находятся в Directional Light, называются Light Shafts — тут нет каких-то особых настроек, просто делайте так, чтобы выглядело круто!

Зачем проходить курсы

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

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

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

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

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

Recent Posts

Терпение, труд и Backbone

07/11/2019
О Backbone не слышал только ленивый. Детективная игра с элементами стелса в сеттинге антиутопичного Ванкувера. Рассказываем, как пиксельная игра в оболочке Unreal Engine шагает к успеху.

Кому принадлежит ваша игра?

05/11/2019
Специалисты компании Social Quantum помогают нам разобраться, какие шаги необходимо предпринять и какие документы оформить, чтобы избежать споров о правах на игру.

Разработка мультиплеера на Blueprints. Часть 2

28/10/2019
Продолжаем разговор — типы серверов, game mode, инструменты, классы, разработка фич, репликация виджетов, сетевая оптимизация.