Как создать атмосферные окружения с ограниченным бюджетом

ALFONSO CAPARRINI / LAPSUS GAMESDeveloper
Aug 22, 2025|5:20 Мин
Ключевое искусство из УЗЛА: Последняя услуга Антарии от Lapsus Games | Сделано с Unity. Небольшой робот в каком-то воздуховоде заглядывает вниз в открытый шахтный люк. Над ним находится вентилятор с светом и частицами, спускающимися вниз.
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.

Сегодняшний гостевой пост от Альфонсо Капаррини, соучредителя и разработчика Lapsus Games. 28 августа Lapsus запустил свою дебютную игру, NODE: Последняя услуга Антарии, уникальное 2.5D приключение-головоломка с абсолютно потрясающим освещением в игре. Узнайте, как Альфонсо, профессиональный CG-художник по дню, подходит к освещению в HDRP, чтобы создать NODE's густо атмосферные окружения в Unity.

Как художник по освещению в анимационной индустрии, я привык к тому, что у меня практически нет ограничений на то, что я могу добавить в сцену, чтобы получить желаемый вид. А если что-то не работает? Я исправляю это в композитинге. Но чтобы получить один единственный кадр из этого потока, может потребоваться десятки или даже сотни часов времени рендеринга.

Когда я начал разрабатывать NODE: Последняя услуга Антарии в Unity, мне пришлось изменить свой подход, чтобы получить кинематографические, атмосферные результаты, к которым я привык, но это должно было работать на 60 кадров в секунду вместо 60 часов на кадр.

Не нужно и говорить, что введение объемного освещения никогда не бывает дешевым, но вот некоторые инструменты и техники, которые я разработал, чтобы осветить NODE так, чтобы это выглядело богато и кинематографично, при этом оставаясь достаточно простым для производительного выполнения в реальном времени.

Обычная отправная точка: Просто ключевой свет

С этого начинается каждый: Вы добавляете один ключевой свет и надеетесь, что Глобальное освещение (GI) волшебным образом заполнит остальное.

Скриншот из NODE: Последняя услуга Антарии от Lapsus Games | Сделано с Unity. 3D окружение широкого открытого промышленного пространства. Красная звезда на потолке отбрасывает тень на землю, которая выложена красными гексагональными плитками.
Сцена только с одним источником света

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

Скриншот из NODE: Последняя услуга Антарии от Lapsus Games | Сделано с Unity. 3D окружение в основном в тени. На красном плиточном полу тень звезды накладывается на структуру на потолке.
Добавлены отражающие пробы и запеченный свет

Объемные эффекты: Добавление глубины

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

Тем не менее, этого все еще недостаточно!

Скриншот из NODE: Последняя услуга Антарии от Lapsus Games | Сделано с Unity. 3D окружение в основном в тени. На красном плиточном полу тень звезды накладывается на структуру на потолке. Потоки света выявляют легкий туман в атмосфере сцены.
Добавление объемного тумана

Это тот момент, когда вы можете начать сходить с ума, пытаясь добавить свет везде – гигантские источники света, источники света без теней и т. д. – чтобы заполнить все пространства, которые освещает свет или глобальное освещение. Но накопление всех этих идей, скорее всего, приведет к тому, что сцена будет казаться более плоской из-за потери объема и размерности – или будет работать гораздо медленнее.

Моя цель для УЗЕЛ заключалась в создании ощущения плотно атмосферного окружения, с светом, отражающимся и рассеивающимся в самом воздухе, не ухудшая производительность. С этой целью я разработал это решение.

Имитирование рассеяния света в воздухе с использованием геометрических объемов

Чтобы реализовать свои цели освещения для УЗЕЛ, я создал очень простой неосвещенный шейдер, который создает плавный градиент с HDR цветами. Я добавил элементы управления для средней точки, затухания и множителя эмиссии. Я использую этот шейдер на базовых геометриях, таких как сферы, капсулы, коробки или пользовательские сетки, размещенные в областях, где я хотел смоделировать свет, заполняющий воздух. Эти объемы не физически точны, но они ощущаются правильно.

