ДонНТУ > Портал магистров ДонНТУ || RUS | UKR | ENG
Магистр ДонНТУ Коваль Сергей Геннадиевич

Коваль Сергей Геннадиевич

Факультет компьютерных наук и технологий

Кафедра компьютерной инженерии

Специальность: Компьютерные системы и сети

«Система моделирования визуальных эффектов»

Научный руководитель: Мальчева Раиса Викторовна


Об авторе | Реферат | Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел

Реферат по теме выпускной работы

Актуальность работы

Традиционные методы моделирования, которые используются в компьютерной графике, были основаны на предположении, что объекты, по сути, набор гладких поверхностей, которые могут быть математически описаны детерминированной функцией. Простейший из таких методов предполагает, что объекты - это коллекции многоугольников, поверхность которых описывается линейной функцией [6]. Природные объекты, такие как камни, облака, деревья, ландшафт, не обладают правильными формами. Большинство явлений, для которых необходимо построить виртуальную модель, имеют стохастический характер. А это значит, что их воспроизведение традиционными способами рендеринга будет весьма сложно и ресурсоемко.

Система частиц - используемый в компьютерной графике способ представления объектов, не имеющих четких геометрических границ [3]. Примерами подобных явлений могут быть взрывы, туман, поверхность воды, вспышки, падающие листья, облака, дым, снег, метеоритный дождь.

Сфера применения данной разработки связана с мультимедийными приложениями для симуляции хаотических и неопределенных явлений, имеющих периодический характер, которые трудно воспроизвести с помощью условных технологий визуализации. В разных программных продуктах свойства, поведение и внешний вид подобных систем могут принципиально отличаться. В настоящее время (сентябрь 2010) не существует общепринятой реализации подобных систем.

photo
Рисунок 1 - Пример использования системы частиц

Таким образом, тема магистерской работы, направленная на сокращение времени генерации визуальных эффектов, повышение качества их отображения и расширение области их применения, актуальна.

Объектом исследования являются системы генерации реалистичных изображений на основе систем моделирования частиц в существующих графических пакетах.

Предметом исследования есть методы создания визуальных эффектов.

Цель и задачи исследования. Целью работы является разработка инструментария, обеспечивающего при его использовании учеными и инженерами повышения эффективности инновационной деятельности за счет высокой продуткивности алгоритма обработки частиц и рендеринга в реальном времени.

Для реализации поставленной цели в работе решаются следующие задачи:

  1. Исследование современных систем моделирования.
  2. Анализ математических моделей создания визуальных эффектов.
  3. Разработка модифицированного алгоритма генерации визуальных эффектов.
  4. Разработка программной модели генерации визуальных эффектов в реальном времени с использованием систем частиц, программы-редактора для создания эффектов на базе Popcap Framework с использованием интерфейса DirectX и интеграция системы моделирования с Nitro / TWL System.
  5. Экспериментальное исследование предлагаемых решений.

Ниже приведен рисунок, демонстрирующий графический интерфейс редактора.

photo
Рисунок 2 - Графический интерфейс редактора

Метод исследования

При исследовании использованы следующие методы: анализ литературных источников, разработка тестов для проверки работы системы и работоспособности методов, которые использовались, моделирование для оценки эффективности использования технологии и выявления ее узких мест.

Существующие решения

3DS Max

В 3DS Max имеются три класса систем частиц: простые, универсальные, а также системы частиц независимых производителей. Универсальные и простые системы частиц ничем не отличаются друг от друга, за исключением способа излучения. Существуют предустановленные шаблоны, которые предназначены для разных ситуаций: SuperSpray, Blizzard и PCloud. Система частиц Super Spray отлично подходит для получения эффектов взрыва и распыления. Если в сцену требуется ввести облака, движущиеся параллельно, или же листья, падающие на обширной площади, из всех неуправляемых событиями систем частиц лучше всего подойдет Blizzard. Шаблон PCloud пригоден для сцен, в которых частицы должны зарождаться внутри некоторого объема в таких эффектах, как огонь, распад и облака.

