專利名稱:一種可控的火焰動畫生成方法及其系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種火焰動畫設(shè)計的控制算法,特別是涉及一種可控的火焰動畫生成方法及其系統(tǒng)。
背景技術(shù):
隨著流體模擬技術(shù)的逐步發(fā)展,自然界中各種流體現(xiàn)象,如煙霧、水、火焰、爆炸等,越來越廣泛地應(yīng)用于虛擬現(xiàn)實、影視動漫、游戲娛樂等多個領(lǐng)域。其中,因為火焰的危險性、運(yùn)動規(guī)律的復(fù)雜性,以及實際應(yīng)用中特殊需求,促使火焰現(xiàn)象的模擬成為計算機(jī)圖形學(xué)領(lǐng)域的一個研究熱點。真實感強(qiáng)的火焰效果能極大程度地提高虛擬現(xiàn)實技術(shù)帶給用戶的沉浸感;火焰的靈活控制技術(shù)能提供影視動漫制作者廣闊的想象發(fā)揮空間,充分展現(xiàn)藝術(shù)家的靈感創(chuàng)作;同時,火焰模擬的逼真性和可控性也將促進(jìn)游戲等娛樂產(chǎn)業(yè)的蓬勃發(fā)展。各個領(lǐng)域?qū)鹧婺M技術(shù)的真實感和靈活控制方面的需求使得真實感火焰控制技術(shù)的研究極 具意義和重要性。在影視特效領(lǐng)域,火焰的行為控制技術(shù)能為創(chuàng)作帶來極大的便利和發(fā)揮空間,能夠生成現(xiàn)實世界中根本不存在的虛擬角色或者特殊場景。而實際在影視特效中應(yīng)用的火焰動畫,在時間和空間上的需求,可能與實測數(shù)據(jù)差異非常大,因此,怎樣重用這些重構(gòu)的火焰數(shù)據(jù),是一個需要解決的問題?,F(xiàn)階段,火焰動畫的生成主要有幾種控制方式。利用粒子系統(tǒng)的方式生成火焰,具有制作簡單、控制靈活等特點,被廣泛應(yīng)用于動畫、游戲等領(lǐng)域但是若要得到逼真的火焰效果,需要維持大量的粒子,影響計算效率;并且粒子系統(tǒng)中的每個粒子具有一定的獨立性,使其存在內(nèi)部弱耦合性的缺點,難以得到真實感強(qiáng)的火焰效果?;谖锢淼姆椒ㄍㄟ^追溯火焰的物理根源,根據(jù)其物理本質(zhì)進(jìn)行建模,得到火焰的物理數(shù)據(jù),并由基于物理的渲染器進(jìn)行繪制,能得到真實感強(qiáng)的火焰效果,但是底層物理方程的復(fù)雜性,計算資源有限,使得模型的求解空間、時間及計算精度都受到一定的限制。同時,底層物理方程的強(qiáng)非線性性,使得模型的可控性較差。目前,火焰控制動畫要得到滿意的效果,需要特效制作人員反復(fù)的測試與多次調(diào)整。在控制性方面,缺少能同時保證模擬效果和靈活控制的火焰模型。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種可控的火焰動畫生成方法,以物理模擬的數(shù)據(jù)為基礎(chǔ),用較快的速度生成真實感較高的動畫序列。為實現(xiàn)上述目的,本發(fā)明提出了一種可控的火焰動畫生成方法,包括步驟1,通過物理建?;?qū)崪y的方法獲取火焰模擬的網(wǎng)格數(shù)據(jù)場;步驟2,利用所述網(wǎng)格數(shù)據(jù)場在燃燒點附近區(qū)域注入粒子生成對應(yīng)的粒子系統(tǒng),所述粒子系統(tǒng)的粒子在所述網(wǎng)格數(shù)據(jù)場的驅(qū)動下運(yùn)動;步驟3,將所述粒子系統(tǒng)導(dǎo)入場景,根據(jù)用戶設(shè)置的控制條件對所述粒子系統(tǒng)中的粒子運(yùn)動軌跡以及粒子溫度進(jìn)行調(diào)整;
步驟4,將調(diào)整后的粒子系統(tǒng)恢復(fù)為第二網(wǎng)格數(shù)據(jù)場,利用插值算法計算所述第二網(wǎng)格數(shù)據(jù)場的網(wǎng)格溫度場;步驟5,對所述網(wǎng)格溫度場進(jìn)行渲染,生成火焰圖片序列。所述步驟3包括步驟31,根據(jù)粒子初始點距燃燒注入點的距離,將所述粒子系統(tǒng)劃分為兩個區(qū)域,粒子的運(yùn)動方式隨著兩個區(qū)域的火焰燃燒程度的變化而變化;步驟32,根據(jù)粒子生成點在整個區(qū)域的位 置,隨機(jī)選擇所述兩個區(qū)域中的一個區(qū)域的粒子導(dǎo)入場景,使粒子的生成點附著于所述控制條件中的火焰形狀上;步驟33,根據(jù)火焰的目標(biāo)方向與火焰的原始方向的角度,確定一個外力作用在粒子上對粒子的運(yùn)動軌跡進(jìn)行調(diào)整;步驟34,在原始基本火焰燃燒的基礎(chǔ)上,增大能量耗散的速度,對粒子的溫度降低速度進(jìn)行調(diào)整;所述步驟33中粒子的運(yùn)動軌跡調(diào)整后的粒子位移改變計算公式為
權(quán)利要求
1.一種可控的火焰動畫生成方法,其特征在于,包括 步驟1,通過物理建模或?qū)崪y的方法獲取火焰模擬的網(wǎng)格數(shù)據(jù)場; 步驟2,利用所述網(wǎng)格數(shù)據(jù)場在燃燒點附近區(qū)域注入粒子生成對應(yīng)的粒子系統(tǒng),所述粒子系統(tǒng)的粒子在所述網(wǎng)格數(shù)據(jù)場的驅(qū)動下運(yùn)動; 步驟3,將所述粒子系統(tǒng)導(dǎo)入場景,根據(jù)用戶設(shè)置的控制條件對所述粒子系統(tǒng)中的粒子運(yùn)動軌跡以及粒子溫度進(jìn)行調(diào)整; 步驟4,將調(diào)整后的粒子系統(tǒng)恢復(fù)為第二網(wǎng)格數(shù)據(jù)場,利用插值算法計算所述第二網(wǎng)格數(shù)據(jù)場的網(wǎng)格溫度場; 步驟5,對所述網(wǎng)格溫度場進(jìn)行渲染,生成火焰圖片序列。
2.如權(quán)利要求I所述的火焰動畫生成方法,其特征在于,所述步驟3包括 步驟31,根據(jù)粒子初始點距燃燒注入點的距離,將所述粒子系統(tǒng)劃分為兩個區(qū)域,粒子的運(yùn)動方式隨著兩個區(qū)域的火焰燃燒程度的變化而變化; 步驟32,根據(jù)粒子生成點在整個區(qū)域的位置,隨機(jī)選擇所述兩個區(qū)域中的一個區(qū)域的粒子導(dǎo)入場景,使粒子的生成點附著于所述控制條件中的火焰形狀上; 步驟33,根據(jù)火焰的目標(biāo)方向與火焰的原始方向的角度,確定一個外力作用在粒子上對粒子的運(yùn)動軌跡進(jìn)行調(diào)整; 步驟34,在原始基本火焰燃燒的基礎(chǔ)上,增大能量耗散的速度,對粒子的溫度降低速度進(jìn)行調(diào)整。
3.如權(quán)利要求2所述的火焰動畫生成方法,其特征在于,所述步驟33中粒子的運(yùn)動軌跡調(diào)整后的粒子位移改變計算公式為=
4.如權(quán)利要求2所述的火焰動畫生成方法,其特征在于,所述步驟34中粒子的溫度降低速度計算公式為
5.如權(quán)利要求I所述的火焰動畫生成方法,其特征在于,所述步驟4中網(wǎng)格溫度場的插值計算公式為
6.一種可控的火焰動畫生成系統(tǒng),其特征在于,包括 網(wǎng)格數(shù)據(jù)場獲取模塊,用于通過物理建?;?qū)崪y獲取火焰模擬的網(wǎng)格數(shù)據(jù)場; 粒子系統(tǒng)生成模塊,利用所述網(wǎng)格數(shù)據(jù)場在燃燒點附近區(qū)域注入粒子生成對應(yīng)的粒子系統(tǒng),所述粒子系統(tǒng)的粒子在所述網(wǎng)格數(shù)據(jù)場的驅(qū)動下運(yùn)動; 粒子系統(tǒng)調(diào)整模塊,用于將所述粒子系統(tǒng)導(dǎo)入場景,根據(jù)用戶設(shè)置的控制條件對所述粒子系統(tǒng)中的粒子運(yùn)動軌跡以及粒子溫度進(jìn)行調(diào)整; 網(wǎng)格溫度場計算模塊,用于將調(diào)整后的粒子系統(tǒng)恢復(fù)為第二網(wǎng)格數(shù)據(jù)場,利用插值算法計算所述第二網(wǎng)格數(shù)據(jù)場的網(wǎng)格溫度場; 渲染生成模塊,用于對所述網(wǎng)格溫度場進(jìn)行渲染,生成火焰圖片序列。
7.如權(quán)利要求6所述的火焰動畫生成系統(tǒng),其特征在于,所述粒子系統(tǒng)調(diào)整模塊包括 粒子系統(tǒng)劃分模塊,用于根據(jù)粒子初始點距燃燒注入點的距離,將所述粒子系統(tǒng)劃分為兩個區(qū)域,粒子的運(yùn)動方式隨著兩個區(qū)域的火焰燃燒程度的變化而變化; 粒子附著處理模塊,用于根據(jù)粒子生成點在整個區(qū)域的位置,隨機(jī)選擇所述兩個區(qū)域中的一個區(qū)域的粒子導(dǎo)入場景,使粒子的生成點附著于用戶設(shè)置的火焰形狀上; 粒子軌跡調(diào)整模塊,用于根據(jù)火焰的目標(biāo)方向與火焰的原始方向的角度,確定一個外力作用在粒子上對粒子的運(yùn)動軌跡進(jìn)行調(diào)整; 粒子溫度調(diào)整模塊,用于在原始基本火焰燃燒的基礎(chǔ)上,增大能量耗散的速度,對粒子的溫度降低速度進(jìn)行調(diào)整。
8.如權(quán)利要求7所述的火焰動畫生成系統(tǒng),其特征在于,所述粒子軌跡調(diào)整模塊中的粒子位移改變計算公式為
9.如權(quán)利要求7所述的火焰動畫生成方法,其特征在于,所述粒子溫度調(diào)整模塊中的粒子溫度降低速度計算公式為
10.如權(quán)利要求6所述的火焰動畫生成方法,其特征在于,所述網(wǎng)格溫度場計算模塊中的網(wǎng)格溫度場的插值計算公式為
全文摘要
本發(fā)明公開了一種可控的火焰動畫生成方法及其系統(tǒng)。該可控的火焰動畫生成方法的包括步驟1,通過物理建模或?qū)崪y的方法獲取火焰模擬的網(wǎng)格數(shù)據(jù)場;步驟2,利用所述網(wǎng)格數(shù)據(jù)場在燃燒點附近區(qū)域注入粒子生成對應(yīng)的粒子系統(tǒng),所述粒子系統(tǒng)的粒子在所述網(wǎng)格數(shù)據(jù)場的驅(qū)動下運(yùn)動;步驟3,將所述粒子系統(tǒng)導(dǎo)入場景,根據(jù)用戶設(shè)置的控制條件對所述粒子系統(tǒng)中的粒子運(yùn)動軌跡以及粒子溫度進(jìn)行調(diào)整;步驟4,將調(diào)整后的粒子系統(tǒng)恢復(fù)為第二網(wǎng)格數(shù)據(jù)場,利用插值算法計算所述第二網(wǎng)格數(shù)據(jù)場的網(wǎng)格溫度場;步驟5,對所述網(wǎng)格溫度場進(jìn)行渲染,生成火焰圖片序列。本發(fā)明以物理模擬的數(shù)據(jù)為基礎(chǔ),能用較快的速度生成真實感較高的動畫序列。
文檔編號G06T13/00GK102915552SQ20121034791
公開日2013年2月6日 申請日期2012年9月18日 優(yōu)先權(quán)日2012年9月18日
發(fā)明者朱登明, 馮笑冰, 魏毅, 王兆其 申請人:中國科學(xué)院計算技術(shù)研究所