ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ 4
ВВЕДЕНИЕ 5
1 Анализ предметной области 7
1.1 Анализ существующих космических игр 7
1.2 Анализ требований к разработке 9
1.2 Описание основных реализуемых технологий 9
1.2.1 Процедурная генерация 9
1.2.2 Система уровней детализации (Level of Detail system) 10
1.3 Анализ существующих инструментов для реализации 11
1.4 Особенности при работе с игровым движком Unity 12
1.4.1 Особенности разработки собственных компонентов 14
1.4.2 Особенности при работе с 3 D графикой 15
1.4.3 Создание базовой 3D формы 16
2. Проектирование 18
2.1 Постановка задачи проектирования 18
2.2 Модель предметной области 18
2.3 Генерация планеты 19
2.3.1 Создание сферической поверхности 19
2.3.2 Создание неровностей 21
2.4 Описание системы уровней детализации 23
2.4.1 Общее описание 23
2.4.2 Структура данных 24
2.4.3 Соединение узлов с разным уровнем детализации 25
2.4.4 Поиск соседних узлов в квадродереве 27
2.4.5 Поиск соседних узлов в других гранях 28
3. Реализация 29
3.1 Диаграмма пакетов 29
3.2 Диаграмма классов 30
3.2.1 Система процедурной генерации 30
3.2.2 Система уровней детализации 32
3.2.3 Движение по орбите 36
3.2.4 Пакет Components 37
3.3 Диаграммы последовательности 39
ЗАКЛЮЧЕНИЕ 41
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 42
Игровое окружение является одной из основных частей в разработке игры. То, насколько оно будет проработано, например, в наполняемости и обширности, влияет на впечатление и игровой опыт игроков. Разработка качественного окружения - это крайне долгий и сложный процесс, требующий от разработчика понимания, как игрок может взаимодействовать с миром.
Как правило, небольшие проекты имеют заранее проработанные миры, созданные несколькими разработчиками, но иногда сеттинг игры таков, что мир должен быть разнообразным на каждом уровне или вовсе бесконечным. Тогда, для создания окружения используют различные алгоритмы процедурной генерации, о чем и пойдет речь в работе.
Данная работа затрагивает базовые алгоритмы создания планетарной генерации и способы отображения процедурно сгенерированных объектов в реальном времени.
Цель: создание инструмента процедурной генерации планет с поддержкой системы уровней детализации, и системы движения по орбите в игровом движке Unity.
Задачи:
1. Анализ существующих игр и определение особенностей разработки
2. Анализ и выбор существующих методов процедурной генерации планет и методов системы уровней детализации.
3. Проектирование системы процедурной генерации планет, системы уровней детализации и системы движения.
4. Реализация системы процедурной генерации планет, системы уровней детализации и системы движения.
Объектами исследования: методы генерации, методы визуализации трёхмерных планетарных объектов, модели движения по орбите.
Предметы исследования: алгоритмы процедурной генерации, способы визуализации в реальном времени, способы движения по орбите.
Практическая значимость: разработанный инструмент, позволяющий создавать уникальное космическое окружение в игровом движке Unity.
Основные используемые источники: открытые тематические страницы, форумы, а также видео с видео хостинга YouTube.
Работа состоит из введения, трёх глав, заключения и списка литературы. Объем работы составляет 43 страницы.
Структура работы
В первой главе описываются рассмотренные примеры игр с космической тематикой, выделяются основные требования к разработке инструмента, рассматриваются основные технологии, а также описываются существующие среды и особенности разработки в Unity.
Во второй главе описывается проектирование инструмента
Третья глава посвящена реализации инструмента. Составлены: диаграмма пакетов, диаграмма классов и диаграммы последовательности. Также подробно описаны реализованные классы и методы.
В заключении подведены итоги проделанной работы.
Во время выполнения данной работы были выполнены следующие задачи:
1. Анализ существующих игр и определение особенностей разработки.
2. Анализ и выбор существующих методов процедурной генерации планет и методов системы уровне детализации.
3. Проектирование системы процедурной генерации планет, системы уровней детализации и системы движения.
4. Реализация системы процедурной генерации планет, системы уровней детализации и системы движения.
Таким образом, цель работы - Создание инструмента процедурной генерации планет с поддержкой системы уровней детализации, и системы движения по орбите была достигнута.
Результатом работы является инструмент, который может быть использован в создании космического окружения.