Использую бюджетные методы для создания визуала в своей игре. Процесс начинается со скетча, но обо всём по порядку.
На видео - концепт одной из последних локаций в Bewitching Gears. Основная цель - представить механико-магический мир игры шире, чем он есть сейчас (т.е. представить идею), и подсветить эти моменты в трейлере.
На создание было мало времени - около месяца в свободное от работы и жизни время, чтобы успеть сделать новогодний девлог.
Всё началось со скетча в тетрадке. Я нарисовал, что примерно хочется получить в результате (выглядит немного непонятно, поэтому я подсветил основные элементы).
Как видно из скетча, здесь необходимо перелететь несколько разрушенных мостов в снежном биоме, справляясь с ветрами и морозами, попутно собирая кристаллы.
Далее накидываем блочный дизайн. Первое, что я делаю при подходе к локациям - достаю специальную геймдизайнерскую линейку, по которой отмеряю ширину и высоту необходимых расстояний между платформами.
Используя скетч, я выставляю камеру с ведьмой-инженером, и набрасываю блоками передний план, платформы, задний план. На этом же этапе я уже попытался создать необходимое настроение через серое небо, туман и цветокоррекцию в холодные тона.
Далее я начал подбирать материалы и текстуры. Учитывая, что силы и время ограничены, я стараюсь использовать в игре простые материалы, текстуры и текстурные атласы, за исключением особых случаев. Снег является особым случаем, про него чуть позже.
Для текстуры заснеженных гор я взял текстуру из Unreal Engine Bridge и переделал её под снежную.
Также я начал потихоньку добавлять другие модели игры - строения, верёвки, механизмы. Вдали можно заметить пока неготовый замок.
Теперь наращиваем детали и усиливаем погружение в зимнюю атмосферу. Здесь я уже поменял несколько текстур на модельках, делая их более снежными и холодными, деревья более голыми, а также добавил сам материал снега и снежные эффекты.
Снег в целом сделан непыльно, основная задача - добавить хаотичный снежный блеск. Для этого я подмешиваю мелкий шум к разным каналам материала - в основном Base Color и Roughness. По-хорошему, стоит ещё рандомизировать нормали, но мне было достаточно и такого результата.
Существенный вклад в атмосферу в динамике создаёт ветер. Для имитации я добавил периодическое движение верёвкам, кустам, деревьям.
Сдвигаю верёвки через поворот объекта в блюпринте.
Сдвигаю верхние вершины растительности через World Position Offset в материале.
Вишенка на торте - звук ветра, который я нашёл в сотнях гигабайт скаченных бесплатных звуков.
Отдельным пунктом являлось создание интерфейса шкалы переохлаждения и специальной пушки-латтерна, которая становится доступна на поздних этапах игры.
Для этого я создал соответствующие модели в блендере, отрендерил их, обработал и вставил в интерфейс.
Эффект снежных ветров я собрал из готовых эффектов, адаптируя их под свои нужды. Так, я сделал снег на переднем плане медленнее, чем на дальнем. Добавил снег, который стелется по земле. А также добавил геймдизайнерских эффектов, подсвечивающих направление от сноса ветром. Здесь я допустил ошибку и не доработал эффект - в идеале он должен быть более волнистым и петличным, на видео он более прямой и круглый.
Эффекты придают мультяшности и намекают на игровую природу создаваемой среды.
Этап, который я почему-то отложил на конец - создание ландшафта, который бы покрывал существующий блочный прототип. Сам материал состоит из трёх слоёв - слой снега и два слоя гор с разным размером текстур (т.е. с разным тайлингом).
Слои ландшафта в Unreal Engine
Время вышло - что сделано, то сделано. Готовый результат я вставил в свой блог. Это, естественно, не финальная версия локации. Но общем и целом, показанный процесс не сильно отличается от того, как я создаю различные места в готовой игре. Разве что, там больше заморочек насчёт оптимизаций и игрового баланса.
Чтобы я ещё хотел успеть сделать, будь у меня больше времени - всякие мелочи вроде горок снега, больше моделей вдали, движение ветра на одежде, анимацию дрожи персонажа, следы, сам ландшафт гор сделал бы покрасивее.
Спасибо, что прочитали. Если вам интересно следить за ходом разработки, подписывайтесь здесь или