Скриншот УЗЛА: Последняя услуга шейдеров Антарии в редакторе Unity.
Вид Shader Graph шейдера Custom Ramps

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

Скриншот в редакторе из УЗЛА: Последняя услуга Антарии от Lapsus Games. Большой объект в форме таблетки синего цвета наложен на 3D окружение с красным плиточным полом. Таблетка - это гео, имитирующее яркое ядро света.
Гео, которое имитирует яркое ядро света

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

Скриншот в редакторе из УЗЛА: Последняя услуга Антарии от Lapsus Games. Большой синий объект наложен на 3D окружение. Эта форма представляет геометрию для более мягкого, тусклого и дальнобойного заполнения света
Геометрия для более мягкого, тусклого и дальнобойного заполнения

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

Скриншот УЗЛА: Последняя услуга Антари в редакторе Unity. Просмотр запеченной карты света в промышленной сцене.
Соответствующая запеченная карта света
Скриншот УЗЛА: Последняя услуга Антари в редакторе Unity. Просмотр запеченной карты света в промышленной сцене с добавленными геометрическими эмиттерами.
Результат с геометрическими эмиттерами

Туман, градиентное небо и тональная коррекция

Затем я дополнил сцену традиционным туманом – достаточно, чтобы добавить глубину сцене в зависимости от ее размеров. Я отрегулировал яркость и цвет с помощью Градиентного неба, что позволяет мне унифицировать цветовую палитру и установить общий тон для окружения.

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

Скриншот УЗЛА: Последняя услуга Антари от Lapsus Games в редакторе Unity. Финальный рендер промышленной среды
Конечный результат

Плавные переходы между атмосферой

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

Это также помогло мне избежать использования большого количества источников света и сохранило время запекания света на очень низком уровне. Я горжусь тем, что могу сказать, что общее время запекания для 150 различных сцен в NODE составляет менее 1 часа!

Несколько запеченных световых карт из NODE: Последняя услуга Антарии от Lapsus Games. Сделано с помощью Unity.
Вид запеченных световых карт различных сцен вместе

Решение сложного освещения с помощью одной сетки

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

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

Сравнение бок о бок двух различных атмосферных областей в NODE: Последняя услуга Антарии от Lapsus Games, Сделано с помощью Unity.
Слева: Запеченная световая карта большого перехода между двумя различными атмосферными областями Справа: Как был достигнут этот переход без света и только с одной коробкой

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

Скриншот УЗЛА: Последняя услуга Антари от Lapsus Games в редакторе Unity. Рендер контрольной комнаты с множеством мониторов.
Результат смешивания двух световых секций в небольшом пространстве
Скриншот УЗЛА: Последняя услуга Антари от Lapsus Games в редакторе Unity. Вид на геометрию за несколькими эффектами в сцене.
Показ геометрии и цветового градиента, использованных для создания этого эффекта

Итоговые мысли

Освещение УЗЕЛ: Последняя услуга Антари была полностью посвящена принятию ограничений и превращению их в творческие возможности. Приходя из мира анимации, мне пришлось переосмыслить многое из того, что я знал: Как обмануть без композитинга, как направить взгляд, не бросая больше света на проблему, и как сделать сцену насыщенной, не нарушая производительность.

Надеюсь, некоторые из этих приемов дадут вам идеи для вашего собственного проекта или хотя бы напомнят, что всегда есть способ обойти первый интуитивный подход. Спасибо за чтение!

УЗЕЛ: Последняя услуга Антари доступна сейчас на ПК и консолях добавьте игру в список желаемого здесь. Следите за другими играми, созданными с помощью Unity, на нашей странице кураторов Steam, и ознакомьтесь с другими историями разработчиков Unity на нашей странице ресурсов.