Введение
Игровой движок Unity очень популярен среди разработчиков видеоигр, особенно среди начинающих, из-за простоты освоения и бесплатности. Несмотря на то, что движок ориентирован на трехмерные приложения, он поддерживает работу с двухмерной графикой. Однако не все компоненты редактора одинаково хорошо работают в 3D и 2D. В частности, встроенная система освещения не позволяет двухмерным объектам служить полноценным препятствием для света и отбрасывать тени на другие объекты. На Рис. 1 представлены три типа объектов в редакторе Unity: куб, четырехугольник и двухмерный спрайт.
Рис. 1 Тени, отбрасываемые различными типами объектов Unity. 1) Общий вид сцены. 2) Объекты имеют координату z равную - 0.5, источник света - 1.5 3) Координаты z объектов и источника равны - 0.5
Ко всем объектам прикреплен одинаковый материал с одинаковым шейдером. Если куб является полноценным препятствием для света, то четырехугольник отбрасывает тень только от тех источников, которые не лежат в одной плоскости с ним, а спрайт и вовсе игнорируется системой расчета теней. В трехмерном пространстве это обусловлено физическим расчетом освещаемых областей, так как четырехугольник, в отличие от куба, не имеет толщины, однако в двухмерном пространстве объемные фигуры представлены плоскими 2D объектами, поэтому необходимо обеспечить возможность взаимодействия со светом двухмерных объектов, идентичную взаимодействию трехмерных в 3D пространстве.
игровой движок unity освещение
- Введение
- 1. Актуальность работы
- 2. Цели и задачи работы
- 3. Обзор аналогов
- 3.1 2D Light System
- 3.2 2D Dynamic Lights and Shadows
- 3.3 Light2D - GPU Lighting System
- 3.4 Light2D
- 3.5 2DVLS (2D Volumetric Lights and Shadows)
- 3.6 Seasons After Fall Rendering System
- 3.7 Игровой движок Ethanon 2D
- 3.8 Система освещения Unity
- 4. Компоненты разрабатываемой системы
- 4.1 Планы
- 4.2 Объекты
- 4.3 Источники света
- 4.3.1 Ambient Light
- 4.3.2 Directional Light
- 4.3.3 Point Light
- 4.3.4 Spot Light
- 4.3.5 Area Light
- 4.3.6 Emissive Objects
- 4.4 Система расчета теней
- 4.4.1 Расчет внешних теней
- 4.4.1.1 Метод трассировки лучей
- 4.4.2 Форма теней
- 4.4.3 Внутреннее освещение
- 4.5 Запекание света
- 4.6 Менеджер освещения
- 4.7 Графический интерфейс
- 4.8 Документация
- 5. Реализация системы в Unity
- 5.1 Реализация объектов
- 5.2 Источники освещения
- 5.2.1 Ambient Light
- 5.2.2 Point Light
- 5.2.2.1 ShadowMap
- 1. Определение, находится ли источник внутри объекта
- 2. Поиск базовых и вспомогательных точек
- 5.2.2.1.2 Поиск базовых и вспомогательных точек
- 5.2.2.1.3 Поиск крайних точек
- 5. Поиск корректирующих коэффициентов для задания UV координат
- 5.2.2.1.5 Поиск корректирующих коэффициентов для задания UV координат
- 5.2.2.1.6 Поиск "точек привязки"
- 5.2.2.1.7 Наложение текстуры тени