stringtranslate.com

Система частиц

Система частиц, используемая для имитации огня, созданная в 3dengfx.
Специальная система частиц, используемая для моделирования галактики, созданная в 3dengfx.
Система частиц, используемая для имитации взрыва бомбы, созданная в ParticleIllusion.

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

Представленный в фильме 1982 года «Звездный путь II: Гнев Хана » для вымышленного «эффекта Бытия», [1] другие примеры включают воспроизведение явлений огня , взрывов , дыма , движущейся воды (например, водопада), искр , падающих листьев. , камнепады, облака , туман , снег , пыль , хвосты метеоров , звезды и галактики или абстрактные визуальные эффекты, такие как светящиеся следы, магические заклинания и т. д. – в них используются частицы, которые быстро исчезают, а затем повторно излучаются из источника эффекта. . Другой метод можно использовать для вещей, содержащих много нитей, таких как мех, волосы и трава, предполагая одновременное отображение всего времени жизни частицы, которое затем можно рисовать и манипулировать им как одной нитью рассматриваемого материала.

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

Типичная реализация

Динамическое моделирование частиц воздуха (Bifröst)

Системы частиц обычно реализуют следующие модули:

Стадия эмиссии

Эмиттер реализует скорость появления (сколько частиц генерируется в единицу времени), вектор начальной скорости частиц (направление, в котором они испускаются при создании). При использовании объекта-сетки в качестве излучателя вектор начальной скорости часто устанавливается нормальным к отдельной грани (граням) объекта, в результате чего создается впечатление, что частицы «разбрызгиваются» непосредственно с каждой грани, но это необязательно.

Этап моделирования

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

Этап рендеринга

После завершения обновления каждая частица визуализируется, обычно в виде текстурированного четырехугольника с рекламным щитом (т. е. четырехугольника, который всегда обращен к зрителю). Однако для игр иногда в этом нет необходимости; частица может быть визуализирована как один пиксель в средах с малым разрешением и ограниченной вычислительной мощностью. И наоборот, частицы в анимированной графике, как правило, представляют собой полные, но мелкомасштабные и простые в визуализации 3D-модели, чтобы обеспечить точность даже при высоком разрешении. Частицы можно визуализировать как метаболы при автономном рендеринге; изоповерхности , рассчитанные на основе меташаров частиц, образуют вполне убедительные жидкости. Наконец, объекты 3D-сетки могут «заменять» частицы — метель может состоять из одной трехмерной сетки-снежинки, которая дублируется и вращается, чтобы соответствовать положениям тысяч или миллионов частиц. [3]

Таксономия системы частиц

В 1983 году Ривз определил только анимированные точки, создав симуляцию движущихся частиц — искр, дождя, огня и т. д. В этих реализациях каждый кадр анимации содержит каждую частицу в определенной позиции в ее жизненном цикле, и каждая частица занимает одну точку. положение в пространстве. Для рассеивающихся эффектов, таких как огонь или дым, каждой частице дается время затухания или фиксированное время жизни; вместо этого такие эффекты, как снежные бури или дождь, обычно прекращают жизнь частицы, как только она выходит из определенного поля зрения . [1]

В 1985 году Ривз расширил концепцию, включив в нее одновременную визуализацию всего жизненного цикла каждой частицы. В результате частицы превращаются в статические нити материала, которые показывают общую траекторию, а не точки. Эти пряди можно использовать для имитации волос, меха, травы и подобных материалов. Нитью можно управлять с помощью тех же векторов скорости, силовых полей, скорости появления и параметров отклонения, которым подчиняются анимированные частицы. Кроме того, визуализированную толщину прядей можно контролировать, а в некоторых реализациях можно изменять по длине прядей. Различные комбинации параметров могут придавать жесткость, мягкость, тяжесть, щетинистость или любое количество других свойств. Нити также могут использовать наложение текстуры для изменения цвета, длины или других свойств нитей по поверхности эмиттера. [4]

В 1987 году Рейнольдс вводит понятия стадного , стадного или школьного поведения. Модель boids расширяет моделирование частиц, включив в него взаимодействия с внешними состояниями, включая поиск цели, предотвращение столкновений, центрирование скоплений и ограниченное восприятие. [5]

В 2003 году Мюллер расширил системы частиц до струйной техники , моделируя вязкость , давление и поверхностное натяжение , а затем визуализировал поверхности путем интерполяции дискретных положений с помощью гидродинамики сглаженных частиц . [6]

Удобные для разработчиков инструменты системы частиц

Код систем частиц, который можно включить в игровые движки, системы создания цифрового контента и приложения эффектов, можно написать с нуля или загрузить. Havok предоставляет несколько API-интерфейсов системы частиц. Их API Havok FX уделяет особое внимание эффектам системы частиц. Ageia — теперь дочерняя компания Nvidia — предоставляет систему частиц и другой API игровой физики, который используется во многих играх, включая игры на Unreal Engine 3 . И GameMaker Studio, и Unity предоставляют двумерную систему частиц, часто используемую независимыми разработчиками, любителями или студентами игр, хотя ее нельзя импортировать в другие движки. Также существует множество других решений, и системы частиц часто пишутся с нуля, если желательны нестандартные эффекты или поведение.

Смотрите также

Рекомендации

  1. ^ аб Ривз, Уильям (1983). «Системы частиц — метод моделирования класса нечетких объектов» (PDF) . Транзакции ACM с графикой . 2 (2): 91–108. CiteSeerX  10.1.1.517.4835 . дои : 10.1145/357318.357320. S2CID  181508 . Проверено 13 июня 2018 г.
  2. ^ Гастингс Э.Дж., Гуха Р.К., Стэнли КО (9 декабря 2008 г.). «Интерактивная эволюция систем частиц для компьютерной графики и анимации». Транзакции IEEE в эволюционных вычислениях . 13 (2): 418–32. CiteSeerX 10.1.1.365.5720 . дои : 10.1109/TEVC.2008.2004261. S2CID  11390585. 
  3. ^ Симс К. (1 сентября 1990 г.). «Анимация частиц и рендеринг с использованием параллельных вычислений» (PDF) . Материалы 17-й ежегодной конференции «Компьютерная графика и интерактивные технологии» . стр. 405–413. дои : 10.1145/97879.97923. ISBN 0897913442. S2CID  2791741 . Проверено 17 января 2022 г.
  4. ^ Ривз, Уильям Т.; Блау, Рики (июль 1985 г.). «Приближенные и вероятностные алгоритмы затенения и рендеринга систем структурированных частиц». ACM SIGGRAPH Компьютерная графика . 19 (3): 313–322. дои : 10.1145/325165.325250.
  5. ^ Рейнольдс, Крейг (1987). «Стада, стада и школы: распределенная поведенческая модель». Материалы 14-й ежегодной конференции «Компьютерная графика и интерактивные технологии» . Ассоциация вычислительной техники . стр. 25–34. CiteSeerX 10.1.1.103.7187 . дои : 10.1145/37401.37406. ISBN  978-0-89791-227-3. S2CID  546350.{{cite book}}: CS1 maint: дата и год ( ссылка )
  6. ^ Мюллер М., Чарипар Д., Гросс М. «Моделирование жидкости на основе частиц для интерактивных приложений» (PDF) . Симпозиум SIGGRAPH по компьютерной анимации . Проверено 18 января 2022 г.

Внешние ссылки