Об арт-проекте «Star Wars» на движке Unreal Engine 4 — Place for Plays

Об арт-проекте «Star Wars» на движке Unreal Engine 4

Данный материал является переводом текста Building ‘Star Wars’ in Unreal Engine 4

Румынский князь, P4P

Мы рады побеседовать с Джейсоном Льюисом, который вместе со своей командой создал арт-проект по миру «Звездных Войн», представив на суд публики невероятные возможности движка Unreal Engine 4 в реалистичном рендеринге в режиме реального времени. Это удивительный проект, который уже можете скачать и оценить на своём ПК, а мы поговорим о доступных инструментах движка, о процессе создания проекта, кадры из которого вы увидите ниже, о настройках света и тени, текстурах, и о том, где вообще применим новый движок.

Вступление

Всем привет, я Джейсон Льюис. Думаю, меня можно назвать главным в нашей команде разработчиков этого проекта. Я главный дизайнер компании Obsidian Entertainment, и я работаю с окружением в компьютерных играх. Другие члены нашей команды также работают в Obsidian, включая как старших дизайнеров, так и не столь именитых и начинающих мастеров компьютерной графики. Кое-кто из команды технической поддержки и тестирования также помогал нам. В общем и целом нас 17 человек, и каждый внес свой вклад в этот проект на самых разных этапах разработки. Мы все большие поклонники «Звездных войн», и, наблюдая, как в наши дни число фанатов саги не только не уменьшается, но и растет, мы решили, что было бы неплохо ворваться на сцену и подарить поклонникам качественный фан-арт, не стремясь к коммерческому успеху. Помимо прочего, многие из нас уже давно жаждали опробовать новый движок, так что мы решили, что это неплохая возможность.

Об арт-проекте «Star Wars» на движке Unreal Engine 4

Я начал свой путь в игровой индустрии 21 год назад и работал со многими студиями, начиная от малобюджетных проектов малоизвестных студий и заканчивая сотрудничеством с такими титанами, как Sony и EA-games. Я участвовал в разработке многих игр, среди которых значатся «Enter the Matrix», «Еру Matrix Path of Neo» (Shiny Entertainment), «SOCOM 4» (Zipper Interactive совместно с Sony Computer Entertainment), «Medal of Honor Warfighter», «Battlefield 4 DLC» (EA-games) и «Armored Warfare» (Obsidian Entertainments). Я сделал небольшой перерыв в разработке игр на год (с 1999 по 2000), чтобы поучаствовать в проекте анимационного сериала «Звездный десант». Как я уже говорил ранее, со мной в команде работали и другие дизайнеры с более чем десятилетним стажем. Среди прочих Терри Хесс, тоже старший дизайнер, работавший над некоторыми играми из серии «Call of Duty» и также принимавший участие в разработке «Medal of Honor» и «Battlefield 4» от студии EA. Другой ведущий дизайнер из нашей команды также работал над «Call of Duty» и сотрудничал с NovaLogic (светлая ей память). Ещё хотелось бы упомянуть Кена ЛеСейнта и Тэда Клевенгера, ведущих дизайнеров нашей команды, и Брайана Лельюкса, главного дизайнера по свету в Obsidian.

Об арт-проекте «Star Wars» на движке Unreal Engine 4

О проекте по «Звездным Войнам»

Я, как большой поклонник «Звездных Войн», всегда мечтал создать 3D-модель Тысячелетнего Сокола, но до сих пор у меня не было возможности осуществить мою мечту и создать «Сокола» таким, каким я его хотел видеть. Я начал с простейшей модели в 3ds Max, но потом подумал, что было бы здорово полюбоваться на модель «вживую», осмотреть ее со всех сторон в режиме реального времени. И именно тогда я решил познакомиться с UE4. Моей целью было создать самую реалистичную и детализированную трехмерную модель «Сокола», которую кто-либо когда-либо видел. И я полагаю, мне удалось это сделать, если не принимать во внимание модель «Сокола» от ILM X-Labs VR demo, которая была представлена несколько месяцев назад на конференции разработчиков игр. Возможно, она несколько более детализирована, возможно, эти две модели похожи, словно близнецы, однако, судя по тому видео, что мне удалось посмотреть, моя модель выглядит гораздо лучше во взаимодействии с окружением, хоть я и пожертвовал некоторыми деталями.

