Делаем фонарик и управление им
Итак, будем делать фонарик для нашего ужастика или может шутера, не суть. Вообще, даже для тех только начинает изучать Unity, такая вещь должна быть очевидна. Просто добавляешь источник света и вроде бы всё готово. Но здесь мы реализуем полноценное управление фонариком. То есть, вкл./выкл. плюс перезарядка, также у нашего фонарика будет конкретное количество, как бы запасных батареек. Дополнительно сделаем индикатор, который будет отображать текущий заряд батареи. Когда заряд падает, индикатор изменит цвет, а если батарея почти разрядилась, то с начала падает яркость, затем начинается мерцание и фонарик гаснет.
Приступим. Добавляем на сцену Spotlight, ставим источник света в нужное место, настраиваем основные параметры: цвет, дальность, угол. Включаем тени, если нужно и еще нам надо сделать печеньку Cookie, то есть это текстура для света, наложение узора.
Текстура должна иметь примерно такой вид:

Настройки импортирования для этой текстуры:

Далее, чтобы сделать индикатор, добавляем на сцену UI > Slider и настраиваем его визуально.
Когда всё готово, вешаем в удобное место скрипт управление Flashlight:
Вот и вся история. Для включения и выключения — клик по клавише, а чтобы перезарядить фонарик, нужно удерживать клавишу.
Дом в лесу. Работа с освещением в Unity 3D
Продолжим «природную» тематику. Ранее, мы учились делать деревья, построили простой домик, а сегодня добавим чуточку света! Создав простую сцену, мы научимся основам работы с динамическим освещением, различными видами источников света и создадим фонарик.
Материалы к уроку здесь. Ну что, поехали!
Порядок выполнения
Начнем с нового проекта, и, для экономии времени и сил, добавим в него ассет Nature Starter Kit 2.

Удалим из неё камеру, добавим игрока от первого лица из ассета Characters, и импортируем дом из прошлого урока.

Видно, что дом абсолютно белый и мы проходим сквозь него. Перейдём в настройки импорта модели и выставим галочку Generate Colliders.

Далее, перейдём во вкладку материалов модели и сменим тип импорта материалов с Internal на External. Кликаем «принять», при этом происходит импорт материалов из папок SketchUp. В итоге, дом становится материальным и раскрашивается в нормальные цаета.

Но дом «просвечивает» по углам — давайте избавимся от этой проблемы:
Для этого выставим компонентам Mesh Renderer параметр Cast Shadows в значение Two sided. Теперь, свет проходит только через окна.

Уберём синеву и снизим яркость света. Для этого откроем панель Lighting и выставим Ambient Color значение пониже.

Теперь, найдём источник направленного света и изменим его цвет и интенсивность. Сделаем почти чёрный цвет с лёгким синеватым оттенком.
Добавим на вход светильник — создадим сферу и новый для неё материал, выставим светимость материала в виде светло-серого цвета.
У сферы отключим отбрасывание теней.
Внутри сферы создадим Point Light, у которого увеличим дальность и выставим тип теней Soft Shadows.
Теперь, займёмся созданием фонарика. Для этого в игрока, во вложенный объект, который содержит камеру, добавим компонент Light и выставим его в режим Spot.
Добавим фонарику дальности и направим всего игрока на стену — так проще настраивать.
Зачастую, не обязательно увеличивать интенсивность света, бывает достаточно добавить дальность — это убережёт от «пересветов» на ближних дистанциях.
Также, свету можно добавить в параметр Cookie световое пятно. Импортированный пак содержит как минимум 2 готовые текстуры.
Это световое пятно добавит нашему фонарику необходимый эффект.
Теперь, сделаем так, чтобы фонарик можно было выключать. Для этого, создадим новый скрипт.
Закидываем его и указываем скрипту компонент, которым хотим управлять. При этом, мы должны отключить компонент света фонарика, чтобы при старте игры он был выключен.

Если учащиеся справились раньше, можно добавить звук включения / выклчюния фонарика: импортируем приложенный звуковой файл (в папке материалов к уроку), на объекте фонарика добавим компонент AudioSource и закинем в него звук, уберем чекбокс PlayOnAwake.

Код тоже придётся модифицировать, добавив обращение к AudioSource.
На этом этапе разбор динамического света и основных его источников можно считать завершённым.
В начале статьи, вы найдете ссылку на полный проект, но в случае с неустановленным SketchUp на ваш компьютер, модель дома не распознается.
Как сделать фонарик в unity
Простая компоновка двух источников света
Свойства компонента Light в инспекторе
Яркие, солнечные источники света
Мрачные, средневековые источники света
Жуткие ночные источники света
For more information on how lights work see the Lighting Overview page. For more information about using the Light Component, check the Lighting Reference.
Дебютный ролик о создании фонарика на Unity
Давеча, я решил, что стоит разнообразить свою жизнь и сделал ютуб-канал по урокам скриптинга и самого Unity, в частности.
Может, получилось не совсем идеально, но ничего идеального нет, кроме женской груди, конечно.
Собственно, это мой первый видео-урок, так что, я тоже своего рода «учусь». Надеюсь видео будет для вас интересным и самое главное полезным.
Кстати, разработка моей игры продолжается. Уже, даже, вышла демка (об этом я расскажу немного позже).