3. Обзор аналогов
В качестве аналогов разрабатываемой системы были рассмотрены:
- Готовые системы, опубликованные в Unity Asset Store:
- 2D Light System (Автор: Михаил Любимов);
- 2DDL PRO - 2D Dynamic Lights and Shadows (Автор: Martin Ysa);
- Light2D - GPU Lighting System (Автор: Alexander Penkin);
- Light2D (Автор: Dan John Moran);
- 2DVLS (на данный момент эта система не доступна) (Автор: Pico Games);
- Реализованные системы освещения:
- Seasons After Fall Rendering System (разработчик: Swing Swing Submarine);
- Игровой движок Ethanon 2D;
- Система освещения 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 Наложение текстуры тени