Войти
ПрограммированиеФорум2D графика и изометрия

Взрыв или сага об эмитерах

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 Следующая »
#0
15:14, 4 авг. 2009

Есть фреймбуффер X*Y ARGB.

В (X1,Y1) области был центр взрыва с радиусом (R1 — R2) и N частицами.
Как рассчитывать?

Тупо отдельно каждую частицу "от центра", причем принять ее за эмитер мелких частиц? И уменьшать постепенно интенсивность?

Т.е. набор эмитеров с параметрами интенсивности, времени жизни, направления, кол-ва частиц, скорости, причем в начальном и конечном состоянии?
Не слишком ли сложно? Есть  варианты проще?

И есть ли готовые реализации, не привязанные к движкам, платформам и технологиям(т.е. нельзя привязываться к винде или даже к OpenGL). Опенсурс.


#1
15:21, 4 авг. 2009

Проще, чем система частиц, будет только анимация, созданная программой, которая реализует систему частиц.

#2
15:38, 4 авг. 2009

kvakvs, перефразируй, не понял немного.

Есть еще вариант с художником, который нарисует. И, если честно, он основной рабочий сейчас.

#3
15:44, 4 авг. 2009

nerezus
Из поста №0 не ясно, что вообще хочется сделать.

Ты хочешь сгенерировать процедурно взрыв, или что?

#4
16:05, 4 авг. 2009

Demiurg-HG, да, в 2D.

#5
16:51, 4 авг. 2009

nerezus
http://http.developer.nvidia.com/GPUGems/gpugems_ch06.html

Хорошая базовая статья про партиклы на примере огня.
Объясняется почему одни методики хороши, а другие - плохи.

В твоем случае все тоже самое, с той лишь разницей что ты будешь рисовать не "3D" патиклы и "2D".
В дополнение: на практике может хватить одной картинки изображением огня и одной картинки - дыма.

Есть еще "пиксельный" алгоритм. Суть такова, сканируется область экрана, и вокруг точки, где значение цвета больше определенного рисуется еще несколько пикселей, но уже меньшей интенсивности.
Алгоритм медленный, плохо-контролируемый и по современным меркам - не такой красивый.

#6
17:29, 4 авг. 2009

nerezus
Для приличного взрыва я вижу всего 2 пути
1. Своя система частиц, которая нарисует всплеск частиц огня (1 маленький яркий спрайт помноженный на 50-100 или более частиц) и дыма (1 маленький чёрный или серый спрайт на ещё полсотни частиц).
2. Анимация, созданная программой с реализованной системой частиц. Какой-нибудь ВзрывГенератор поищи (название придумано от балды).

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

#7
19:14, 4 авг. 2009

нифига себе тема с повышеной сложностью)))

#8
19:18, 4 авг. 2009

> нифига себе тема с повышеной сложностью)))
А готовое решение найти?)

Я чувствую, что придется лезть в HGE или что-то подобное, чтобы не писать самому.

#9
22:02, 4 авг. 2009

http://www.astralax.ru/ - зайди - те как раз эта штука нужна Magic Particles (Dev) - я спомощью неё свой модуль с партиклами разрабатывал  :) респект создателям

#10
22:28, 4 авг. 2009

maksitron, офигительная вещь, но не подходит под требование непривязки к платформе =(

#11
22:55, 4 авг. 2009

nerezus
не привязывайся к платформе не в коем случае, держи это в тайне от всех. А сам пиши на псевдокоде, он компилируется под любую платформу. :)

#12
22:57, 4 авг. 2009

Adler, мне под макос надо.

В любом случае я не вижу предпосылок для привязки к платформе: ведь ничего платформоспецифического для рассчетов массива(!!) не используется.

#13
0:16, 5 авг. 2009

nerezus
> Adler, мне под макос надо.
А отрендерить несколько анимаций взрывов этой программой, сохранить к примеру в png, а потом отрисовывать с наложением никак? Не очень разнообразно, зато не ресурсоемко.

#14
1:13, 5 авг. 2009

DeKar, ну я рассматривал такой вариант, но он похож на работу художника с точки зрения настраимываетсти в рантайме.

Страницы: 1 2 Следующая »
ПрограммированиеФорум2D графика и изометрия

Тема в архиве.