Хабрахабр

[Перевод] Модульный Sci-Fi уровень на UE4: вдохновляемся Ностромо и Серенити

Баланс и реиграбельность, пожалуй, одни из главных моментов для PvP-шутера. Визуал тоже важен и для всего этого у нас есть целый пайплайн левел-дизайнера. Другое дело — жанры, где атмосфера окружения стоит на первом месте, а над уровнем работает один человек вместо целой команды. И воркфлоу такого «человека-оркестра» мне оказался очень интересен. Недавно наткнулся как раз на статью, где автор выполняет как раз такую роль и создает Sci-Fi локацию.

И как тизер — вот что получилось в итоге: Под катом большой перевод всего процесса — от модульных ассетов и материалов на основе фотографий до освещение и характера сцены.

Введение

Меня зовут Мэтт Олсон, я художник окружения из Orange County, California. Изучал изобразительное искусство, иллюстрацию и графический дизайн в университете штата Калифорния Лонг-Бич.

Большую часть времени я рисовал инопланетян и инопланетные пейзажи, но еще работал с Lightwave 3D. Моя карьера началась в 1997 году в роли концепт-художника небольшой компании, разрабатывающей научно-фантастическое MMORPG Atriarch. В 2001 году начал работать в Collective — небольшой независимой студии, базирующейся в Ньюпорт-Бич. Это была отличная платформа для изучения моделирования, освещения и анимации. За 9 лет в этой студии из художника окружения я стал ведущим художником окружения, а затем арт-директором. Делал Wrath: Unleashed, Getting Up, Star Wars Episode III Revenge Of The Sith, The Da Vinci Code, Silent Hill: Homecoming, Front Mission Evolved и еще несколько неизданных проектов.

Там работал старшим художником над шутером EVOLVE и несколькими VR-проектами. Потом я ушел из менеджмента, чтобы снова вернуться к созданию арта — в Turtle Rock Studios. А сейчас мы разрабатываем неанонсированный тайтл.

Sci-Fi проект Anastasios: начало

Sci-Fi — мой любимый жанр для работы над дизайном окружения. Мне нравится свобода при создании пространств, очертаний и форм. Вероятно, именно поэтому любимыми проектами всегда были EVOLVE и Star Wars. В Sci-Fi я захотел погрузиться после создания своего видения Дикого Запада для ArtStation Challenge. Там Дикий Запад смешался с научной фантастикой и стало понятно, что мне ближе из этого.

Недавно смотрел «Чужого», «Миссию „Серенити“» и 4-6 эпизоды «Звездных войн». Обычно во время работы я включаю фильм. «Чужой» сильно повлиял на атмосферу с олдскульными технологиями. «Миссия „Серенити“» — то, откуда изначально пришла идея сделать «обжитый» корабль. Мне нравится громоздкий старый тип электроники с тактильными переключателями, кнопками и зелеными ЭЛТ-мониторами.

Хотелось, чтобы все поверхности были грубыми, поцарапанными, маслянистыми, грязными и неопрятными. Еще вдохновлялся старыми подводными лодками и морскими кораблями, в основном, из-за прекрасного инженерного хаоса вокруг (и чтобы избежать копирования стиля из фильмов). Локация должна была выглядеть так, будто ей нужен хороший ремонт.

В итоге появился целый интерьер корабля. Хотел ограничиться типичным Sci-Fi коридором, но когда все было готово, решил развивать идею дальше. Правда он еще не закончен (хочу добавить больше деталей, которые указывали бы на присутствие людей).

Прототип уровня (Blockout)

Повторюсь, сначала планировалось создать небольшой участок коридора. Главная цель: сделать переполненное и хаотичное пространство, которое при этом имело бы ясно видимый проход для людей. Первый блокаут коридора был слишком широким, а я стремился сделать его таким же плотным, как на подводной лодке. Поэтому набросал гораздо более узкую версию, но после быстрого импорта в UE4, понял, что перестарался. Теперь он не позволял разместить камеру в любом месте для создания хороших скриншотов. Я замоделил коридор, чтобы определить минимальное и максимальное расстояния, а затем использовал их в качестве стандартов для остальной части корабля. Очевидно, что некоторые помещения стали больше, особенно два ангара и круглое ядро в середине корабля.

Потом сделал грубый блокаут всего коридора.

Когда вопрос с общим видом сцены (неважно, будет это концепт-арт или референс) закрыт, начинается создание набора текстур (он будет расти по мере необходимости).