Сперва мы хотели просто построить Док 94 и поместить туда Тысячелетнего сокола, чтобы можно было ходить вокруг и осматривать корабль. Затем я подумал, что неплохо было бы добавить декораций в интерьер дока и потом, быть может, немного окрестностей города Мос Эйсли. Тут мне и пришла в голову идея поместить док с кораблем в интерактивный город. Одновременно с этим я понял, что мои возможности довольно ограничены, так что я позвал на помощь своих коллег из Obsidian. Многие с энтузиазмом согласились, а потому всё, что вы видите на экране — плод совместных усилий: каждый вложил в проект свои знания и время. Мы действовали на чистом энтузиазме.

Работа завершена на 90%, нам остался последний рывок, и тогда мы выложим наш проект в интернете в свободном доступе, чтобы каждый мог скачать и приобщиться к нашему творчеству. Это не игра, скорее интерактивное путешествие. Вы можете побегать по городу с бластером (или другим, секретным оружием, но его еще предстоит отыскать). В нашей команде не было дизайнера по персонажам, поэтому в городе вы встретите только дроидов-астромехаников и гонк-дроидов. Кое-кто из нашей команды также успел ознакомиться с технологией виртуальной реальности, так что мы планируем также сделать версию для шлема виртуальной реальности Vive и Oculus.

Об арт-проекте «Star Wars» на движке Unreal Engine 4

Мы строили-строили…

Об арт-проекте «Star Wars» на движке Unreal Engine 4

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

Арт-проект довольно требователен к ресурсам: один только Тысячелетний Сокол состоит из 700 000 полигонов, на декорации в доке и сам док потребовалось 500 000 полигонов. В городе есть некоторые локации, где число полигонов приближается к миллиону. Что касается видеопамяти, то по результатам теста на максимальных настройках понадобится примерно 4.1 Гб. Учитывая, что мы работали над проектом в свое свободное время, у нас не было возможности проработать различные уровни детализации. Вместо этого мы сделали множество кусков сцены, которые подгружаются в память и выгружаются из неё в зависимости от того, куда смотрит игрок. Несмотря на большое количество полигонов, вы сможете запустить наш проект на следующих видеокартах: GeForce GTX 970, 980, Titan X (45-60 FPS). Если уменьшить пул памяти и снизить детализацию текстур, то можно получить неплохой FPS на GTX760 с двумя Гб видеопамяти.

Что касается моделей, то тут мы отклонились от традиционного пути. Да, сперва мы построили модели без текстур, но, вместо того, чтобы сперва «навесить» на модели грубые текстуры с низкой детализацией (так сказать, «на пробу»), мы отрисовывали качественные модели с тем уровнем детализации, который должен был быть на выходе, затем расставили всё по местам, а затем уже работали над освещением и текстурами. Мы много раз занимались отлаживанием тех или иных мелких недочетов, однако относились к этому как к досадному, но не критичному недостатку выбранного нами метода, который позволил работать быстрее. В определенный момент наше детище стало слишком уж требовательным к ресурсам затрачиваемого времени и человеческих возможностей, и нам пришлось поступиться с несколькими идеями, дабы как-то уместить все в рамки разумного.

Декорации

Мы поместили в наш проект огромное количество различных объектов. Полагаю, именно это делает его таким уникальным и позволяет зрителю полностью погрузиться в атмосферу. Мы разделили декорации на три категории: здания и различные конструкции, корабли, а также прочие декорации (ящики, колонки, мусор и пр.). Все это, как я уже говорил, создавалось в меру наших возможностей и в свободное время. Итак, я запустил процесс, рассчитывая, во-первых, сделать всё максимально качественно, а во-вторых, максимально быстро. Мои коллеги включились в работу, и так как большинство из нас занимается 3D-моделированием в 3ds Max, всё выглядело следующим образом:

  1. Создать низкополигональную 3D-модель (меш);
  2. Создать высокополигональную модель для выпекания карты нормалей (в основном, для того, чтобы сделать края на карте нормалей более четкими; мелкие детали создавались в Zbrush, Quixel и Substance Painter);
  3. Выпекание тангенциальных карт нормалей, карт моделей затемнения и карт текстурирования;
  4. Добавление мельчайших деталей на все вышеперечисленное;Финальное текстурирование (в основном, Quixel Suite, некоторые работали в Substance Painter).

Здания и остальные крупные детали окружения создавались из меньшего количества полигонов, в этом же виде мы использовали их в движке без особой обработки, так как текстуры штукатурки и металла сделаны бесшовными. Для большинства зданий мы использовали уже готовые текстуры, чтобы не тратить время на UV-преобразование. Для выпекания же карты освещения потребовалось не так много времени на работу с развертками.

