Эта статья основана на докладе Мартина Райнманна под названием «Как Odd Bug использовала 2D-свет для создания настроения». В нем рассказывается о процессе разработки студией сцены и о том, как они использовали систему 2D-освещения Unity в сочетании со своими специальными инструментами для создания окружения Tails of Iron.
Проект Tails of Iron был разработан Odd Bug Studio, компанией друзей и художников из Манчестера, Великобритания. Игра состоит из множества различных уровней, на которых игрок может свободно перемещаться от одной сцены к другой через двери или туннели.
Каждая сцена начинается с Collider Tool — собственного инструмента, созданного дизайнером уровней студии. Это место является основой уровня и придает сцене общую форму. Кроме того, игрок ходит по этой поверхности. Линия коллайдеров используется в качестве руководства по наброскам композиций и идей для создания партии ассетов и их размещения в сцене.
Но перед этим сцену нужно обустроить с помощью Light and Layer Tool — собственного инструмента, разработанного ведущим программистом студии Мэттом Тейлором. Этот инструмент позволяет команде управлять освещением, а также поиском и упорядочением ассетов спрайтов, создавая детализированные уровни с использованием большого количества отдельных ассетов спрайтов для создания уровней параллакса.
Как только команда задаст слои, например, фон и середину, Light and Layer Tool соберет все спрайты-рендереры в разделе сцены. Затем ассеты можно отсортировать от ближайшего к нужному расстояния на основе глубины z каждого ассета в сечении уровня. Сформировав этот список, инструмент назначает значения линейно, обеспечивая правильный порядок отрисовки ассетов.
После завершения этого этапа инструмент назначает слой на основе ранее определенных делений в сцене. Это определяет, на какие спрайты влияет определенный 2D-свет. Благодаря сочетанию этих двух процессов студия может создавать большие детализированные уровни параллакса с определенными сценариями освещения для каждого слоя.
Команда также создала библиотеку ассетов, разделенную на несколько атласов для определенного уровня, чтобы они могли с легкостью выбирать ассеты для использования в сценах. Привязка ассетов к определенным уровням помогает оптимизировать игру. Их атласы разделены на категории, такие как скалы, деревья и небольшие ассеты. Команда обычно начинает с размещения промежуточных ассетов для контура коллайдеров и усиления поверхностей сцены.
Размещение нескольких ассетов на переднем и заднем планах помогает настроить освещение. Они продолжают использовать крупные ассеты, например деревья, скалы и холмы, чтобы создать хорошую композицию и добавить детали позже. По мере расположения ассетов функция «Sort» Light Tool обеспечивает правильное назначение и рендеринг ассетов на нужной глубине.
Размещение ассетов иногда похоже на большую 3D-головоломку. Подобрать правильные формы для создания эффективной сцены, читаемой игроком, бывает непросто. Odd Bug хотели, чтобы каждая сцена была уникальной. Это помогает игроку ориентироваться в мире, поскольку каждая сцена становится запоминающейся со своими достопримечательностями или ассетами.
Они размещают ассеты на разной глубине, создавая эффект параллакса во время бега игрока по сцене, а камера перспективы может следить за ним. Это можно преувеличить, разместив объекты дальше друг от друга на оси Z или ближе к камере. Вы можете сделать ассет ближе всего к камере темнее или полностью чернее, так как это создает границу между краями экрана и усиливает глубину.
Еще одной отличительной особенностью инструмента Odd Bug Light Tool является то, что он мгновенно создает искусственную глубину, затемняя цвет каждого слоя деления по мере его перемещения к горизонту. Это позволяет команде настроить плотность и задать глобальный цвет и объем этого затухания. Это создает оптимизированную иллюзию с затухающим горизонтом и атмосферным туманом и в сочетании с дополнительными источниками света и частицами может создавать совершенно разные настроения в сценах.
Когда сцена заполнена ассетами, приходит время добавить освещение, чтобы настроить и подчеркнуть важные элементы сцены. Именно здесь Unity 2D Lights становится частью пользовательского рабочего процесса Light Tool.
Odd Bug адаптировала систему освещения 2D Unity для своего многослойного параллакса Vision. Каждый 2D- источник света определяет собственный слой, основываясь на глубине z в сцене, используя слои деления, задаваемые вручную. Также команда может вручную задать, на какой слой влияет 2D-освещение.
2D-светильники в каждой секции автоматически освещают спрайты в каждом слое правильно. Это дает команде большой контроль над освещением в зависимости от места расположения источников света. Например, вы можете настроить усиленный точечный свет для освещения середины и персонажей с поблекшим фоном, чтобы сосредоточиться на середине.
Система многослойного освещения полезна для создания классных эффектов, таких как силуэтные сцены, где свет устанавливается на задний план и назначается для воздействия только на фоновые слои, что приводит к очень тусклому освещению среднего и переднего слоев. Кроме того, вы можете создать другую атмосферу, добавив освещение за окном или дверным проемом.
Во всех сценах используются три типа освещения: Point, Freeform и Sprite.
Point Light — наиболее распространённый в игре, потому что это 2D-круг, который можно быстро разместить для подсветки важных ассетов или создания искусственных теней. Вы можете использовать его как туманное свечение на фоне, увеличивая громкость, или как свечение лампы, настраивая интенсивность выпадения света.
Freeform Light можно использовать, если на ассет нужно добавить мощный источник света определенной формы, например, окно. Вы можете просто отследить форму ассета, настроить освещение и задать точную глубину ассета. Это создает впечатление, что объект излучает свет.
Sprite Light позволяет задать определенный ассет для проекции в качестве самого источника света. Команда использовала его на лучах света с текстурированным источником света. Этот инструмент можно размещать и поворачивать в сцене, показывая свет, исходящий с разных углов. Комбинируя различные типы освещения, вы можете создавать сцены, где персонажи освещаются атмосферным светом.
Осветив сцену красиво, вы можете приступить к ее отшлифовке, разместив эффекты частиц, чтобы вдохнуть движение и сгладить любые грязные участки. Вы можете поместить туман частиц на выбранную глубину z и настроить рендеринг на правильном подразделении слоя. Туман — это отличный эффект для разделения отдельных слоев, чтобы создать большую глубину. В игре Tails of Iron туман также служит основой для персонажей мира. Таким образом туман немного перемещается в направлении, в котором должен двигаться игрок.
Следующий этап — добавление атмосферных эффектов, таких как пыльные пятна, дождь или опадающие листья, в зависимости от сцены. Хорошо размещать их ближе к камере, чтобы эффект параллакса был сильнее. Эффект дождя — это сочетание падающих капель воды и частиц анимированных забрызг воды, размещенных на земле. Этим частицам, как и всем остальным ассетам, назначаются собственные слои, согласующиеся с эффектом параллакса в игре.
Если в сцене есть высокая трава, цветы или деревья, постарайтесь придать ей немного движения. Ведущий программист Мэтт Тейлор создал инструмент, преобразующий все выбранные листвы спрайтовые шейдеры из сцены в единый специальный шейдер, который анимирует их вместе на ветру. Команда может настраивать значения каждого ассета индивидуально. Листья дерева располагаются кусками листьев разного размера вокруг верхушки дерева, чтобы сделать движение более естественным.
Сцена связана между собой с помощью некоторой цветообработки и виньетки. Они используют собственный инструмент для отрисовки поля на участке сцены, который должна затронуть постобработка. Они могут перетаскивать его по всей сцене или по различным элементам, которые смешиваются во время прохождения игрока по сцене. Если сцена имеет несколько разных состояний, например, днем и ночью, вы можете создать папку со всеми источниками света, ассетами и фильтрами, которые будут включены или выключены в игре.
И наконец, команда делает последний проход (или три) для ассетов, размещения и всего остального, пока сцена не будет отточена. Чтобы узнать больше или задать вопросы о Tails of Iron и его разработчиках, перейдите по ссылке @OddBugStudio в Twitter.
Хотите узнать о возможностях 2D- инструментов Unity? Загрузите пример проекта Lost Crypt. В проект включено окно с уроком, в котором рассматриваются такие функции, как 2D Animation, 2D Sprite Shape, 2D Tilemap, 2D Lights, Shader Graph для 2D, вторичные текстуры и постобработка объема.
Графика, анимация и освещение в 2D-играх для художников — это самое большое и самое полное руководство по разработке 2D-игр, созданное для разработчиков и художников Unity, которые хотят создать коммерческую 2D-игру.