Первыми я смоделировал модульные стены, полы и потолки. Окружающая среда построена с использованием трим- и тайл-текстур (trim sheets и tileable texture). Затем появился модульный набор труб и модульные дверные элементы (дверные рамы, люк, одиночные и двойные двери). Первоначально было три типа стен, в итоге их стало пять. Этого хватало, чтобы построить основу коридоров и комнат.

Я сделал базовый набор этих вещей и наполнил ими коридор, чтобы выровнять пустоту и добавить жизнь в локацию. Далее стояла задача смоделировать все панели, машины, детали, источники света и вспомогательные элементы (рычаги, циферблаты и кривошипные колеса).

Модульные ассеты

Когда дело доходит до модульных ассетов, я обязательно строю все на сетке, которая следует за метрическими измерениями UE4. В Maya устанавливаю единицы измерения в сантиметры, а затем делаю сетку с шагом 1 метр с делениями каждые полметра. Когда готовлю модель для экспорта, проверяю, что моя точка вращения установлена в точку на этой сетке. Это нужно, чтобы она как положено сошлась в редакторе. Также слежу за тем, чтобы мои модульные элементы заканчивались на сетке и сходились друг с другом.

Например, добавить кабельную систему UE4 для протягивания проводов и кабелей через все сцены, чтобы помочь с задуманным организованным хаосом. Как только библиотека модульных частей будет готова, я смогу обновлять ее для разнообразия. Система крута в том, что вы прикрепляете конец кабеля к предмету и устанавливаете его в любом месте — кабель протянется сам. Для размещения проводов и кабелей я сделал «вилки» (plugs), которые мог ставить в любом месте локации.

Для моста, например, нужны сиденья и консоль. Несколько кастомных моделей были созданы специально для моста и ангара. По сути они были сделаны так же, как и все остальное (с использованием trim sheets), но мне все равно пришлось придумать некоторые уникальные особенности.

Основной корпус шаттла — это специальная модель, изготовленная с использованием материала Blend, чтобы можно было добавить эффект изношенности по краям и углам. Шаттл в ангаре тоже самостоятельный объект, который был закитбашен.

Материалы

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

В ней так много мелочей и деталей, которые к тому же бесплатны. При создании материалов я люблю сканировать вещи из реальной жизни. Но так как для моего Sci-Fi проекта это сделать не так просто, я решил создавать материалы на основе фотографий: во-первых, они дают нужный внешний вид, а во-вторых, у меня есть несколько лет опыта работы с этим.

Я начал с типичного материала Sci-Fi стены, который использовался бы во всем проекте. Метод похож на то, как вы создаете материал в Substance Designer, но делается это в Photoshop с использованием определенных слоев и фильтров.

Потом почистил и убрал внешние косяки. Я взял два изображения для создания первого материала: нержавеющая сталь для создания границы стены и старая дверь-рольставни для основной части стены. Наконец, настроил гистограмму, чтобы удалить все слишком темные и светлые значения. Затем удалил информацию об освещении, кроме эмбиента — его добавил под металлический каркас вокруг границы. Еще немного уменьшил контраст.

Шаг довольно простой, особенно с таким материалом стены. Потом сделал карту нормалей. Это — база для карты нормалей, которая будет управлять общей глубиной материала. Создается простая карта высот с черно-белыми градиентами, которые соответствуют крупным фигурам в базовом цвете. Появляется ощущение пластикового покрытия. Для создания тонкого слоя Bump я использую ненасыщенную версию базового цвета с агрессивно увеличенным контрастом.

Для генерации нормалей пригодится плагин XNormal в Photoshop. Сохраняю мелкие детали для карты шероховатости. Так можно контролировать силу Bump, просто регулируя непрозрачность слоя. Я смешиваю слой Bump с генерируемым слоем высоты, удаляя синий канал и используя режим смешивания Hard Light.

Для карты шероховатости я обесцвечиваю базовый цвет и делаю необходимые изменения для получения бликов и неровностей.

Есть одна вещь для сохранения количества карт при уменьшении памяти. Мой материал, настроенный для стандартного материала PBR, довольно прост в UE4. Шероховатость помещаем в зеленый канал, потому что это помогает со сжатием текстуры. Я объединяю карты (металлическую, шероховатости и AO) в одну структуру, используя каналы RGB.

Trim Sheets и Сборка