А вот с Тысячелетним соколом вышла совсем другая история. Сперва надо было «разобрать» корабль на составные части, чтобы понять, из какого материала что сделано. В итоге для создания корабля мы использовали 50 уникальных мешей. Учитывая его размеры и высокую детализацию, мы не могли использовать описанный выше метод, поскольку он не давал той детализации, которую я хотел. С другой стороны, если наложить на каждый из 50 мешей уникальную текстуру, это сразу же повысит требовательность к памяти (от 4 до 6 Гб ОЗУ) и разрешению (до 4к) видеокарт. В качестве компромисса я решил использовать многослойную систему материалов в UE4. Для тех, кто не знаком с этим, поясняю: благодаря этой системе вы можете создавать базовые материалы и бесшовные текстуры для изображения различных поверхностей; взяв один материал за основу, вы можете расположить над ним несколько других основных материалов и наложить их друг на друга, используя маски. Это устраняет проблему требовательности к памяти видеокарт, поскольку для отображения различных поверхностей потребуется лишь несколько бесшовных текстур с разрешением 1к и одна текстура-маска с разрешением в 4к для каждой детали «Сокола» вместо трех 4к текстур также для каждой детали. Это позволяет достичь такого уровня детализации, который вряд ли возможен с использованием классических методов. Однако, есть и обратная сторона медали: бо́льшая плотность пикселей дает соответственно бо́льшую нагрузку на видеокарты.

Работа над материалами

Расскажу более подробно о создании материалов. Итак, как я уже сказал, работа над материалами зависит во многом от того, с каким именно объектом мы работаем: здание, корабль, декорации. Для зданий мы использовали базу текстур EU4, что позволило нам, как я уже говорил, ускорить процесс работы над проектом, в том числе избавило от тонкой и очень трудоемкой работы с UV-развертками. Конечно, при работе с уже готовыми текстурами нам приходилось то и дело исправлять кучу мелких недочетов, но это с лихвой окупилось высокой скоростью работы. Кроме того, в «набор» входят карты нормалей и моделей затемнения, которые определяют форму и очертания материала.

Собственно, наш «большой корабль в маленьком городе» Тысячелетний сокол и был создан при помощи этой системы. Я и до этого экспериментировал с объектами поменьше, но это не стоит того, чтобы загружать видеокарты дополнительными процессами. Дизайнер, работавший над созданием имперского шаттла хотел сперва применить этот метод для своего корабля, Но из-за нехватки времени прибег к традиционным методам моделирования.

Модели декораций предельно просты в том, что касается материала. Карта цвета или карта нормалей, текстура с различными оттенками серого для создания шероховатости, металлического блеска, светотени, отражения. Мы увеличили значения множителя шейдера для показателей отражения и рассеивания и теперь можем настраивать общую степень блеска/матовости любой поверхности без перерисовки текстур. Мы также использовали множество эмиссионных материалов, которые добавили цветам яркости и помогли при работе над освещением. Еще один трюк с использованием возможностей UE4 — флипбук-база. Вы можете создать атлас анимированных текстур-спрайтов, указать количество строк и столбцов в атласе, после чего он будет непрерывно пролистывать ваши спрайты, вы можете изменять скорость пролистывания и последовательность спрайтов. Я использовал этот трюк везде, где мне нужен был анимированный свет на контрольных панелях и консолях.

Об арт-проекте «Star Wars» на движке Unreal Engine 4

В основном, мы делали все текстуры в Quixel Suite по стандартной технологии (изредка прибегали к помощи Substance Painter). Большинство из нас уже привыкли работать с Quixel в Obsidian. Некоторые сделали просто потрясающий умный материал для «строительства» Мос Эйсли, так что команде было проще работать со своими текстурами. Всего около 70% текстур было создано в Quixel и около 30% взято из интернета и наших личных коллекций. Для создания большинства текстур стен домов, шпаклевки, грязи и пустынных пейзажей мы пользовались различными фото.

Освещение

Делая грубые наброски для постановки света, я понял, что это нетривиальная задача, и, пригласив специалиста по свету из Obsidian, возложил на него эту нелегкую задачу. Так что расскажу вам о постановке света с его слов.

Источники света меньшей интенсивности на «Соколе», проходы между домами и свет на панелях используют базы материалов для управления уровнем отражения и выпекания индивидуальных карт глобального освещения для вспомогательных материалов. Также пришлось подгонять уровень свечения для солнца на открытой местности и лучей от прожекторов в доке.

Об арт-проекте «Star Wars» на движке Unreal Engine 4

