Создание короткого фильма на UE4
Всем привет! Здесь Эдриан Пагет-Брунелла, Пьер-Александр Коте, Сэнди Чоу, Пьер-Александр Паскаль, Александр Туркотт-Жерве и Изабель Вердон. Мы — команда целеустремленных 3D художников и студентов-выпускников. Рады представить вам наш короткометражный фильм, сделанный на Unreal Engine 4.
Он называется FRAGMENT.
Процесс создания
Идея родилась в прошлом году во время последнего семестра в Школе Цифрового Искусства и Дизайна в Монреале. Для успешного завершения учебы нам было необходимо разработать дипломный проект. Времени было всего четыре месяца, с января по май.
В начале работы мы не знали в каком направлении двигаться, но команда была сформирована еще на прошлых проектах. Мы отлично работаем вместе, всегда открыты для внутренней критики, подпитываем друг друга энергией, мотивируем, вдохновляем. С такой синергией мы были готовы к любым препятствиям.
Этим проектом мы хотели бросить вызов самим себе, проявить таланты каждого из нас. В конце концов, его увидят наши будущие работодатели. С учетом размера команды и сроков, было необходимо выбрать между геймплеем и виртуальным студийным производством.
Страсть к кинематографии, а также профессиональные амбиции толкнули нас к созданию короткометражки на Unreal Engine. Мы знали, что инструментарий и интерфейс Unreal Engine позволят нам воплотить что мы хотим и как мы это видим.
Настрой
На поиски референсов и правильного настроя ушло две недели. Мы собрали изображения, фильмы и концепты. Одним из источников вдохновения послужил фильм Саввы Живковича IFCC. Дэвид Финчер и Уэс Андерсон погрузили нас в мысли о движении камеры и ритме. Через две недели мы создали доску настроения, которая задала тон работе.
Общим вдохновением для проекта стали монолитные формы из “Бегущий в лабиринте” и картин Жан-Пьера Угарта, а также работы арт-директора Рафаэля Лакоста и концепт-художника Мартина Дешамболт. Последние помогали нам не сбиться с выбранной темы: архаика, мистика и безвременность.
Цветовым фоном проекта мы выбрали строгую цветовую гамму и слияние серых и зеленых цветов.
Первая часть фильма должна была использовать серые цвета для обозначения больших, сильных форм и плотного тумана. Вторая часть должна была показывать переход к зеленому.
Нарратив
Для путешествий внутри мира мы хотели придумать сложную историю, которая бы отображала сцены погонь. Основной идеей нарратива был так называемый "поворотный кадр". Он должен быть в начале истории и середине фильма.
Идея цепочки в том, чтобы свести воедино всю сюжетную линию, в то же время оставляя зрителя наедине с открытой концовкой. Мы хотели, чтобы зритель поверил в то, что увиденное им — лишь верхушка айсберга, может, даже лишь часть целой истории. Еще мы хотели размыть границы линий ролей персонажей, чтобы зритель сам определил протагониста и антагониста.
Чтобы разложить идеи в сценах мы сделали раскадровку. Отсюда мы начали процесс редактирования, чтобы выдержать ритм истории и самого мира. Так получилось выделить места, где надо что-либо вырезать, и места, где надо что-либо добавить для поддержания интереса и понятности сюжета.
Для создания сцен в реальном времени мы решили использовать Unreal Engine Sequencer. Мы хотели сохранить стандарты игровой индустрии, иметь адекватный фреймрейт и устранить пост-продакшн. С Unreal Engine мы могли поддерживать эти стандарты и создать то, что мы хотели, соответственно техническим возможностям.
В Unreal Engine также можно быстро тестировать формы и контрасты с простой геометрией и направленными углами света. Мы могли делать пейнтовер некоторых кадров, рассматривая, что из этого можно будет использовать.
Персонажи
Ритм истории позволял сохранить фокус на трех персонажах: дрон, стая монстров и человек, подключенный к странному устройству. На более глубоком уровне мы думали о вездесущей фирме и городе, как о важных персонажах. Мы ввели взаимосвязь между персонажами и разбили фильм на пять временных отрезков.
Мы разделили короткометражку на несколько сцен и уровней так, чтобы каждый член команды мог работать над своей частью. Такая модель позволила каждому работать над своим маленьким кусочком, а также тестировать разные части перед тем, как совместить все воедино.
Человек
Человек — бывший служащий Фирмы, подключенный к рукотворной машине в своей ванне. Он пытается отделить свое сознание от тела. Мы добавили деталей к его лору, сделав много снимков в ванной. Мы хотели внести неясности тому, что он делает, зачем он это делает и где. Да и самому результату.
Для создания скина мы использовали скин шейдер из обучающей вкладки Unreal Engine. Пришлось нелегко, поскольку аниматоров у нас в команде нет вообще. Но несмотря на трудности было весело.
Затем мы использовали физику Unreal, чтобы показать движения проводов у него на голове. В анимировании человека и дрона нам помог наш друг Чарльз-Этьен Гуин, присоединившийся на последние две недели проекта.
Дрон
Идею дрона нам принес наш наставник Себастиан в конце продакшена. Мы предложили создать простой диск, который бы выделял цветом ритм погони своими движениями. Исходя их этой идеи, наш друг Луи создал дрона, которого мы использовали в фильме.
Дрон совмещает в себе вездесущность фирмы и общий ритм фильма. Мы хотели, чтобы дрон представлял собой мощного скрытного гения. Основным референсом для поведения дрона была песня “Voodoo in My Blood” Massive Attack. Вот наш второй "поворотный кадр" с дроном:
В этот момент фильма зритель понимает, что дрон контролирует стаю и ищет активировавшего его с хакнутого устройства человека.
Гибкость Sequencer’а позволила анимировать дрона целиком в Unreal Engine. Он выполнен в Blueprints со светом и эффектами пост-процессинга для ударной волны и материалов.
Создания
Монстры — крупная часть истории в нашей короткометражке. Мы хотели, чтобы они выглядели устрашающе и смертельно, были вездесущей угрозой для всех. Они также были глазами Фирмы на улицах города. Нашей целью было оставить зрителя с собственными выводами: монстры были созданы Фирмой или она их лишь поработила? Они из этого мира? Может, это голограмма?
Идея создать оленя тоже пришла совершенно неожиданно. Она созрела во время нашего первого проектирования и в итоге стала нашей главной отдушиной. Сливаясь с логотипом Фирмы, он — ключ к пониманию того, что люди когда-то уничтожили каждое живое существо, а затем попытались воссоздать их с помощью технологий.
Чтобы создать существ, мы использовали игровую библиотеку, затем построили грани в Houdini и использовали шейдер волос Unreal Engine, чтобы достичь требуемого результата. Это был настоящий вызов, из которого мы вынесли очень много опыта.
Окружающая среда
шестая неделя проекта
десятая неделя проекта
четырнадцатая неделя проекта
Мы изучали много примеров окружающей среды на Unreal Engine, прежде чем решить в каком направлении двигаться. Мы хотели отобразить чувство отсутствия времени, мистики и кинематографический вид без постпродакшена.
Мы много играли с перспективой, пряча направленные источники света за крупными элементами, чтобы создать тень. Мы также превысили размер мешей, чтобы увеличить перспективу кадров. Мы также использовали фичи Sequencer, чтобы спаунить целые части города, и двигать экспоненциальную высоту и направленный свет в таймлайне. Мы использовали много материалов пост-процесса и настроек LUT, чтобы достичь нужного визуального качества.
Себастьян Примо и Мартин Дешамболт очень помогли нам с визуальной составляющей и единым видением короткометражного фильма. Они указали на каждую нашу ошибку и помогли их исправить. С 10 по 15 неделю мы каждую неделю устраивали показ малой аудитории ради фидбека от свежих глаз. Благодаря этой критике мы смогли выверить каждый кадр.
Мы использовали только модульные ассеты и материалы, чтобы оставаться в игровых рамках, так как желали остаться в индустрии в будущем. Мы работали в Substance Designer, чтобы создать органичные материалы и легковоспроизводимые вариации через плагин Substance. Мы применяли декали для создания шума и зернистости в наших ассетах.
Мы также использовали материал позиции мира, чтобы создать по-настоящему большие ассеты и формы, построить наш город с хорошим соотношением текселей вне зависимости от размера ассетов. Это также позволило изменять материалы в Sequencer’е, чтобы убедиться в качестве каждого ассета в каждом кадре.
Текстуры растительности были смесью Quixel Megascans и наборов из Unreal Engine Marketplace. Затем мы использовали SpeedTree для создания ассетов и Substance Designer, чтобы комбинировать карты. Шейдеры, сплайны и виды растительности Unreal были очень полезны при создании больших площадей реалистичного пространства без просадок в производительности. Мы использовали ручные шумы для ветра (с расширенными параметрами для Sequencer’а), чтобы создать особую атмосферу.
Мы очень много узнали о создании среды, хоть и было сложно. С готовой игровой средой мы могли сократить время для достижения необходимых целей.
Мы собрали короткометражный фильм в билд, чтобы наблюдатели могли передвигаться от первого лица и изменять направленное освещение. Первый просмотр был запланирован сразу после двух коротких пререндеренных VFX фильмов. Нас невероятно возбудил тот факт, что мы выжали из себя все, что могли, встав практически на один уровень с двумя другими VFX командами, но еще и датли зрителям возможность свободно перемещаться по сцене без просадок FPS.
Технические трудности
Главной трудностью было коллективное изучение всего и сразу в Sequencer’е, нашем главном инструменте. От камер и таймингов до специфического управления визуальными эффектами, мы были готовы нырнуть в него с головой.
В то время как прямой подход сделал редактирование невероятно быстрым, он выявил большую, но интересную техническую проблему: основанными на времени визуальными эффектами трудно управлять, так как их основанный на тайминге цикл каждый раз запускался в разное время. Например, эффект колебания, длящийся пять секунд мог начаться в первую или четвертую секунду цикла, в зависимости от того, когда пользователь нажимает кнопку play.
Для шейдеров и эффектов, основывающихся на узле “Time”, но не требующих точности, была найдена альтернатива: узел был полностью заменен регулируемой переменной с прямым линком в Sequencer через Material Parameter Collections. Этот подход позволил нам создать множественные переменные, контролирующие все части шейдеров: от времени наполнения цветом до того как “волнисто” двигается ударная волна. Разносторонность поражала: живой контролируемый визуал, редактируемый художниками, включая материалы постобработки.
Техническая особенность, которая заняла большинство времени разработки — эффект ударной волны/ глитча: необходимо было создать ей импульс, и мы хотели, чтобы она отличалась от голограмма-подобных эффектов. Был необходим контроль, поскольку нарратив позволял им воздействовать лишь с естественными ассетами, такими как олень, поляна и монолитное дерево. Таким образом мы создали функцию материала “Glitch” для пост-обработки. Ударная волна и экраны в ванной комнате — это простой перегруз ультрафиолетового излучения, но какой гибкий!
В центре эффекта глитча/ ударной волны было перемещение горизонтальных полос, чтобы деформировать ультрафиолетовое излучение целевого объекта. Применение к “Masked” материалам создало перегруженный силуэт, в то время как применение к экранам в пост-обработке перегрузило всю картинку, словно реальный глитч, без ограничений по геометрии или типе материала, давая результат как на изображении ниже:
Комментирование и группировка узлов: Just do it.
Наибольшей трудностью для нас была сцена в ванной: экраны отображали сразу несколько коротких видеофайлов. Как бы то ни было, благодаря видео декодеру и отдельному декодеру Unreal, стало намного труднее вставить видео в рамки необходимого фреймрейта. Пришлось учиться вручную трансформировать видео в последовательности изображений (под управлением Unreal), чтобы наконец достичь нужного результата.
Спасибо за чтение! Мы надеемся, FRAGMENT вдохновил вас на создание своего уникального проекта на UE4. Дополнительную информацию можно найти в Артстейшене Эдриана.