Если требуемый эффект выходит за рамки шаблонов, имеется возможность создать собственнную систему в редакторе Particle View , в котором можно настроить разные виды поведения. Если требуется, частицы могут переходить из одного состояния в другое. Основными элементами системы частиц Particle Flow являются события, состоящие из отдельных операторов и проверок. Операторы служат для передачи таких свойств частиц, как угол поворота, материал и масштаб. А проверки предназначены для организации нового поведения частиц.

Преимущества Достаточно эффективные средства для создания визуальных эффектов на базе предустановленных шаблонов.

Недостатки Если требуемый эффект выходит за рамки шаблонов, прийдется создавать собственную математическую модель.

Particle Studio

Система частиц Particle Studio носит уникальный характер, поскольку она содержит управляемые растром параметры. В частности, разработчик может использовать растр, применяемый к геометрической форме излучателя, для определения скорости излучателя частиц. В этом есть свои преимущества, хотя такой подход замедляет работу системы. В этой системе применен, главным образом, процедурный подход, основанный на методе Side Effects' Houdini. На первый взгляд, система кажется очень сложной, но в настоящий момент затраты себя оправдывают.

Преимущества Интеграция как в графические движки, так и в системы моделирования. Генерирует реалистичную картинку.

Недостатки Высокие системные требования.

Базовая модель алгоритма

Управление позицией и движением системы частиц в пространстве реализовано при помощи излучателя (эмиттера), который выступает в роли источника частиц. У каждого эмиттера есть набор свойств, определяющих поведение частиц в пространстве. Математически каждая частица представляется как материальная точка с дополнительными атрибутами, такими как скорость, цвет, ориентация в пространстве, угловая скорость, и т.п. В ходе работы моделируются частицы, каждая из которых меняет свое состояние по определенному, общему для всех частиц системы, закону, который устанавливается эмитером[3]. После проведения всех расчетов, частица визуализируется. Частица может быть визуализирована точкой, треугольником, спрайтом, или полноценной трехмерной моделью.

Для вычисления каждого кадра в последовательности движения, выполняется следующая последовательность шагов:

  1. Новые частицы создаются в системе.
  2. Каждой новой части присваивается ее отдельные атрибуты.
  3. Частицы, время жизни которых в рамках системы истекло, удаляются из системы.
  4. Остальные частицы перемещаются и преобразуются в соответствии с их динамичными атрибутами.
  5. Рендеринг.

Поскольку используется процедурная модель, система может быть запрограммирована для выполнения любого набора инструкций в каждом шаге. Этот подход может включать любые вычислительные операции, описывающие внешний вид или динамику объекта. Например, движение и преобразование частиц может быть привязано к решению системы дифференциальных уравнений.

photo
Рисунок 3 - UML диаграмма классов

Математическая модель

Частицы генерируются через определенный интервал, который определяется на основе частоты генерации, начальные координаты каждой частицы определяются положением эмитера и степенью произвольности. Эмиттер обладает следующими параметрами:

- положение в пространстве
- время жизни системы
- время жизни частицы(задается диапазон минимального и максимального значений)
- эмиссия

Каждая частица обладает рядом параметров, задаваемых свойтсвами системы:

- направление
- угол разброса
- начальная скорость
- гравитация
- радиальное ускорение
- тангенциальное ускорение
- размер частицы
- скорость вращения
- альфа канал в начеле и конце жизни частицы
- цвет в начале и конце жизни частицы. Задается в формате RGB

В каждом цикле этапа симуляции добавляются новые частицы, удаляются старые и обновляются параметры «живых» частиц. Движение каждой частицы основано на математической модели движения материальных точек, где каждая частица выступает в качестве оной.

Для описания движения частицы будем использовать диффернциальные уравнения второго порядка. Закон равноускоренного движения получается в результате решения простейшего дифференциального уравнения вида:

Общее решение этого уравнения задается формулой:

Здесь C1 и C2 — произвольные константы, соответствующие начальной координате и начальной скорости. Основываясь на трехграннике Френе, вектор ускорения можно разложить по сопутствующему базису:


где

v величина скорости,
единичный касательный к траектории вектор, направленный вдоль скорости (касательный орт),
орт нормали к траектории,
орт бинормали к траектории,
R радиус кривизны траектории.