В 95% случаев я работал с одним источником света и выставлял значения свечения в соответствии с температурой по Цельсию. Когда я убеждался, что с источником света все в порядке, я приступал к просчету освещения, делал пробное выпекание и смотрел, где нужен дополнительный источник. После работы над глобальным освещением я начал оформлять освещение интерьеров. Снаружи освещение статично, мне лишь надо было «прикрутить» кое-где значения, чтобы расставить акценты. Туман я создал, используя весь материал, который предоставил мне движок EU4. Воздушная дымка позволила мне сделать акцент на времени суток и углубить цвета, а густой туман позволил «запылить» сцену. Я сделал насыщенность цветов и экспозиции более мягкими для освещения внутри здания и более яркими и грубыми для освещения снаружи.

Об арт-проекте «Star Wars» на движке Unreal Engine 4

Советы

Мы бы хотели дать несколько советов тем, у кого меньше опыта в работе с 3D-редакторами, и кто не знает, на что стоит обратить внимание и с чего вообще начать создавать свой проект, большой или не очень.

  • Перво-наперво нарисуйте себе общую картинку того, что вы в итоге хотите получить. Начните с широких мазков кистью, набросайте сцену в общих чертах прежде, чем вы утоните в более мелких деталях, потеряетесь в трех соснах и ваш проект заглохнет в самом начале. Также подумайте над тем, как именно вы будете делать ту или иную часть вашего проекта. Пошлите к черту советчиков с форума, которые на 146% уверены, что именно их метод верный, вернее быть не может. Нет неправильного или правильного способа, будьте открыты новым идеям, не гнушайтесь учиться у других новому, совершенствуйтесь. Если то, что получилось в итоге — это именно то, что вы хотели, значит вы всё сделали правильно.
  • Понимание того, что такое PBR, сильно упростит вам жизнь, когда вы будете собирать вашу сцену. Использование современных технологий для создания текстур (DDO или Substance Designer (Painter) ускорит процесс создания качественных материалов и текстур. Перед тем, как работать над освещением, расположите все текстуры и материалы там, где они должны быть: это тоже упростит вам задачу. Не бойтесь погрузиться в инженерные заморочки при строительстве ваших зданий. Также при работе над освещением вам поможет знание теории цвета. Атмосферу можно передать игрой цвета, не только настройками света (что сложнее).
Об арт-проекте «Star Wars» на движке Unreal Engine 4
Об арт-проекте «Star Wars» на движке Unreal Engine 4
  • Не советую новичкам браться за что-то настолько масштабное. Не потянете. Лучше начните с чего-то попроще, соберите друзей и коллег, чтобы не работать над всем одному. Даже если один человек сделал что-то маленькое и незначительное для сцены, извлеките из этого максимум пользы. Использование материалов и инструментов по-минимуму, конечно, сохранит вам время, но загрузит компьютеры пользователей под завязку. Качество и скорость находятся по разную сторону баррикад, вам предстоит выбрать сторону перед началом работы над проектом.
  • Процитирую дизайнера, работавшего над имперским шаттлом: “Я сделал свой шаттл немного по-другому, чем кто-либо до меня. Я прибег к более традиционному методу использования большего количества полигонов. Оглядываясь назад, хочу посоветовать вам работать сразу с финальным мешем. Опять же, скорость — ваш враг, если вы хотите получить действительно хороший результат для вашего портфолио. Что касается аккуратных краев, можете последовать примеру Майи и Макса: используйте шейдер, это сэкономит вам массу времени. Также не поленитесь посмотреть и другие инструменты для создания аккуратных, гладких краев.”
  • Следите за пропорциями. Если накосячите — это будет смотреться неаккуратно. Даже если нарушения будут не слишком большими, игрок почувствует себя неуютно, пытаясь понять, что же не так. Пусть у декораций будет история. Не делайте какую-нибудь дверь и не красьте ее от балды в красный. Подумайте: какая история у этой двери? Какого цвета она была прежде, чем ее перекрасили в красный? Сколько раз ее вообще перекрашивали? Кто (что?) использует эту дверь? ЭТО из металла или носит одежду? Дверь нужно толкать или тянуть на себя? Так вы вдохнете жизнь в ваши декорации, а соответственно и в вашу сцену.

Также если вы хотите скачать и оценить нашу работу, милости просим. Проект несколько требователен к ресурсам, поэтому мы рекомендуем 16GB RAM и, по меньшей мере, Nvidia GTX760 или AMD. Чтобы играть на максимальных настройках, мы рекомендуем Nvidia GTX970 и выше, или эквивалентный AMD.

Скачать демо. Зеркало #1
Скачать демо. Зеркало #2
Скачать демо. Зеркало #3
Скачать демо. Зеркало #4
By | 2016-10-27T18:24:48+03:00 30/09/2016|Categories: Игры|Tags: , |1 Comment