Во время создания Sci-Fi окружения trim sheets незаменимы, особенно при китбашинге. Главное, для чего они нужны — это переходные зоны (например, где стена встречается с полом) или для сборки каркаса (чтобы прикрепить объект на другую поверхность). А также для создания балок, рам и труб, которые помогают выстраивать структуру среды. Для конкретно этой среды был сделан один trim sheet. Почти каждая модель использует его в той или иной форме.

Они обычно состоят из элементов, непохожих на плитку, панели, консоли, листы металла и другие. Вместе с trim sheets я использую много atlas sheets.

Примерно как, когда вы постоянно копаетесь в одном и том же меню редактора или инструменте, и задаетесь вопросом: «Почему у меня для этого нет горячей клавиши?». Я использую модули еще и для уменьшения монотонной работы во время создания сцены.

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

Например, делать плоскую поверхность «идеально» плоской или чтобы нечто цилиндрическое имело количество сторон кратным 4 (4, 8, 16, 20, 24, 36). У меня даже есть несколько обсессивно-компульсивных признаков при моделировании. Цель — чтобы он выглядел старым, обжитым, будто экипаж делает все возможное для поддержания его в рабочем состоянии. Но при создании интерьера корабля я не беспокоился о его идеальном виде.

Освещение

Чтобы придать атмосферу локации, хотелось сделать густой воздух со множеством частиц. Я выкрутил освещение достаточно ярко, чтобы объекты не терялись в темноте, но осталось ощущение, что лампочки можно протереть от пыли. Еще хотелось добавить цвета. Во многих Sci-Fi фильмах и играх за последние несколько лет, окружение все такое темное, коричневое или серое. Выглядит весьма однообразно. Мне очень нравится освещение в «Чужом» и «Чужих», но не хотел копировать их стиль полностью и старательно избегал темных или ярко белых поверхностей.

В основном применял только статическое освещение. Я использовал «объемный» туман и освещение. Стационарные источники света использовались, когда было нужно получить определенное объемное рассеяние: Point lights для создания свечения внутри или позади объекта и Spotlights для создания лучей.

На Земле это не проблема, потому что там есть атмосфера, которую можно смешать с небесным куполом. Одна из самых больших проблем — это заставить «объемность» работать внутри корабля, не затрагивая звездное небо за его пределами. Решение было простым, но мне пришлось пойти на компромисс с плотностью тумана — у него есть значение View Distance, которое дало плотную атмосферу. Космос — другая история.

Она добавляет больше глубины, особенно в узких пространствах. Мне нравится использовать подсветку для получения обводки на мидграунд-объектах. А также помогает сложным объектам не затеряться в фоне.

Больше всего расставлял Point lights, так как они заполняют пространство большим количеством света, и не нужно думать, в каком направлении они указывают (они спрятаны за мидграунд-объекты для создания подсветки). Я использовал каждый тип света, кроме направленного, потому что делал только интерьеры. Spotlights использовались для света в определенном направлении (например, при прохождении через вентиляцию). Rect Lights использованы почти на всех светильниках, потому что они естественнее распространяют свет от источника. А чтобы не пересветить сцену, нигде не использовалось значение выше единицы.

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

Хотелось, чтобы свет исходил изнутри машины. Потом размещаю несколько объемных огней для большей атмосферы. Как только я доволен сценой в целом, то перебираю значения и цвета для желаемого вида. Последним этапом добавляются акценты от всех небольших источников света, включая консоли и экраны компьютеров.

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

Добавление характера сцене

В видеоиграх окружающая среда должна иметь столько же характера, сколько сами персонажи. Это помогает повествованию без дополнительных слов. Мне нравится добавлять персональные отсылки, как в Silent Hill: Homecoming. Я попросил каждого человека из команды разработки написать короткое сообщение или имя, которое они бы написали на стене тюремной камеры. Эти фразы стали основой для atlas textures, которые используется на уровне с тюрьмой.

У меня было несколько целей при создании Sci-Fi локации: грубые и потертые материалы, неровные и поверхности без блестящих элементов, сложные механизмы, никаких сенсорных экранов, никаких голограмм, физические кнопки и рычаги, много проводов и труб, компьютерные технологии 80-х, асимметрия, небольшие замкнутые пространства, как на подводной лодке или военном корабле, и упорядоченный хаос.

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

Хотелось, чтобы игроки больше исследовали корабль, потому что каждое помещение там уникально.

Я нашел греческое имя Anastasios (Воскрешение). Название корабля произошло от подражания кораблям Ностромо и Сулако из фильмов «Чужой» и «Чужие».

Вроде подходит.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»