Тип работы:
Предмет:
Язык работы:


Реализация алгоритмов для системы геометрических частиц в игровом движке Saber3D

Работа №126895

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы30
Год сдачи2021
Стоимость4750 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
32
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. Обзор существующих решений в области систем частиц . 8
2.1.1. Система частиц в Unity 8
2.1.2. Система частиц в Unreal Engine 4 9
2.1.3. Система частиц в Source Engine 2013 11
2.1.4. Система частиц в Amazon Lumberyard 12
2.1.5. Система частиц в ChilliSource 13
2.2. Обзор системы частиц в движке Saber3D 14
2.3. Выводы 15
3. Рефакторинг 17
3.1. Разделение пользовательского интерфейса 17
3.2. Нарушения закона Деметры 18
3.3. Удаление старой реализации 18
4. Реализация новой функциональности 19
4.1. Неравномерное изменение масштаба частицы 19
4.2. Изменение ориентации по вектору направления 20
4.3. Отслеживание текущей статистики частиц 22
4.4. Переопределение свойств материала частиц 23
4.5. Полезные функции из существующих решений 25
5. Апробация 27
Заключение 28
Список литературы 29


Системы частиц уже десятки лет являются важной частью видеоигр
и компьютерной графики в целом. Первая публикация на тему систем
частиц была написана после завершения работы над визуальными эффектами для кинофильма «Star Trek II» [9]. В ней Уильям Ривз описал
основные операции движения и основные данные, представляющие частицу. Системы частиц используют множество частиц, чтобы моделировать объекты или явления с нечеткими границами. В качестве частиц
могут использоваться точки, треугольники, текстуры и трёхмерные модели. В течение определенного периода времени частицы порождаются, некоторые их параметры изменяются согласно заданному сценарию,
после чего частицы удаляются из системы. При помощи частиц становится возможным, например, моделировать огонь, дым, взрывы, воду,
вращающиеся галактики, волосы, облака и другие явления. Системы,
использующие в качестве частиц трехмерные модели, называются геометрическими.
Уже около 20 лет компания Saber Interactive ведет работу над собственным игровым движком Saber3D [14], [10]. Впервые он использовался в игре Will Rock (2003 год), и с тех пор постоянно обновляется и
развивается для использования в современных продуктах. В процессе
работы над обновлением различных компонентов движка была создана новая система геометрических частиц. Создание и настройка систем
геометрических частиц движка Saber3D выполняется в редакторе игровых уровней — программе, позволяющей, например, создавать игровые
карты, размещать на них модели и настраивать освещение. Арт-отделу
необходим максимальный контроль над системой, но в данный момент
в редакторе нет возможности, например, изменять размер частиц вдоль
осей неравномерно, нельзя сделать так, чтобы частицы во время полета
были ориентированы в соответствии с вектором направления. В редакторе уровней также отсутствуют инструменты, позволяющие переопределять свойства материала частиц. Кроме того, в редакторе не хватает
функциональности, помогающей производить отладку частиц. Итак, на
4данный момент система геометрических частиц движка Saber3D обладает недостаточной функциональностью, из-за чего становится невозможным использовать ее для создания сложных игровых эффектов.
Таким образом, требуется расширить текущую функциональность
системы геометрических частиц движка Saber3D. Для этого необходимо решить ряд задач, связанных с настройкой свойств материала,
ориентации частицы в пространстве и ее размеров, а также с выводом
отладочной информации. Наличие в редакторе уровней перечисленной
функциональности позволит арт-отделу полноценно использовать систему частиц при создании сложных игровых эффектов. Стоит также
отметить, что помимо программной реализации новой функциональности необходимо добавить элементы взаимодействия пользователя с
новой функциональностью в интерфейс управления системой частиц в
редакторе игровых уровней.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе данной работы были получены следующие результаты.
• Изучена реализация системы геометрических частиц в движке
Saber3D. В процессе исследования выявлены участки кода, нуждающиеся в рефакторинге.
• Проведен рефакторинг участков кода движка Saber3D, ответственных за покадровую обработку частиц, что повысило сопровождаемость текущей системы геометрических частиц движка Saber3D.
• Реализована следующая функциональность для системы геометрических частиц движка Saber3D:
– неравномерное изменение масштаба частиц по трем осям;
– изменение ориентации модели частицы во время полета в соответствии с текущим вектором направления;
– окно, показывающее текущую статистику частиц на сцене;
– переопределение нескольких SFX свойств материала частиц в
редакторе уровней при помощи текстового поля или сплайна;
– реализована дополнительная функциональность, взятая из
существующих аналогов, по добавлению отладочных осей с
заданием их масштаба для отслеживания ориентации частиц.
• Разработанный код прошел ревью инженерами-программистами
графики компании ООО “Сабер Интерактив СГС” и был интегрирован в основную ветвь исходного кода движка Saber3D. Добавленная функциональность успешно прошла апробацию программистами и арт-отделом компании.


[1] Akenine-Moller Tomas, Haines Eric, Hoffman Naty. Real-Time Rendering, Fourth Edition.—P. 567-569.
[2] Amazon Lumberyard User Guide. — Access mode: https: //docs.aws.amazon.com/lumberyard/latest/userguide/ lumberyard-intro.html (online; accessed: 25.12.2020).
[3] Angela Gross. ChilliSource Game Engine Particle System Study // Graduate Student Theses, Dissertations, Professional Papers. —
2016. —Access mode: https://scholarworks.umt.edu/etd/10813 (online; accessed: 15.12.2020).
[4] Hughes John F., Dam Andries Van, McGuire Morgan. Computer Graphics: Principles and Practice, Third Edition. -- P. 350-351.
[5] Lander Jeff. GRAPHIC CONTENT: The ocean spray in your face. - 1998. —P. 13-19.
[6] Particle System Overview // Valve Developer Wiki. — Access mode: https://developer.valvesoftware.com/wiki/Particle_System_ Overview (online; accessed: 25.12.2020).
[7] Particles Attributes Reference. — Access mode: https: //docs.aws.amazon.com/lumberyard/latest/userguide/ particle-editor-reference.html (online; accessed: 25.12.2020).
[8] Raappana Joona. Great Particles and How to Make Them // Development of guidelines for the Unity Particle System. — 2018.
[9] Reeves W. Particle Systems — a Technique for Modeling a Class of Fuzzy Objects // ACM Trans. Graph. — 1983. — Vol. 2. — P. 91-108.
[10] Saber Interactive, Company Overview. — Access mode: https:// saber3d.com/company/ (online; accessed: 25.12.2020).
[11] Source Engine // Valve Developer Wiki. — Access mode: https: //developer.valvesoftware.com/wiki/Source (online; accessed: 25.12.2020).
[12] Sylvan Sebastian. Particle System Simulation and Rendering on the Xbox 360 GPU. — 2007.
[13] Tran Tommy. Unreal Engine 4 Particle Systems Tutorial. —
2017. — Access mode: https://www.raywenderlich.com/ 270-unreal-engine-4-particle-systems-tutorial (online; accessed: 26.12.2020).
[14] Walker Trey. Will Rock interview // GameSpot. — 2002. —
Access mode: https://www.gamespot.com/articles/
will-rock-interview/1100-2837358/ (online; accessed: 25.12.2020).


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