Пример разложения вектора скорости по сопутствующему базису показан на Рисунке 4.


Рисунок 4 - Разложение вектора скорости по сопутствующему базису для движения в плоскости

Известно, что всегда равно нулю. Векторы и называются касательным (тангенциальным) и нормальным ускорениями соответственно, и задаются в качестве параметров для эмитера.

Для просчета был разработан специальный класс Vector с перегруженными операторами, который упрощает операции с векторами.

Для отображения системы частиц в замкнутой области используется операция клиппинга полигона, которая основывается на алгоритме Fast Winding Number Inclusion of a Point in a Polygon.

Пусть имеется непрерывная кривая:

C(u)=(x(u),y(u)), для 0<=u<=1 и C(0)=C(1)

Также есть точка P за пределами кривой С. В этом случае определим вектор CP(u)=C(u)-P от P до C(u), и его единичный вектор W(u)=CP(u)/|CP(u)| который дает непрерывную картографию кривой C к единичному кругу S1 таким образом, что она может быть представлена в координатах следующим образом:

W(u)=(cos q(u), sin q(u)),

где

q(u) - положительный угол против часовой стрелки.

В этом случае число вращения wn равно целой части от числа вращения W(u) вокруг S1. Это соответсвует гомотопному классу S1 и может быть вычислено при помощи интеграла:

В случае, если кривая С, как изображено на рисунке 5, является полигоном с вершинами V0,V1,...,Vn=V0, этот интеграл определяет сумму углов, которые граничат с ViVi+1 относительно точки P. В таком случае, если qi=angle(PVi,PVi+1), получим:

Если грань пересекает положительный луч снизу вверх, пересечение считается положительным, а если сверху вниз, пересечение считается отрицательным.

photo
Рисунок 5 - Кривая С, как полигон

Научная новизна полученных результатов

Научная новизна состоит в разработанном алгоритме моделирования визуальных эффектов, простоты применения, легкой интеграции системы моделирования с интерфейсом рендеринга и возможности генерации эффекта по заданной траектории движения.

Практическая ценность полученных результатов

Разработанная система с легкостью интегрируется в проекты под различными платформами.

Реализация и внедрение результатов работы

Разработанная система выполнена для применения в реальных условиях. Используется в ряде компьютерных игр для ПК на базе Windows и игровых систем Nintendo. За счет разделения этапов моделирования и рендеринга обеспечена кроссплатформенность системы. Это позволяет интегрировать разработанную систему в проекты, где используется моделирование стохастических процессов.

Апробация работы

Основные научные результаты работы докладывались на научно-технической конференции Таганрогского технологического института ЮФУ и опубликованы в материалах одиннадцатого международного научно-практического семинара «Практика и перспективы развития партнерства в сфере высшей школы».

Литература

  1. Ryan Shrout. A Smoke Screen from Intel: Implementing Multi-threaded Gaming./Ryan Shrout// Intel - 2008.
  2. Luna, Frank D. Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach./Luna, Frank D// Plano, TX: Wordware Publishing - 2006.
  3. An Overview of How to Accurately Model Procedurally Spreading Fire[Электронный ресурс] Режим доступа: http://software.intel.com/en-us/articles/smokegame-technology- demo-download
  4. Develop for Windows Phone and XBOX360. [Электронный ресурс] Режим доступа: http://create.msdn.com/en-US/
  5. Nintendo Homepage[Электронный ресурс] Режим доступа: nintendo.com.
  6. Nelson L. M. Vectorized procedural models for natural terrains: Waves and islands in the sunset./ Nelson L. M.// In Proceedings of SIGGRAPH "81. Also published as Comput. Graphics, 15, 3, 1981 - 317-324c.
  7. DirectX developer homepage[Электронный ресурс] Режим доступа: http://msdn.microsoft.com/en-us/directx/default.aspx
  8. The development of the hardware independent particle system[Электронный ресурс] Режим доступа: ../library/ps.pdf

ДонНТУ > Портал магистров ДонНТУ> Об авторе | Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел