Привет! Меня призывают Брайан Адамс (Bryan Adams), мне 23 года, я родом из дальних земель Новой Зеландии. Я вырос на Южном острове, в кромке сельхозугодий, завораживающих гор и восхитительного неба. В течение семи лет я учил анимацию, визуальные эффекты, 3D-моделирование, а прямо сейчас мастерю упор на игровую разработку. За годы учёбы у меня было немало практики, включая работу в Новой Зеландии и за рубежом и даже преподавание. Сейчас я на заключительном году обучения по специальности Game Art в Media Design School.
Мне вечно нравилось масштабное окружение, сначала в фильмах и анимации, после и в играх. Всё началось года два назад, когда я встретился с Майком Портером (Mike Porter) в Окленде во пора обыденной поездки, нацеленной на изучение дальнейших курсов. Три месяца спустя я посетил мастер-класс от Джейсона Сассмена (Jason Sussman) – на тот момент трудящегося старшим художником окружения, ответственным за внешний вид Марса в первой Destiny – в каком он рассказывал о специфике рабочего процесса в Bungie. В тот самый день я и влюбился в игровое окружение и с тех пор развиваю свои познания в UE4.
Когда я начинов работать с окружением, меня сразу заинтересовали скайбоксы и то, как они передают эмоции и поддерживают историю. Специализированную информацию по скайбоксам отыскать было сложно, но в итоге мне попалась на глаза программа Vue от E-on Software, позволяющая основывать замечательные статичные скайбоксы:
Сейчас я пользуюсь отличным плагином для UE4 под наименованием Truesky, с ним можно создавать процедурные скайбоксы с объёмными облаками и погодными условиями. Я обожаю этот плагин за возможность экспериментировать с небосводом в реальном времени без необходимости в бейкинге и рендеринге:
Теория
Скайбоксы вечно занимают внушительную часть пространства вокруг вас, будь вы на Земле, на Марсе или на Конкорде (Halo 4). Вы можете и не задумываться об этом, но небосводы рассказывают вам о мире и его атмосфере, и при разработке скайбокса следует учитывать масса факторов.
Одни из основных элементов, которые я беру в расчёт, принимаясь за новоиспеченный скайбокс, это время, место, история, анимация и эмоции. Пора суток, разумеется, многое значит для любого скайбокса, но когда выговор идёт о динамических скайбоксах, важно думать и о том, как изменится небосвод со временем. Место также играет важную роль: в подневольности от того, где вы находитесь, окружение будет оказывать на разный эффект на игровой процесс. Так, вы стоите у моря в ветреный день – на воду может склониться лёгкий туман, и освещение будет смягчено. Дальше шагает история данного места: как здесь проходит обычный день, выходит ли что-то особенное (вроде солнечной активности на карте Solace из Halo 4). Анимация значительна, потому что она оживляет сцену и помогает проникнуться ей – посреди космоса вы можете не ощущать ровный причастности к окружению, но движущийся спутник или пролетающая мимо комета позволят игроку укрепить свою связь с этим пунктом, и так вам будет проще добиться задуманного эффекта. И последнее – но не по важности – эмоции. Что должен ощущать игрок, глядя на горизонт? Умиротворённость, восхищение, испуг?
Всем, кто интересуется скайбоксами, рекомендую взглянуть, как Рик Нокс (Rick Knox) демонстрирует отдельные элементы, из каких он собирал скайбокс карты Longbow из Halo 4 – я был весьма впечатлён, впервые увидев это небо.
Как создавать динамические скайбоксы в UE4?
Для создания динамичных скайбоксов в UE4 я пользуюсь плагином TrueSky, это превосходный инструмент, и трудиться с ним будет легко, если вы уже знакомы с той же Vue.
Я покажу простой образец скайбокса в Truesky и расскажу, как настроить объёмные облака, храня определённую эстетику. В качестве основы для окружения я воспользовался World Machine, а при поддержки Truesky менял оригинальный скайбокс. Также я подключил устремлённое освещение для симуляции Солнца и Луны.
В качестве отправной точки я избрал базовую водную поверхность и простой меш из World Machine.
Обыкновенно я первым делом повышаю плотность облаков, чтобы было, с чем трудиться.
В Truesky менять время суток проще простого, я выставил 6:30, чтобы добавить облакам немножко цвета.
Чтобы избавиться от однообразия и слишком крупных конфигураций, меняем плотность облаков и добавляем шум Уорли. Это делает сцену природнее, и в Truesky много других настроек, повышающих реалистичность скайбокса.
Крупный план облаков: как видаете, уже довольно правдоподобно.
Освещение
Освещение – важная часть труды над скайбоксом. Обычно я отключаю подгрузку текстур в UE4 и создаю стальной проход рендеринга, чтобы сконцентрироваться только на освещении. Это помогает мне подогнуть подходящее время суток, после чего я перехожу к облакам. Я обращаю внимание на такие предметы, как тип облаков, область покрытия, атмосферное освещение, отражённый свет/подсвечивание облаков, скорость затухания, второстепенные пласты и движение. Разобравшись со всем этим, я включаю подгрузку текстур и могу использовать Post Process Volume для ювелирной настройки нужных значений. На статичных скайбоксах я всегда меняю температуру краски, добиваясь большего реализма и затем полагаюсь на постобработку для настройки до желаемого итога.
Как добавляются художественные штрихи?
Я думаю, важный аспект, какому часто не уделяют должного внимания – это движение. Сочетание листвы и движения облаков или объектов окружения может существенно повысить реализм и воскресить мир. Второстепенные акторы на заднем плане, вроде животных/созданий, городов или какого-либо рода движения, добавляют сцене глубины, масштабов и истории.
Можно украсить сцену и иными штрихами, и здесь лучше всего поможет обращение к трудам людей, которые вас вдохновляют. Когда я был моложе, я постоянно глядел на небо, и однажды у нас был северо-западный ветер, создающий невероятные краски и формы. Знаете, как в кино, когда думаешь, будто в жития такого не бывает. В некоторых играх я чувствовал нечто подобное – мне нравится окружение и скайбоксы в проектах Bungie, от первой Halo до Destiny 2, и размышляю, что их скайбоксы многое добавляют сюжету и ощущениям от игры в цельном. Очень важно искать источники вдохновения, подталкивающие к созданию чего-то новоиспеченного, и для меня это Райан Уоткинс (Ryan Watkins), Мукул Соман (Mukul Soman), Ту Бси (Tu Bsi), Гёкхан Карадайы (Gökhan Karadayı) и Рик Нокс.
Желаю поблагодарить Бреда Аллена (Brad Allen) и Джейсона Сассмена за обучение и наставление на этот примечательный путь.
Примечание: TrueSky доступен для Unity и Unreal Engine.
Оригинал статьи на 80.lv – Real-Time Skies: Theory and Practice.