Только Word
Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Исследование 8
1.1 Задача процедурной генерации помещения и термины 8
1.2 Постановка критериев оценки сгенерированных помещений 11
1.3 Методы, основанные на древовидных картах 16
1.4 Метод ограниченного роста 21
1.5 Выводы по главе 27
Глава 2. Построение метода 28
2.1 Эффективная структура данных 28
2.2 Синтезированный подход 30
2.3 Основные сущности программы 31
Выводы. 37
Заключение 38
Список литературы 39
Приложение 1 40
Приложение 2 41
Целью данной выпускной квалификационной работы является изучение методов процедурной генерации помещений, введение формальных критериев их оценки, а также составление алгоритма генерации плана помещения и его программная реализация на языке C# и игровом движке Unity3D, для быстрого автоматического создания игрового окружения.
Процедурная генерация (ПГК) – это набор алгоритмов и методов, используемых для автоматического создания контента: изображений, текстур, моделей, игровых объектов, сущностей и уровней.
Создание объектов методами ПГК – распространённая задача, появившаяся практически одновременно с медиа-развлечениями. Эти методы позволяют значительно упростить и ускорить процесс разработки тогда, когда требуется создать множество объектов с единообразными, но различными характеристиками, производство которых вручную займет значительные человеческие и денежные ресурсы, а иногда выполнить задачу можно исключительно методами процедурной генерации.
Характерным примером последнего является задача генерации уровней для игр жанра Rogue-like, где игровой уровень каждый раз обязан быть уникальным. В этом случае число уровней, которые необходимо составить стремится к бесконечности, а потому выполнить данную задачу без применения ПГК не представляется возможным.
Рассматриваемая в этой работе задача генерации помещения во многом схожа с задачей генерации уровней, так как имеет аналогичную цель – автоматическое создание игрового окружения для взаимодействия с игроком. Однако, такая задача имеет и свои особенности, например повышенное требование к реалистичности результата генерации. Если игровой уровень в первую очередь должен отвечать требованиям со стороны геймдизайна, то сгенерированное помещение в первую очередь должно выглядеть максимально схоже с реальным помещением.
Использование ПГК при разработке позволяет перекладывать большую часть рутинной и долгой работы на компьютер, что значительно сокращает время и, соответственно, бюджет, требуемый на разработку. Сейчас, когда контента в видеоиграх становится все больше и больше, а бюджеты доходят до сотен миллионов долларов – внедрение процедурной генерации как никогда актуально.
В данной дипломной работе были разобраны различные подходы к методам процедурной генерации планов помещений для виртуальных миров. А затем выделены несколько основных подходов: основанные на графах, на древовидных картах и на методе роста. Было отмечено, что среди рассмотренных работ не предложено строгих критериев оценки результата алгоритма процедурной генерации. Такие критерии, а конкретнее критерий разнообразия и критерий реалистичности, были введены и применены при оценке различных существующих решений в данной бакалаврской работе. Они позволили выделить наиболее эффективные подходы и использовать для реализации нового синтезированного метода, сочетающего в себе самый лучший метод по критерию разнообразия и самый лучший по критерию реалистичности, и получить результаты сравнимые с результатами коллег.
В результате выполнения бакалаврской работы разработана программа для процедурной генерации помещений, в основе которой лежит новая гибкая структура данных, обеспечивающая возможность ее дальнейшего расширения и применения для реализации компьютерной игры.
В дальнейшем планируется улучшить визуальное представление помещения, а также расширить функционал программы, добавив, например, генерацию мебели в помещениях, создание других типов помещений и построение трехмерного помещения, вместо двухмерного.
M. Smelik, Klaas Jan de Kraker and Saskia A. Groenewegen TNO Defence, Security and Safety The Hague, The Netherlands; Tim Tutenel and Rafael Bidarra Delft University of Technology Delft, The Netherlands, “A Survey of Procedural Methods for Terrain Modelling.”
[2] Pascal Muller, Peter Wonka, Simon Haegler, Andreas Ulmer, Luc Van Gool, K.U. Leuven , “Procedural Modeling of Buildings”, ETH Zurich
[3] Jess Martin, “Procedural house generation: A method for dynamically generating floor plans”, 2006
[4] Xiao-Yu Wanga,Yin Yangb , Kang Zhanga, “Customization and generation of floor plans based on graph transformations”, University of New Mexico, Albuquerque, NM, USA, 14 July 2018
[5] F. Marson and S.R. Musse. “Automatic Generation of Floor Plans Based on Squarified Treemaps Algorithm” IJCGT International Journal on Computers GamesTechnology, 2010.
[6] Maysam Mirahmadi, Abdallah Shami “A Novel algorithm for Real-Time procedural generation of building floor plans”, 26 Nov 2012
[7] Katja Knecht, “Generating Floor Plan Layouts with K-d Trees and Evolutionary Algorithms”, Politecnico di Milano University, Italy
[8] Ricardo Lopes, Tim Tutenel, Ruben M. Smelik, Klaas Jan de Kraker and Rafael Bidarra “A constrained growth method for procedural floor plan generation”, 2010
[9] Daniel Camozzato “A method for growth-based procedural floor plan generation”, Porto Alegre, 2015
[10] M. Bruls, K. Huizing and J. van Wijk, “Squarified treemaps”...