Розроблення та оптимізація випадково генерованого ландшафту в комп'ютерній грі

dc.contributor.advisorЮрчак, Ірина Юріївна
dc.contributor.affiliationНаціональний університет "Львівська політехніка"
dc.contributor.authorТимошик, Назарій Вікторович
dc.contributor.authorTymoshyk, Nazarii Viktorovych
dc.coverage.placenameЛьвів
dc.date.accessioned2025-06-29T18:45:14Z
dc.date.created2024
dc.date.issued2024
dc.description.abstractУ даній бакалаврській кваліфікаційній роботі розглянуто питання проєктування, реалізації та оптимізації великомасштабного процедурно згенерованого світу на прикладі планетарного ландшафту у тривимірному ігровому середовищі. Основної уваги приділено технікам генерації сітки сферичної геометрії, розподілу флори та системам управління рівнями деталізації (LOD). Метою роботи є створення системи, здатної у реальному часі формувати складний планетарний рельєф із варіативною топографією та покриттям рослинності, що адаптивно реагує на положення камери та оптимізується з урахуванням продуктивності. Результатом є програмний модуль, розроблений в середовищі Unity із використанням мови програмування C#, шумових функцій (Perlin, Ridgid, ін.), системи GPU Instancing та адаптивного чанкового менеджменту геометрії. У першому розділі проведено огляд ігор із підтримкою процедурної генерації, досліджено особливості підходів до формування світу, типи шумів та методи побудови рельєфу. Другий розділ присвячено вибору рушія, інструментів та допоміжного середовища розробки, обґрунтовано вибір Unity та супутнього програмного забезпечення (Visual Studio, Blender, Photoshop). У третьому розділі описано процес реалізації планетарної геометрії, її поділ на чанки, побудову сітки з урахуванням шумових функцій, нормалей і текстур, а також реалізацію генерації флори — з врахуванням висотних зон, 5 шансів появи, параметрів масштабування та впровадження системи LOD для оптимізованого рендерингу. У четвертому розділі представлено підсумкову реалізацію функціональної частини проєкту у вигляді інтегрованої сцени Unity. Описано ключові елементи керування генерацією, приклади використання системи, а також продемонстровано результати візуалізації планети з флорою. Надано стислу інструкцію користувача з поясненням основних параметрів та взаємодії з середовищем розробки. Загальний обсяг: сторінок 98, рисунків 40, додатків 2.
dc.description.abstractThis bachelor's qualification thesis focuses on the design, implementation, and optimization of a large-scale procedurally generated environment, demonstrated through the example of a planet-scale landscape within a three-dimensional game world. The work primarily addresses techniques for spherical mesh generation, vegetation distribution, and level-of-detail (LOD) management systems. The goal of the project is to develop a system capable of generating complex planetary terrain in real time, with variable topography and dynamic vegetation coverage that adapts to the player’s viewpoint while remaining performance efficient. The final result is a software module developed in Unity, utilizing C# programming language, procedural noise functions (Perlin, Ridgid, etc.), GPU instancing, and a hierarchical chunk-based geometry management system. The first chapter presents an overview of existing games utilizing procedural generation, analyzing various approaches to terrain formation, types of noise functions, and relevant methods for landscape construction. The second chapter outlines the selection of tools and technologies used in the project, justifying the choice of Unity game engine and supporting software (Visual Studio, Blender, Photoshop). The third chapter details the implementation process of planetary geometry generation, chunk subdivision, grid construction with noise-based displacement, normal calculation, and texturing. It also describes the vegetation generation pipeline, including elevation-based distribution, spawn probability, scaling parameters, and integration of a multilevel LOD system for efficient rendering. 7 The fourth chapter presents the final implementation of the project as a complete Unity scene. It provides an overview of generation controls, usage examples, and visual results of the procedurally generated planet with flora. A brief user guide is included to explain the interface, configurable parameters, and interaction workflow within the development environment. Total volume: 98 pages, 40 figures, 2 appendices.
dc.format.pages84
dc.identifier.citationТимошик Н. В. Розроблення та оптимізація випадково генерованого ландшафту в комп'ютерній грі : кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю „6.122.00.00 — Комп'ютерні науки“ / Назарій Вікторович Тимошик. — Львів, 2024. — 84 с.
dc.identifier.urihttps://ena.lpnu.ua/handle/ntb/100202
dc.language.isouk
dc.publisherНаціональний університет "Львівська політехніка"
dc.relation.referencesenC# Programming Language Documentation [Electronic resource] — Access
dc.relation.referencesenmode: https://learn.microsoft.com/en-us/dotnet/csharp/ (Accessed: May 26,
dc.relation.referencesen2025)
dc.relation.referencesenOfficial Unity Documentation [Electronic resource] — Access mode:
dc.relation.referencesenhttps://docs.unity3d.com/ (Accessed: May 26, 2025)
dc.relation.referencesenPerlin noise demystified [Electronic resource] — Access mode:
dc.relation.referencesenhttp://flafla2.github.io/ (Accessed: May 26, 2025)
dc.rights.holder© Національний університет "Львівська політехніка", 2024
dc.rights.holder© Тимошик, Назарій Вікторович, 2024
dc.subject6.122.00.00
dc.subjectПРОЦЕДУРНА ГЕНЕРАЦІЯ
dc.subjectUNITY
dc.subjectШУМОВІ АЛГОРИТМИ
dc.subjectПЛАНЕТАРНИЙ ЛАНДШАФТ
dc.subjectLOD
dc.subjectGPU INSTANCING
dc.subjectФЛОРА
dc.subjectЧАНКИ
dc.subjectОПТИМІЗАЦІЯ ПРОДУКТИВНОСТІ. Список літератури: 1. Документація мови програмування C# [Електронний ресурс] — Режим доступу: https://learn.microsoft.com/en-us/dotnet/csharp/ (Доступно: 26 травня 2025) 2. Офіційна документація Unity [Електронний ресурс] — Режим доступу: https://docs.unity3d.com/ (Доступно: 26 травня 2025) 3. Perlin noise demystified [Електронний ресурс] — Режим доступу: http://flafla2.github.io/ (Доступно: 26 травня 2025)
dc.subjectPROCEDURAL GENERATION
dc.subjectUNITY
dc.subjectNOISE FUNCTIONS
dc.subjectPLANETARY LANDSCAPE
dc.subjectLOD
dc.subjectGPU INSTANCING
dc.subjectVEGETATION
dc.subjectCHUNKS
dc.subjectPERFORMANCE OPTIMIZATION
dc.titleРозроблення та оптимізація випадково генерованого ландшафту в комп'ютерній грі
dc.title.alternativeDevelopment and optimization of a randomly generated landscape in a computer game
dc.typeStudents_diploma

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2024_61220000_Tymoshyk_Nazarii_Viktorovych_273855.pdf
Size:
3.31 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
2.91 KB
Format:
Plain Text
Description: