Поскольку область применения процедурной генерации в разработке игр крайне широка, необходимо определиться с тематикой инструмента генерации игрового окружения. Моделирование и визуализация больших систем, созданных человеком, таких как города, является непростой задачей. Город является общей функцией во многих играх с открытым миром [6]. Виртуальный город должен отражать исторические, культурные, экономические и социальные аспекты времени, служащего контекстом игры или фильма [7]. В сочетании с модульным подходом, то есть с использованием небольших составных частей 3D-модели, этот способ формирования 3D-окружения позволит создать множество уникальных объектов [8].
Целью выпускной квалификационной работы является разработка системы загрузки и визуализации модульных 3D-объектов с хранением информации множества уникальных сущностей, позволяющей генерировать здания и дороги.
Для достижения поставленной цели необходимо выполнить следующие задачи:
анализ использования процедурной генерации виртуальных городов для создания игрового окружения;
создание модулей (составных частей зданий и дорог);
разработка подсистемы модульной сборки зданий;
разработка подсистемы модульной сборки дорог;
разработка системы генерации виртуального города из полученных 3D-моделей;
разработка шейдера для отрисовки зданий;
анализ результатов и формирование выводов.
Объект исследования - разработка системы, обеспечивающей загрузку и визуализацию модулей и генерирующей из полученных объектов виртуальный город.
Предмет исследования - алгоритмы сборки зданий и дорог из модулей, алгоритмы генерации виртуального города из полученных 3D-моделей.
Введение 3
Глава 1. Исследование предметной области 5
1.1 Основные подходы к процедурной генерации городов 5
1.2 Обзор аналогичных решений 6
1.2.1 CScape City System 7
1.2.2 City Generator 8
1.2.3 Fantastic City Generator 9
Глава 2. Проектирование и обоснование методов реализации 11
2.1 Технические требования 11
2.1.1 Общее описание системы 11
2.1.2 Модульный подход 11
2.1.3 Подсистема модульной сборки зданий 12
2.1.4 Подсистема модульной сборки дорог 14
2.1.5 Система генерации города 15
2.1.6 Шейдер для отрисовки зданий 16
2.2 Выбор технологий 17
Глава 3. Техническая реализация 19
3.1 Создание модулей 19
3.2 Разработка подсистемы модульной сборки зданий 23
3.2.1 Генерация зданий 23
3.2.2 Пользовательский редактор 24
3.2.3 Сохранение данных о структуре зданий 25
3.3 Разработка подсистемы модульной сборки дорог 27
3.4 Разработка системы генерации виртуального города 29
3.5 Разработка шейдера для отрисовки зданий 31
Глава 4. Результаты проделанной работы 35
4.1 Обсуждение результатов 35
Заключение 38
Список использованных источников 39
Глоссарий 42
Приложение. Фрагменты исходного кода 43
1. Game Market Overview. The Most Important Reports Published in March
2024 // devtodev.com - URL:
https://www.devtodev. com/education/articles/en/522/game-market-overvie w-the-most-important-reports-published-in-march-2024
2. Rogla, O., Patow, G.A. and Pelechano, N. Procedural crowd generation for semantically augmented virtual cities. // Computers & Graphics. - 2021. - No. 99.-pp.83-90.
3. Kelly, G., & McCabe, H. Citygen: An Interactive System for Procedural City Generation // The Fifth Annual International Conference in Computer Game Design and Technology. Liverpool, United Kingdom. - 2007.
4. Меженин, М.Г. Обзор систем процедурной генерации игр // Вестник ЮУрГУ. 2015. 4(1). С. 5-10.
5. CityDreamer: Compositional Generative Model of Unbounded 3D Cities // Infinite Script. 2023. URL:
https://www.infinitescript.com/project/city-dreamer/
6. Xie H., Chen Z., Hong F., Liu Z. CityDreamer: Compositional Generative Model of Unbounded 3D Cities. 2024. URL: https://arxiv.org/abs/2309.00610
7. Video Game Industry Statistics and Facts // Game stats. - 2024. - URL: https://games-stats.com (дата обращения: 11.01.2024).