本發明專利技術公開了一種基于GPU模擬過程式動畫的實現方法,主要包括:定義待模擬對象所在環境的風場信息;基于定義所得待模擬對象所在環境的風場信息進行分類,對不同類別分別進行插值計算,得到與相應風場信息對應的四元數;基于風場信息的不同類別插值計算得到的多個四元數進行處理,形成待模擬對象的運動動畫。本發明專利技術所述基于GPU模擬過程式動畫的實現方法,可以克服現有技術中模擬效果差、運動模式表達難度大和計算機圖形處理量大等缺陷,以實現模擬效果好、運動模式表達難度小和計算機圖像處理量小的優點。
【技術實現步驟摘要】
—種基于GPU模擬過程式動畫的實現方法
本專利技術涉及圖像處理
,具體地,涉及一種基于GPU模擬過程式動畫的實現方法。
技術介紹
自然現象的模擬是計算機領域的一個重要研究課題,在自然界中這隨風擺動的是一種很常見的現象,要想精確的模擬這種搖曳的效果具有相當的復雜性,大多數樹木有無數個樹枝和樹葉組成,而搖曳具有層次性,每個樹枝的不僅自身運動,還要隨著父樹枝運動而運動,這樣的運動模式很難用幾何變形來表達。為了解決這種現象的模擬,就需要計算機圖形處理相當復雜的運算。在實現本專利技術的過程中,專利技術人發現現有技術中至少存在模擬效果差、運動模式表達難度大和計算機圖形處理量大等缺陷。
技術實現思路
本專利技術的目的在于,針對上述問題,提出一種基于GPU模擬過程式動畫的實現方法,以實現模擬效果好、運動模式表達難度小和計算機圖像處理量小的優點。為實現上述目 的,本專利技術采用的技術方案是:一種基于GPU模擬過程式動畫的實現方法,主要包括: a、定義待模擬對象所在環境的風場信息; b、基于定義所得待模擬對象所在環境的風場信息進行分類,對不同類別分別進行插值計算,得到與相應風場信息對應的四元數; C、基于風場信息的不同類別插值計算得到的多個四元數進行處理,形成待模擬對象的運動動畫。進一步地,在步驟a中,所述定義待模擬對象所在環境的風場信息的操作,具體包括: 由于形成待模擬對象搖曳的效果時必須有外力,該外力之源一般采用流體力學的方法來模擬風,把風力定義為對地形的二維力場,風場能夠在頂點著色器中通過一個二維紋理來進行采樣獲得,這種方法完全在GPU上模擬風場; 該模擬風場定義了流體的速度和方向,采用數據結構來存儲該模擬風場;在該模擬風場中,全局風向和風速能夠和風元一起存儲,風元被定義為分析函數:V= G(X,t); 其中,X是一個風元中表示位置的二維向量,V是在給定位置的一個風向量,時間t隨著時間的變化,能夠計算出每一個點的風向和風速。進一步地,在步驟a中,所述待模擬對象所在環境的風場信息,包括: 待模擬對象位于迎風向的振幅、振動頻率和偏移角度; 待模擬對象位于背風向的振幅、振動頻率和偏移角度; 待模擬對象垂直于風向的振幅、振動頻率和偏移角度。進一步地,在步驟b中,所述對不同類別分別進行插值計算,通過參數傳入到LerpO函數里,GPU會對這個函數插值計算處理,得到與相應風場信息對應的四元數的操作,具體包括: 當待模擬對象位于迎風向和背風向時,分別將待模擬對象位于迎風向的風場信息和待模擬對象位于背風向的風場信息進行插值計算,得到四元數O ;所述待模擬對象位于迎風向的風場信息和待模擬對象位于背風向的風場信息,均包括振幅、振動頻率和偏移角度; 當待模擬對象垂直于背風向時,將待模擬對象垂直于風向的風場信息進行插值計算,得到四元數I;所述待模擬對象垂直于風向的風場信息包括振幅、振動頻率和偏移角度。進一步地,在步驟c中,所述基于風場信息的不同類別插值計算得到的多個四元數進行處理,形成待模擬對象的運動動畫的操作,具體包括: 將基于風場信息的不同類別插值計算得到的多個四元數進行二次插值計算,得到待模擬對象旋轉的四元數; 對待模擬對象旋轉的四元數所影響的頂點,進行矩陣變換處理,形成待模擬對象的運動。該矩陣變換的過程和骨骼變換的相同,具體的矩陣變換其實是為了實現坐標的統一而進行的變換,即從樹枝靜止時自身坐標矩陣轉化為相對于樹干的世界坐標變換,然后在轉化為改樹枝的世界矩陣。而這些頂點的位置就隨著最后每個枝條的運動情況來實現運動的。進一步地,所述待模擬對象,包括樹木、花草。本專利技術各實施例的基于GPU模擬過程式動畫的實現方法,由于主要包括:定義待模擬對象所在環境的風場信息;基于定義所得待模擬對象所在環境的風場信息進行分類,對不同類別分別進行插值計算,得到與相應風場信息對應的四元數;基于風場信息的不同類別插值計算得到的多個四元數進行處理,形成待模擬對象的運動動畫;可以模擬樹木、花草實時搖曳的過程;從而可以克服現有技術中模擬效果差、運動模式表達難度大和計算機圖形處理量大的缺陷,以實現模擬效果好、運動模式表達難度小和計算機圖像處理量小的優點。本專利技術的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本專利技術而了解。下面通過附圖和實施例,對本專利技術的技術方案做進一步的詳細描述。【附圖說明】附圖用來提供對本專利技術的進一步理解,并且構成說明書的一部分,與本專利技術的實施例一起用于解釋本專利技術,并不構成對本專利技術的限制。在附圖中: 圖1為本專利技術基于GPU模擬過程式動畫的實現方法中未使用枝葉的動畫圖; 圖2為本專利技術基于GPU模擬過程式動畫的實現方法中使用過枝葉的動畫圖; 圖3為本專利技術基于GPU模擬過程式動畫的實現方法中美術制作樹模型的命名規則2的動畫圖; 圖4為本專利技術基于GPU模擬過程式動畫的實現方法中美術制作樹模型的命名規則2的動畫圖;圖5為本專利技術基于GPU模擬過程式動畫的實現方法中振幅調到最大的樹枝的運動(樹干也歸為樹枝) 圖6為本專利技術基于GPU模擬過程式動畫的實現方法中振幅調到最小的樹枝的運動(樹干也歸為樹枝) 圖7 (a)為本專利技術基于GPU模擬過程式動畫的實現方法中在無風狀態下樹枝的偏移角度為O的動畫圖; 圖7(b)為本專利技術基于GPU模擬過程式動畫的實現方法中樹枝的偏移角度為I的時候,得到最大偏移角度的動畫圖; 圖7 (c)為本專利技術基于GPU模擬過程式動畫的實現方法中樹枝的偏移角度為-1的時候,得到最小偏移角度的動畫圖; 圖8為本專利技術基于GPU模擬過程式動畫的實現方法的流程示意圖。【具體實施方式】以下結合附圖對本專利技術的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本專利技術,并不用于限定本專利技術。隨著時代的發展,GPU的性能也在不斷的提高,依據GPU具有高并行結構的特點,所有在處理圖形數據和復雜計算擁有比CPU更高的效率。為了解決現有技 術中存在的缺陷,根據本專利技術實施例,如圖1-圖8所示,提供了一種基于GPU模擬過程式動畫的實現方法,具體是一種模擬樹木、花草實時搖曳的過程式動畫實現的方法。該基于GPU模擬過程式動畫的實現方法,利用了 GPU頂點著色器中引入過程式動畫就是為了充分發掘GPU的創建和繪制的能力,來模擬可視化擁有大量植物的較大的開放環境,這種模擬到虛擬的場景中形成逼真的樹木搖曳的效果,不僅可以增加場景的生動性,更能增強用戶的代入感。本實施例的基于GPU模擬過程式動畫的實現方法,主要包括: a、定義待模擬對象所在環境的風場信息; 在步驟a中,定義待模擬對象所在環境的風場信息的操作,具體包括: 由于形成待模擬對象搖曳的效果時必須有外力,該外力之源一般采用流體力學的方法來模擬風,把風力定義為對地形的二維力場,風場能夠在頂點著色器中通過一個二維紋理來進行采樣獲得,這種方法完全在GPU上模擬風場;該待模擬對象,包括樹木、花草; 該模擬風場定義了流體的速度和方向,采用數據結構來存儲該模擬風場;在該模擬風場中,全局風向和風速能夠和風元一起存儲,風元被定義為分析函數:V= G(X,t); 其中,X是一個風元中表示位置的二維向量,V是在給定位置的一個風向量,時間t隨本文檔來自技高網...
【技術保護點】
一種基于GPU模擬過程式動畫的實現方法,其特征在于,主要包括:a、定義待模擬對象所在環境的風場信息;b、基于定義所得待模擬對象所在環境的風場信息進行分類,對不同類別分別進行插值計算,得到與相應風場信息對應的四元數;c、基于風場信息的不同類別插值計算得到的多個四元數進行處理,形成待模擬對象的運動動畫。
【技術特征摘要】
1.一種基于GPU模擬過程式動畫的實現方法,其特征在于,主要包括: a、定義待模擬對象所在環境的風場信息; b、基于定義所得待模擬對象所在環境的風場信息進行分類,對不同類別分別進行插值計算,得到與相應風場信息對應的四元數; C、基于風場信息的不同類別插值計算得到的多個四元數進行處理,形成待模擬對象的運動動畫。2.根據權利要求1所述的基于GPU模擬過程式動畫的實現方法,其特征在于,在步驟a中,所述定義待模擬對象所在環境的風場信息的操作,具體包括: 由于形成待模擬對象搖曳的效果時必須有外力,該外力之源一般采用流體力學的方法來模擬風,把風力定義為對地形的二維力場,風場能夠在頂點著色器中通過一個二維紋理來進行采樣獲得,這種方法完全在GPU上模擬風場; 該模擬風場定義了流體的速度和方向,采用數據結構來存儲該模擬風場;在該模擬風場中,全局風向和風速能夠和風元一起存儲,風元被定義為分析函數: V= G (X,t); 其中,X是一個風元中表示位置的二維向量,V是在給定位置的一個風向量,時間t隨著時間的變化,能夠計算出每一個點的風向和風速。3.根據權利要求1或2所述的基于GPU模擬過程式動畫的實現方法,其特征在于,在步驟a中,所述待模擬對象所在環境的風場信息,包括: 待模擬對象位于迎風向的振幅、振動頻率和偏移角度; 待模擬對象位于背風向的振幅、振動...
【專利技術屬性】
技術研發人員:張翼,
申請(專利權)人:無錫梵天信息技術股份有限公司,
類型:發明
國別省市:江蘇;32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。