Making of: боксёрский ринг
Узнал игру? Так мог выглядеть ремейк Fahrenheit: Indigo Prophecy на Unreal Engine 5. А это — результат недавно завершённого рейда наших студентов!
Что за рейды?
Мы придумали систему, которая игрофицирует процесс образования и превращает её в RPG игру. Один из элементов такой механики — рейды. Это групповая практика, в которой ребята собираются в команду, как в студии, и подбирают для себя подходящие роли: арт-директор, лид, технический художник, моделлер, текстурщик, аниматор и так далее; распределяют между собой рабочие задачи. Они ведут этот проект от начала и до конца, получая не только прикольный результат на выходе, который можно закинуть в своё портфолио, но и прокачивая кучу навыков, вроде работы в команде, дисциплины, ответственности и многозадачности.
С чего всё начинается?
Сначала придумываем тему: это может сделать кто-то из преподавателей или сами студенты, тема может родиться во время стрима или семинара. Когда идея созрела, проводится первый стрим, где уже формируется предпродакшен: кто, что и когда будет делать. Иногда этот стрим проводят преподы, а иногда и сами студенты. Так как рейд — это симулятор продакшена, нам важно регламентировать работу, определить границы этапов, расписать роли и задачи для них.
Вся наша система крутится вокруг игрофикации, поэтому нам максимально важно, чтобы студенты принимали участие в создании, в том числе и генерировании идеи, проекта. Проджект лид рейда предложил провести опрос — так было проще определиться с темой и направлением. Победил концепт реалистичной и мрачной сцены. На основе этой идеи кто-то предложил сделать качалку, и мы зацепились за это.
Спортзалы — специфическая и нишевая тема. Один из участников рейда предложил сделать не просто боксёрский зал, а фан-арт на сцену из игры Fahrenheit. Всем эта идея зашла. Игра не новая, и попробовать сделать ремастеринг сцены — это интересная задача, хотя и сложная.
Во-первых, сложность была в пропорциях. В игре они довольно мультяшные, не реалистичные, поэтому всё нужно было перемоделивать с нуля. Но у нас и был план пройти путь от начала до конца, поэтому это не сильно усложнило задачу.
Во-вторых, оригинальная локация была больше заточена под игру, чем под красивую картинку. Поймать там сочный кадр довольно проблематично. Поэтому моделить сцену пришлось без основного референса, но был проп лист, настроение и набор материалов.
Мы вытащили из игры локацию с помощью программы RTX Remix, которая позволяет получать 3D-модели из уже вышедших игр. Чтобы рассмотреть все детали боксёрского зала из Fahrenheit, локацию выгрузили в Unreal Engine. Она не очень хорошего качества, поэтому копировать из неё что-либо напрямую не было смысла, но для общего понимания среды этого вполне хватило.
Референсы искали в реальной жизни и среди других 3D-работ. Позже наткнулись на работу концепт-артиста Юры Гвозденко. Она идеально нам подошла и напомнила Fahrenheit.
В какой-то момент была проблема с масштабами: ринг был слишком маленьким, кабели слишком толстые, размер изображений на текстурах не совпадал с действительностью. Текстуры неверного масштаба — очень частая ошибка. Каждая деталь 3D-модели и сцены влияет на восприятие и убедительность того, что мы видим в кадре. Неверный масштаб текстур может испортить даже очень хорошую модель.
С проверкой масштабов в сцене помог дефолтные анриловский манекен, по которому сравнивали размеры. После его появления на ринге мы подняли потолок, расширили стены, уменьшили двери и пофиксили текстуры.
Для облегчения работы со стенами использовался шейдер, с помощью которого мы их покрасили. Текстуру штукатурки мы подмешивали в текстуру кирпича с помощью кисти по вертекс калору. Эта технология учитывает карту высот, из-за чего в углублениях кирпичи сильнее забиваются штукатуркой, чем на выступающих частях.
Постеры — отдельная история. Некоторые создали с нуля, некоторые просто взяли из интернета, а какие-то и вовсе сгенерировали с помощью нейронок. Но все они были новые. Для большей правдоподобности и сочности картинки мы сделали генератор в Substance 3D Designer, который «состаривает» эти постеры. Все картинки мы прогнали через него и загрузили в движок в качестве декалей и вручную наклеили на стены.
Так же мы рандомизировали объекты с помощью шейдеров. Обрати внимание на маты — с помощью масок мы сделали их разнообразными: раскрасили в разные цвета, подмешали грязь, пыль, сделали потёртые края. В сцене всего пару моделек матов, но благодаря вариативности масок, получилось собрать несколько уникальных. Многослойные шейдеры позволяют им смотреться интересно и разнообразно.
Потолочные лампы сделали через blueprint. Лампочку мы собрали один раз, но нам было недостаточно просто собрать её и размножить по сцене. Мы хотели менять в ней интенсивность света, позицию, сделать лампы разнообразными: какие-то статично повесить, некоторые сделать перегоревшими или сломанными. Поэтому мы собрали blueprint, в котором лампа состоит из 4 частей: провода, корпус, сами цилиндры с лампочками и источник света. Настроили его один раз, а уже в сцене, где расставлены наши «контейнеры», можем заходить в каждый из них и развлекаться: включать и выключать свет, менять текстуру и интенсивность света, крутить лампы. Один раз составив шаблон лампы, мы можем сделать много оригинальных источников освещения.
Также благодаря этому появилась возможность одну оторвать. Эта несложная, но довольно интересная шалость сделала картинку ещё интереснее. Таким образом можно двигать и геометрию, и источник света, потому что всё это — отдельные элементы.
Вся работа над рейдом проходила в 3 этапа:
1. Две недели на пре-продакшен, блокинг сцены и основных пропсов.
2. Полтора месяца на создание ассетов.
3. Три недели на освещение, пост-процессинг и полишинг.
Мы двигались от большого к малому, от общего к частному, таким образом получилось и сохранить целостность картинки, и сделать сцену насыщенной мельчайшими деталями, за которые глаз невольно цепляется при просмотре.
В рейде приняли участие 16 человек, включая и тех, кто не добрался до релиза. Мы делали ассеты быстро, но проект растянулся на три месяца, потому что участники занимались им в свободное время. Мы начинали с идеи локации под один ракурс, а в итоге получилась комната, по которой можно побегать. Получилось даже лучше, чем мы планировали!