Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Гайды Мой Кабинет

Как сделать 2D освещение в Unity

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

Создавать освещение мы будем на примере горящего факела, который будет освещать все объекты вокруг.

Поскольку стандартный материал 2д объектов никак не взаимодействует со светом, то нам необходимо создать новый материал, который будет взаимодействовать со светом. Для этого в окне Project создаём новый материал: ПКМ - Create - Material. Назовём наш материал, например, Diffuse.

Далее выбираем наш только что созданный материал, и в окне Inspector в поле Shaders выбираем шейдер Sprites/Diffuse.

После этого, картинка нашего шейдера стала квадратной. Это говорит о том, что данный материал предназначен для 2д объектов.

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

Отлично, теперь для освещения наших объектов, нам нужно создать объект, который будет являться источником света. Для этого через окно Hierarchy создаём объект типа Light - Point Light. Назовём наш объект, например, Point Light. По желанию, данный объект можно вложить внутрь того объекта, который должен излучать свет. Я его вложу внутрь объекта факела.

Отлично! Что же у нас получилось в итоге? Мы создали материал, который взаимодействует со светом, и создали сам источник света, но на сцене ничего не освещается. А всё потому, что все наши объекты и сам источник света находится на одной плоскости. Чтобы это исправить выберем наш источник света Point Light, и в окне Inspector в компоненте Transform уменьшаем значение пля position по оси z на любое отрицательное число. Например на -1, или на -0.5, или на любое другое значение. Советую поиграться с этим значением самостоятельно, чтобы определить наилучший эффект.

Изменение значения Z компонента Transform указывает, на каком расстоянии будет находится источник света, от всех Ваших объектов. Но помимо этого свойства, Вы так же можете поиграться и со свойствами компонента Light, а именно:

  • Range - Указывает диаметр освещения
  • Color - меняем цвет освещения
  • Intensity - регулирует интенсивность, или грубо говоря, силу освещения.

Помипо настроек источника света, существуют и другие, более глобальные настройки. Заходим во вкладку Window - Rendering - Lighting.

Нам откроется окно Lighting с различными настройками. Все настройки разбирать не будем, а затроним только одну, которая Вам может понадобится. В разделе Environment находим поле Ambient Color, который отвечает за цвет неосвещённых объектов.

Благодаря этому полю, мы можем сделать наши неосвещённые объекты любого цвета, например, полностью чёрными.

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

Если эта статья была полезной для Вас, буду рад Вашим лайкам.

Вы можете отблагодарить автора донатом. ₽ Спасибо

Комментарии

0
Будьте первым, кто оставит комментарий к этому посту
Гости не могут оставлять комментарии. Войдите на Сайт или Зарегистрируйтесь