- 相關(guān)推薦
粒子系統(tǒng)的煙花動畫設(shè)計
在計算機圖形技術(shù)中,將隨機分布的粒子集合構(gòu)成的景物形象定義成粒子系統(tǒng),粒子本身是構(gòu)成景物形象的最簡單圖元,通過局部圖元的特征和動態(tài)的變化展現(xiàn)出整個景物環(huán)境的變化,于是就能夠展現(xiàn)出隨機性,動態(tài)性以及模糊性等特征,因此粒子系統(tǒng)被認為至今為止最為成功的一種能夠模擬不規(guī)則且具有模糊印象的圖形算法,對自然界的雪花,霧氣,煙花,火焰,煙等景象能夠很少的模擬,粒子系統(tǒng)構(gòu)建的影響通過渲染能夠展現(xiàn)出非常真實,現(xiàn)在很多好萊塢電影以及游戲制作中,粒子系統(tǒng)圖形算法得到了廣泛的應用,一起看看吧!
1 粒子系統(tǒng)基礎(chǔ)概念
粒子系統(tǒng)本身是一個集合體,因為現(xiàn)實世界中很多景觀都是模糊的,而且還具有流動變化的屬性,粒子系統(tǒng)就是將這種模糊又變化的粒子組成一個結(jié)合,形成粒子系統(tǒng),這個系統(tǒng)具有離散和連續(xù)兩大屬性,通過粒子對空間的充斥和運動,且粒子之間相對獨立,同時相互不能穿透,在時空上具有一定的變化,同時擁有顏色,亮度,形狀以及立體體積的外觀形象以及具有運動的特性和生命周期。其中顏色及亮度及形狀會隨著時間的變化而變化;粒子在不同的應用環(huán)境中會具有不同的屬性,比如在霧氣中,就和在煙花中的屬性就有偏差,每個粒子都會有生命周期,所謂粒子生命周期包括新生,活動和死亡,在粒子的生命周期里,粒子從形狀和運動狀態(tài)會發(fā)生變化,這個變化過程是隨即的,因為粒子系統(tǒng)本身就是描述模糊景物,因此涉及到粒子的各種參數(shù)是隨機的,包括初始值也要隨機。目前粒子模型主要有兩種,一種是虛擬,另一種就是實體,無論是虛擬還是實體都具有模糊特征,比如虛擬的雪花,煙霧,實體景物中的人和動物的運動等。對于簡單的模糊景物就能夠通過改變動力學方程參數(shù)值來模擬動態(tài)效果,復雜景物就需要對這個物體進行分割,然后針對每一個小部分列出動力學方程,然后針對每個部分來進行幀計算,再繪制成整體。
2 煙花粒子系統(tǒng)分析
2.1 煙花粒子模型系統(tǒng)分析
因為煙花的形狀是千差萬別的,但是都具有一些基本的特征,因此在煙花粒子建模方面就應該把握住核心特征,并且結(jié)合不同的煙花形狀來設(shè)置不同的參數(shù)來實現(xiàn),比如現(xiàn)在廠家的煙花形狀就有球狀,風車狀,天女散花狀以及菊花狀等,這些不同形狀的煙花實際上僅僅需要通過設(shè)置不同的參數(shù)和動態(tài)模型就能夠?qū)崿F(xiàn)不同的燃放效果。煙花粒子模型的主要模式就是分成兩個部分,一個就是燃放點,另一個就是爆炸點,無論是燃放點和爆炸點都是隨機的,不過這個隨機過程分為橫向和縱向之分,一般燃放點都是屏幕的下方,爆炸點會有兩種情況,一種是爆炸點和燃放點一致,另一種就是爆炸點和燃放點的軌跡一致,但是這個爆炸點是在屏幕的上方,結(jié)合煙花的燃放模式,所以在煙花模型的主要特征上來分析,那就是在燃放點不會釋放所有粒子,只要將一個粒子向空中運動,并給這些粒子賦初始值,另一種就是在空中爆炸,此時通過設(shè)置不同的初始值來展現(xiàn)煙花粒子的不同形狀,同時通過紋理映射技術(shù)來讓煙花粒子展現(xiàn)出立體效果。
(1)天女散花模型
這個煙花粒子系統(tǒng)模型的燃燒點和爆炸點是結(jié)合的,因此燃放和爆炸運動軌跡初始點是同一個點,粒子要在第一幀產(chǎn)生,在隨后時空里要對粒子的屬性進行隨機設(shè)置,保證一定粒子數(shù)。如果太少就不會產(chǎn)生天女散花的效果,而數(shù)目太多,處理速度變慢,就會影響實時效果。因為煙花在燃放過程中會出現(xiàn)不同的形狀,如果和現(xiàn)實一樣太過于困難,通過設(shè)置不同粒子形狀能夠解決這一問題。并將這些不同的粒子形狀按照(1、2、……n)序列號設(shè)置,并對這些粒子使用隨機函數(shù)賦值,同時初始值就應該映射紋理,提升粒子的三維屬性。目前粒子初始形狀公式為:形狀=int(形狀均值+rand(形狀方差));對于這個公式中的int函數(shù)是定義粒子的初始屬性。而下面的位置,速度和顏色公式則主要定義粒子在空間變化的屬性。
位置公式:位置P(fi)=P(fi-1)+ V(fi -1)dt
速度公式:速度V(fi)=V(fi-1)+ adt
顏色公式:顏色C(fi)=C(fi-1)+ △Cdt
粒子存活時間公式:生存期L(fi)=L(fi-1)-1
小a是粒子運動的加速度,△C則是粒子的顏色變化比率,生存期的公式設(shè)置的目的就是讓粒子產(chǎn)生到消亡能有一個時間上和變化上的界定。
。2)牡丹和激光模型
這個模型是讓粒子在空中燃放,粒子在初始幀產(chǎn)生之后,在后面的運動中不會再產(chǎn)生新粒子,其中粒子的屬性,活動及消亡條件如同天女散花模型,然后將球狀的煙花模型投影到平面,再加上變化的紋理映射,再結(jié)合BillBoarding技術(shù)就能夠得到類似牡丹或者激光的煙花模型。
2.2 煙花粒子系統(tǒng)的實現(xiàn)
。1)煙花粒子系統(tǒng)基本數(shù)據(jù)結(jié)構(gòu)
structfire_point t {
float tdir; //定義運動粒子方向
float tspeed; ;//初始速度
float tr,g,b;//初始基本顏色屬性
float tx,y; ;//粒子隨機坐標位置
};
structfirework
{
int ttype; ;//定義煙花的形狀模型
float tx,y; ;//燃放位置
float tt; ;//粒子存活時間
float tdir;
int tflag,counter;
structfire_point tfp[MAX_POINTS];//爆炸粒子
structfirework k*next; ;//進入下一個煙火
};
。2)煙花粒子系統(tǒng)的生成步驟
以下簡單探討一下天女散花煙花模型的繪制,其一在燃燒點添加煙花粒子;其二給初始粒子賦值;其三繪制初始煙花粒子;其四根據(jù)虛擬時間對每一幀的煙花粒子通過公式賦予不同的屬性;其五粒子在運動過程中添加紋理映射;其六粒子生存期值減1;其七部分煙花粒子消亡;其八隨機產(chǎn)生新的煙花粒子;其九繪制新的煙花粒子。圖3是通過煙花模擬示意圖。
3 總結(jié)
通過對天女散花等煙花粒子系統(tǒng)模型的應用,同時結(jié)合了紋理映射和BillBoarding 技術(shù)能夠有效的展現(xiàn)出四種煙花的燃放過程,這四種燃放模型具有一定的通用性,只需要改變不同的參數(shù)就能夠達到不同的效果,同時利用了OpenGL顯示列表的繪圖功能,進一步優(yōu)化了程序的性能,實現(xiàn)了基本的三維效果和實時性。
【粒子系統(tǒng)的煙花動畫設(shè)計】相關(guān)文章:
Flash動畫設(shè)計09-06
Flash動畫設(shè)計與傳統(tǒng)動畫設(shè)計有什么區(qū)別09-29
動畫設(shè)計的美學知識10-10
Flash動畫設(shè)計常識06-22
Flash動畫設(shè)計的根本07-01
色彩對動畫設(shè)計的運用09-16
動畫設(shè)計中的色彩運用08-25