Разрабокта расширения для игрового движка Unity - Дипломная работа

бесплатно 0
4.5 84
Игровой движок Unity, его использование для создания приложений, связанных с архитектурой, обучением, визуализацией данных и электронными книгами. Разработка системы освещения для работы с двухмерными объектами в виде расширения редактора Unity.


Аннотация к работе
Несмотря на то, что движок ориентирован на трехмерные приложения, он поддерживает работу с двухмерной графикой. В частности, встроенная система освещения не позволяет двухмерным объектам служить полноценным препятствием для света и отбрасывать тени на другие объекты. 1 представлены три типа объектов в редакторе Unity: куб, четырехугольник и двухмерный спрайт. 2) Объекты имеют координату z равную - 0.5, источник света - 1.5 3) Координаты z объектов и источника равны - 0.5На базе этого движка были созданы такие популярные игры, как Ori and the Blind Forest (разработчик: Moon Studios), Cities: Skylines (разработчик: Colossal Order), Dungeon of the Endless (разработчик: Amplitude Studios) [1], а также мобильная версия Hearthstone: Heroes of Warcraft (разработчик: Blizzard Entertainment) [2].Цель работы: Разработать и реализовать систему освещения для работы с двухмерными объектами в виде расширения редактора Unity. Рассмотреть аналоги разрабатываемой системы; Реализовать систему расчета теней, как отбрасываемых объектами, так и внутренних;В качестве аналогов разрабатываемой системы были рассмотрены: - Готовые системы, опубликованные в Unity Asset Store: - 2D Light System (Автор: Михаил Любимов); Light2D - GPU Lighting System (Автор: Alexander Penkin); 2DVLS (на данный момент эта система не доступна) (Автор: Pico Games);Она поддерживает три типа источников освещения: Point Light, Spot Light и Directional Light, а также Ambient Light. Также в данном продукте реализован эффект преломления света при прохождении через прозрачные области.Данная система формирует тени объектов путем трассировки лучей от источника света к определенным точкам на сцене.Данная система обладает следующими функциями: - Поддержка Normal mapping; Отсутствие необходимости в использовании коллайдеров для формирования тени; Точечный, линейный, окружающий источники;Тени, формируемые этой системой, зависят от формы коллайдера объекта. В то же время, система имеет достаточно удобный пользовательский интерфейс для настройки параметров источников освещения. Кроме того, в данном продукте реализована система автоматического объединения источников, имеющих одинаковый материал, что сокращает число необходимых вычислений [8].Французская компания Swing Swing Subrarine представила систему освещения для своей игры Seasons After Fall на конференции Game Connection Paris. Суть данной системы заключается в разделении сцены на несколько планов по аналогии с живописью (задний план, передний план и т.д.).Ethanon 2D - Полноценный игровой движок, сфокусированный на поддержке высококачественного освещения.Система освещения Unity состоит из источников освещения, системы запекания света, системы шейдеров и системы глобального освещения. Все отображаемые объекты имеют свой компонент-рендерер, к которому прикреплен материал. Для объявления переменных и описания функций расчета освещения используются специальные файлы с расширением. cginc. Источники освещения являются объектами с прикрепленным к ним специальным компонентом. Unity поддерживает следующие типы источников освещения: - Point lightЛюбой отображаемый на сцене объект имеет свой компонент-рендерер, отвечающий за его рендеринг. Шейдер отвечает за то, как непосредственно объект будет отрисовываться на сцене, и как он будет взаимодействовать со светом. Сцена по аналогии с системой, предложенной компанией Swing Swing Submarine, разделена на так называемые планы. В разрабатываемой системе предполагается реализация системы планов, подобно системе французской компании-разработчика Swing Swing Submarine. Плановость предполагает разделение сцены на слои, подобно планам, например, в живописи: задний план, средний план, передний план (Рис.Двухмерные объекты в Unity можно разделить на два типа по классу их компонента-рендерера (указан в скобках). В зависимости от задач разрабатываемого приложения, могут использоваться объекты любой из групп, поэтому необходимо обеспечить работу разрабатываемой системы с обоими типами.Освещение любого объекта зависит от источников света, расположенных на сцене.Ambient light симулирует освещение, полученное за счет многократного отражения света от поверхностей окружающих объектов.Directional light излучает свет в виде бесконечного множества бесконечно удаленных от объектов и направленных под определенным углом лучей (Рис. Как правило, Directional Light используется для моделирования солнечного света.Point light излучает свет одинаково во всех направлениях из определенной точки пространства. Интенсивность света падает с удалением от этой точки (Рис.Отличие заключается в том, что в данном источнике освещения есть приоритетное направление излучения света. То есть, если освещаемую область point light можно представить в виде сферы (круга в 2D пространстве), то spot light освещает только некоторый заданный сектор.В отличие от ранее описанных типов источников, Area Light излучает свет равномерно по определенной площади. С точки зрения расчетов, интенсивность света затухает подобно Point light по мере

План
Содержание

Введение

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

5.2.2.1.1 Определение, находится ли источник внутри объекта

5.2.2.1.2 Поиск базовых и вспомогательных точек

5.2.2.1.3 Поиск крайних точек

5.2.2.1.4 Формирование четырехугольников

5.2.2.1.5 Поиск корректирующих коэффициентов для задания UV координат

5.2.2.1.6 Поиск "точек привязки"

5.2.2.1.7 Наложение текстуры тени

5.2.2.2 MATERIALSETTINGS

5.2.2.3 ISINSIDEAREA

5.2.3 Spot Light

5.2.3.1 SHADOWMAP

5.2.3.2 ISINSIDEAREA

5.2.4 Directional Light

5.2.4.1 SHADOWMAP

5.2.4.2 MATERIALSETTINGS

5.2.4.3 ISINSIDEAREA

5.2.5 Area Light

5.2.5.1 SHADOWMAP

5.2.5.2 MATERIALSETTINGS

5.2.5.3 ISINSIDEAREA

5.3 Плановость

5.4 Шейдер

5.5 Интерфейс

5.5.1 Point Light

5.5.2 Spot Light

5.5.3 Directional Light

5.5.4 Area Light

5.6 Документация

Заключение

Список использованных источников

Приложения

Введение
Игровой движок Unity очень популярен среди разработчиков видеоигр, особенно среди начинающих, изза простоты освоения и бесплатности. Несмотря на то, что движок ориентирован на трехмерные приложения, он поддерживает работу с двухмерной графикой. Однако не все компоненты редактора одинаково хорошо работают в 3D и 2D. В частности, встроенная система освещения не позволяет двухмерным объектам служить полноценным препятствием для света и отбрасывать тени на другие объекты. На Рис. 1 представлены три типа объектов в редакторе Unity: куб, четырехугольник и двухмерный спрайт.

Рис. 1 Тени, отбрасываемые различными типами объектов Unity. 1) Общий вид сцены. 2) Объекты имеют координату z равную - 0.5, источник света - 1.5 3) Координаты z объектов и источника равны - 0.5

Ко всем объектам прикреплен одинаковый материал с одинаковым шейдером. Если куб является полноценным препятствием для света, то четырехугольник отбрасывает тень только от тех источников, которые не лежат в одной плоскости с ним, а спрайт и вовсе игнорируется системой расчета теней. В трехмерном пространстве это обусловлено физическим расчетом освещаемых областей, так как четырехугольник, в отличие от куба, не имеет толщины, однако в двухмерном пространстве объемные фигуры представлены плоскими 2D объектами, поэтому необходимо обеспечить возможность взаимодействия со светом двухмерных объектов, идентичную взаимодействию трехмерных в 3D пространстве. игровой движок unity освещение
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?