欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種移動(dòng)終端模擬粒子系統(tǒng)的方法

文檔序號(hào):10688092閱讀:293來源:國知局
一種移動(dòng)終端模擬粒子系統(tǒng)的方法
【專利摘要】本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,公開了一種移動(dòng)終端模擬粒子系統(tǒng)的方法,所述方法包括:當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng);生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化;判斷粒子生命周期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未結(jié)束,則更新粒子狀態(tài);渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模糊現(xiàn)象進(jìn)行模擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真;粒子系統(tǒng)仿真完成,幀結(jié)束。本發(fā)明通過采用粒子系統(tǒng)對(duì)模糊現(xiàn)象進(jìn)行模擬,利用粒子系統(tǒng)實(shí)現(xiàn)了三維動(dòng)態(tài)仿真,提升了模擬效果的真實(shí)度,將復(fù)雜運(yùn)算的特效應(yīng)用到移動(dòng)終端中,方便了用戶,提升了移動(dòng)終端的游戲特效處理速度。
【專利說明】
一種移動(dòng)終端模擬粒子系統(tǒng)的方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其是一種移動(dòng)終端模擬粒子系統(tǒng)的方法。
【背景技術(shù)】
[0002] 隨著手游技術(shù)和VR(Virtual Reality:虛擬現(xiàn)實(shí))技術(shù)的不斷發(fā)展,自主研發(fā)的游 戲特效種類繁多,不斷推陳出新,粒子特效的運(yùn)用能夠使游戲畫面以及手機(jī)界面更加具有 渲染力,增加真實(shí)感的同時(shí)會(huì)給用戶帶來不一樣的體驗(yàn)。
[0003] 在游戲圖形系統(tǒng)的開發(fā)過程中,經(jīng)常要對(duì)模糊現(xiàn)象進(jìn)行模擬,如雨、煙、水流、火 焰、霧、雪、塵埃、火花、爆炸以及發(fā)光的軌跡等模糊現(xiàn)象進(jìn)行模擬,模擬這些現(xiàn)象的渲染技 術(shù)稱作粒子系統(tǒng),換言之,粒子系統(tǒng)是指計(jì)算機(jī)圖形學(xué)中以粒子群體來模擬模糊現(xiàn)象的技 術(shù)。相比于傳統(tǒng)的渲染技術(shù),采用粒子系統(tǒng)對(duì)模糊現(xiàn)象進(jìn)行模擬,能夠提升模擬效果的真實(shí) 度。
[0004] 粒子系統(tǒng)的基礎(chǔ)是大量的粒子,通過對(duì)粒子進(jìn)行模擬和渲染,可以實(shí)現(xiàn)對(duì)模糊對(duì) 象的模擬。
[0005] 粒子系統(tǒng)的性能直接影響對(duì)模糊現(xiàn)象進(jìn)行模擬的真實(shí)度,現(xiàn)有的粒子系統(tǒng)處理方 法一般是通過控制粒子數(shù)量或者改進(jìn)模擬算法來提升粒子系統(tǒng)的性能。
[0006] 隨著計(jì)算機(jī)圖形學(xué)的迅速發(fā)展,新技術(shù)已經(jīng)層出不窮,傳統(tǒng)經(jīng)典的歐式幾何方法 只能用于直線,光滑的曲線以及平面等,可以實(shí)現(xiàn)一些規(guī)則的圖形建模,對(duì)于動(dòng)態(tài)的景物模 擬已經(jīng)顯得力不從心,即而現(xiàn)有技術(shù)中還無法在手機(jī)系統(tǒng)中實(shí)現(xiàn)復(fù)雜的游戲特效,操作也 不方便。
[0007] 因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。

【發(fā)明內(nèi)容】

[0008] 本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)無法而將這種復(fù)雜運(yùn)算的特效應(yīng)用 到手機(jī)中,因此本發(fā)明的一種移動(dòng)終端模擬粒子系統(tǒng)的方法來通過粒子特效運(yùn)用到手機(jī) 中,通過采用粒子系統(tǒng)對(duì)模糊現(xiàn)象進(jìn)行模擬,主要利用三維可視化技術(shù)實(shí)現(xiàn)了三維建模,并 且利用粒子系統(tǒng)實(shí)現(xiàn)了三維動(dòng)態(tài)仿真,能夠提升模擬效果的真實(shí)度,將復(fù)雜運(yùn)算的特效應(yīng) 用到移動(dòng)終端中,本發(fā)明在不增加粒子系統(tǒng)的處理流程的復(fù)雜度的情況下,優(yōu)化粒子系統(tǒng) 的性能,從而提升粒子系統(tǒng)對(duì)模糊現(xiàn)象進(jìn)行模擬的真實(shí)度。
[0009] 本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下: 一種移動(dòng)終端模擬粒子系統(tǒng)的方法,其中,包括: 步驟A,當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng); 步驟B,當(dāng)粒子的幀啟動(dòng)后,生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化; 步驟C,判斷粒子生命周期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未結(jié)束,則 更新粒子狀態(tài); 步驟D,渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模糊現(xiàn)象進(jìn)行模 擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真; 步驟E,粒子系統(tǒng)仿真完成,幀結(jié)束。
[0010] 數(shù)據(jù)在網(wǎng)絡(luò)上是以很小的稱為幀(Frame)的單位傳輸?shù)?,幀由幀頭和幀數(shù)據(jù)組成, 不同的部分執(zhí)行不同的功能。幀通過特定的稱為網(wǎng)絡(luò)驅(qū)動(dòng)程序的軟件進(jìn)行成型,然后通過 網(wǎng)卡發(fā)送到網(wǎng)線上,通過網(wǎng)線到達(dá)它們的目的機(jī)器,在目的機(jī)器的一端執(zhí)行相反的過程。接 收端機(jī)器的以太網(wǎng)卡捕獲到這些幀,并告訴操作系統(tǒng)幀已到達(dá),然后對(duì)其進(jìn)行存儲(chǔ)。
[0011] 粒子系統(tǒng)表示三維計(jì)算機(jī)圖形學(xué)中模擬一些特定的模糊現(xiàn)象的技術(shù),而這些現(xiàn)象 用其它傳統(tǒng)的渲染技術(shù)難以實(shí)現(xiàn)的真實(shí)感的游戲特效,經(jīng)常使用粒子系統(tǒng)模擬的現(xiàn)象有 火、爆炸、煙、水流、火花、落葉、云、霧、雪、塵、流星尾跡或者象發(fā)光軌跡這樣的抽象視覺效 果。
[0012] 通過上述步驟可以實(shí)現(xiàn)對(duì)粒子的渲染,使在手機(jī)上也可以體驗(yàn)到具備各種游戲特 效的、具備抽象視覺效果的手游。
[0013] 所述步驟B中的生成粒子具體包括: Bl、控制粒子系統(tǒng)粒子集的初始分布按照一定規(guī)律加以排列; B2、假設(shè)粒子的空間坐標(biāo)為
,則粒子的三維坐標(biāo)分布則滿足一個(gè)約束方程
其中服從一概率分節(jié)
,所述概率分布為均勻分布或者正態(tài)分布。
[0014] 所述約束方程,是在建立系統(tǒng)模型時(shí),系統(tǒng)的狀態(tài)變量必須滿足的一些條件所構(gòu) 成的方程;概率分布是概率論的基本概念之一,用以表述隨機(jī)變量取值的概率規(guī)律。
[0015] 所述步驟C中判斷粒子的生命周期是粒子系統(tǒng)的粒子屬性來體現(xiàn),粒子屬性根據(jù) 模擬場(chǎng)景的不同有所改變,通用的粒子屬性包括時(shí)間屬性,空間屬性,外觀屬性和運(yùn)動(dòng)屬 性,粒子系統(tǒng)根據(jù)不同場(chǎng)景的模擬需要而呈現(xiàn)不同的粒子屬性,而不同的粒子屬性是通過 粒子屬性中三大屬性的相關(guān)計(jì)算公式的不同而得到不同的數(shù)據(jù),根據(jù)不同的數(shù)據(jù)從而實(shí)現(xiàn) 不同的場(chǎng)景特效。
[0016] 所述粒子的時(shí)間屬性指粒子的生命周期;粒子的空間屬性指粒子在三維空間中的 坐標(biāo)值,即X軸,Y軸,Z軸三個(gè)坐標(biāo)的分布;粒子的外觀屬性指粒子的顏色Gbfor,尺寸JJfee, 透明度,其決定了粒子的視覺效果;粒子的運(yùn)動(dòng)屬性包括粒子的速度、加速 度,在每?jī)蓭g,粒子的當(dāng)前位置是由改粒子的前一幀的位置和當(dāng)前的速度 決定的;所述粒子運(yùn)動(dòng)屬性的加速度是一個(gè)綜合的數(shù)值,受到重力Gravity、風(fēng)力Wind Force、空氣浮力Air Buoyancy因素的影響,運(yùn)用物理中的牛頓運(yùn)動(dòng)定律加以處理,最終得 出一個(gè)加速度。
[0017] 粒子運(yùn)動(dòng)分為三個(gè)明顯的階段,粒子生成,粒子更新,粒子消亡;所述粒子生成后, 在所述步驟D中,粒子屬性隨著幀數(shù)的更新而不斷地改變,從微觀上一個(gè)粒子的角度去分 析,假設(shè)當(dāng)前幀為/幀,對(duì)比前一時(shí)間/-1幀,兩者之間的時(shí)間差為At:,所述粒子的空間屬 性確定為:


其中, 晚粒子三維空間的坐標(biāo),
為第$-1幀粒子 三維空間0 幀時(shí)粒子在三維空間上的三個(gè)速度分量。
[0018] 在所述步驟D中,對(duì)粒子進(jìn)行渲染時(shí),所述粒子的第/幀粒子運(yùn)動(dòng)屬性確定為:
其中,為第丨幀粒子的速度,為第#-1幀粒子的速度, 為第:f-1幀粒子的加速度。
[0019] 在所述步驟D中,渲染粒子包括粒子的外觀屬性,所述粒子外觀屬性變化包括:粒 子的顏色的變化,粒子大小的變化,和粒子透明度的變化。
[0020] 在所述步驟D中,渲染粒子包括對(duì)粒子顏色的渲染,所述粒子顏色的變化確定為:
其中,Gdliar表不粒子顏色屬性值說,) CbfcrIfeifer表不單位時(shí)間下粒子顏色的變 化值。
[0021] 在所述步驟D中,渲染粒子包括對(duì)粒子大小的渲染,所述粒子大小的變化確定為:
其中,表不粒子的大小,
表不單位時(shí)間下粒子尺寸的變化值。
[0022] 在所述步驟D中,渲染粒子包括對(duì)粒子透明度的渲染,所述粒子透明度的變化確定 為:
其4
I示粒子的透明度,
表示單位時(shí)間內(nèi)粒子透明度的變化值,透 明值表示粒子當(dāng)前的亮度,一般配合著深度測(cè)試、測(cè)試等可以輕松地實(shí)現(xiàn)一些半透 明景物的渲染。
[0023] 步驟C中有提到判斷粒子生命周期是否結(jié)束,那么如何判斷粒子的消亡,粒子的消 亡一般滿足下列三個(gè)條件之一: 1.粒子的生命值隨著幀數(shù)的更新,不斷地減少,最終減為零時(shí),粒子則被認(rèn)為達(dá)到消亡 條件; 2. 粒子空間屬性會(huì)制約粒子的消亡,當(dāng)例子運(yùn)動(dòng)到屏幕之外的區(qū)域,為了減少計(jì)算機(jī) 的運(yùn)算量,則認(rèn)為粒子消亡; 3. 粒子的顏色值和透明度達(dá)到最低時(shí),或者長時(shí)間處在和背景色相融時(shí),即使其他屬 性仍然是正常范圍,也認(rèn)為粒子消亡。
[0024] 凡是達(dá)到粒子消亡的三個(gè)條件之一,則認(rèn)為粒子已經(jīng)處于消亡狀態(tài),此時(shí)需要重 新初始化粒子狀態(tài)。
[0025]并且常見粒子繪制方法有三種,點(diǎn)粒子、線粒子、片面粒子。
[0026] 1.點(diǎn)粒子的繪制是通過點(diǎn)光源實(shí)現(xiàn)的,可以有效避免粒子間遮擋的問題,也不用 考慮粒子之間碰撞的問題,這樣可以節(jié)省系統(tǒng)的硬件開銷,同時(shí)提高實(shí)時(shí)性的效果。
[0027] 2.線粒子繪制的基本方法是,定義一個(gè)具有頭和尾的結(jié)構(gòu)性粒子,其中頭尾粒子 均具有自己的屬性,所有屬性通過一個(gè)頭到尾的線性插值實(shí)現(xiàn),透明度則是從中心到邊緣, 按照線性函數(shù)向兩邊遞減,這種生成方式對(duì)硬件的開銷小,適用并行實(shí)現(xiàn),非常適合手機(jī)這 樣的設(shè)備。
[0028] 3.片面粒子定義為很小的片面,每個(gè)片面粒子都具有自己的屬性,而且能夠反射 光線,這種繪制方式能夠顯示更多的物理信息。
[0029] -種移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng),其中,包括: 建立模塊,用于當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng); 粒子生成模塊,用于當(dāng)粒子的幀啟動(dòng)后,生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化; 判斷模塊,用于判斷粒子生命周期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未 結(jié)束,則更新粒子狀態(tài); 渲染與仿真模塊,用于渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模 糊現(xiàn)象進(jìn)行模擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真; 仿真完成控制模塊,用于粒子系統(tǒng)仿真完成,控制幀結(jié)束; 所述移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng)采用上述任一項(xiàng)所述的方法實(shí)現(xiàn)。
[0030] 所述移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng),其中,粒子生成模塊包括: 控制單元,用于控制粒子系統(tǒng)粒子集的初始分布按照一定規(guī)律加以排列; 計(jì)算單元,用于假設(shè)粒子的空間坐標(biāo)為,則粒子的三維坐標(biāo)分布則滿足一個(gè)約 束方程
其中服從一概率分布汽丈丸冷,所述概率分布為均勻分布或者正態(tài)分布。
[0031] 有益效果:本發(fā)明所提供的移動(dòng)終端模擬粒子系統(tǒng)的方法,當(dāng)移動(dòng)終端需對(duì)模糊 現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng);生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化;判斷粒子生命周 期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未結(jié)束,則更新粒子狀態(tài);渲染粒子,通 過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模糊現(xiàn)象進(jìn)行模擬,并利用三維可視化技 術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真;粒子系統(tǒng)仿真完成,幀結(jié)束。本發(fā)明通 過采用粒子系統(tǒng)對(duì)模糊現(xiàn)象進(jìn)行模擬,利用粒子系統(tǒng)實(shí)現(xiàn)了三維動(dòng)態(tài)仿真,提升了模擬效 果的真實(shí)度,將復(fù)雜運(yùn)算的特效應(yīng)用到移動(dòng)終端中,方便了用戶,提升了移動(dòng)終端的游戲特 效處理速度。
【附圖說明】
[0032] 圖1是本發(fā)明移動(dòng)終端模擬粒子系統(tǒng)的方法流程示意圖; 圖2是本發(fā)明移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng)實(shí)施例功能原理框圖。
【具體實(shí)施方式】
[0033] 為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì) 本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用 于限定本發(fā)明。
[0034] 請(qǐng)參見圖1,圖1是本發(fā)明移動(dòng)終端模擬粒子系統(tǒng)的方法流程示意圖。如圖1所示, 本發(fā)明實(shí)施例提供的一種移動(dòng)終端模擬粒子系統(tǒng)的方法,包括以下步驟: 步驟SlO,當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng)。
[0035] 本發(fā)明中,在移動(dòng)終端模擬粒子系統(tǒng)的方法開始后,當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn) 行模擬時(shí),也就是說移動(dòng)終端在運(yùn)行復(fù)雜的大型游戲時(shí),必然會(huì)出現(xiàn)各種虛擬的特效和場(chǎng) 景,所以移動(dòng)終端會(huì)發(fā)出相應(yīng)的指給粒子系統(tǒng),粒子系統(tǒng)在收到指令后,建立粒子的幀啟 動(dòng)。
[0036] 步驟S20,當(dāng)粒子的幀啟動(dòng)后,生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化。
[0037] 所述粒子生成方法有三種,點(diǎn)粒子、線粒子、片面粒子;所述粒子系統(tǒng)中粒子集的 初始分布是按照一定規(guī)律加以排列,粒子的空間坐標(biāo)為(?此4,則粒子的三維坐標(biāo)分布則 滿足一個(gè)約束方程所述概率分布 為均勻分布或者正態(tài)分布。
[0038] 步驟S30,判斷粒子生命周期是否結(jié)束。
[0039] 判斷粒子生命周期是否結(jié)束,那么如何判斷粒子的消亡,粒子的消亡一般滿足下 列三個(gè)條件之一:粒子的生命值隨著幀數(shù)的更新,不斷地減少,最終減為零時(shí),粒子則被認(rèn) 為達(dá)到消亡條件;粒子空間屬性會(huì)制約粒子的消亡,當(dāng)例子運(yùn)動(dòng)到屏幕之外的區(qū)域,為了減 少計(jì)算機(jī)的運(yùn)算量,則認(rèn)為粒子消亡;粒子的顏色值和透明度達(dá)到最低時(shí),或者長時(shí)間處在 和背景色相融時(shí),即使其他屬性仍然是正常范圍,也認(rèn)為粒子消亡;凡是達(dá)到粒子消亡的三 個(gè)條件之一,則認(rèn)為粒子已經(jīng)處于消亡狀態(tài),此時(shí)需要重新初始化粒子狀態(tài)。
[0040] 所述步驟S30中判斷粒子的生命周期是粒子系統(tǒng)的粒子屬性來體現(xiàn),粒子屬性根 據(jù)模擬場(chǎng)景的不同有所改變,通用的粒子屬性包括時(shí)間屬性,空間屬性,外觀屬性和運(yùn)動(dòng)屬 性,粒子系統(tǒng)根據(jù)不同場(chǎng)景的模擬需要而呈現(xiàn)不同的粒子屬性。
[0041]所述粒子的時(shí)間屬性指粒子的生命周期;粒子的空間屬性指粒子在三維空間中的 坐標(biāo)值,即X軸,Y軸,Z軸三個(gè)坐標(biāo)的分布;粒子的外觀屬性指粒子的顏色€3〇^〇?·,尺寸ifeff, 透明度,其決定了粒子的視覺效果;粒子的運(yùn)動(dòng)屬性包括粒子的速度、加速 度_^&〇^5^0?.,在每?jī)蓭g,粒子的當(dāng)前位置是由改粒子的前一幀的位置和當(dāng)前的速度 決定的;所述粒子運(yùn)動(dòng)屬性的加速度是一個(gè)綜合的數(shù)值,受到重力Gravity、風(fēng)力Wind Force、空氣浮力Air Buoyancy因素的影響,運(yùn)用物理中的牛頓運(yùn)動(dòng)定律加以處理,最終得 出一個(gè)加速度。
[0042]步驟S40,如果生命周期結(jié)束,則刪除粒子,直接執(zhí)行步驟S70。
[0043]判斷粒子生命周期已經(jīng)結(jié)束,即由上述三個(gè)條件判斷粒子已經(jīng)消亡,那么消亡的 粒子已經(jīng)沒有了其作用,那么將對(duì)消亡的粒子進(jìn)行刪除。
[0044] 步驟S50,如果生命周期未結(jié)束,則更新粒子狀態(tài)。
[0045] 判斷粒子生命周期未結(jié)束,則對(duì)沒有消亡的粒子的狀態(tài)進(jìn)行更新,使粒子達(dá)到一 種活躍的狀態(tài),便于后面對(duì)粒子的渲染操作,使其具備特效功能。
[0046] 步驟S60,渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模糊現(xiàn)象 進(jìn)行模擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真; 如果生命周期未結(jié)束,在更新粒子狀態(tài)之后,對(duì)粒子進(jìn)行渲染,調(diào)用所述粒子系統(tǒng)的預(yù) 設(shè)渲染策略,根據(jù)所述待模擬對(duì)象的顏色,大小,透明度對(duì)更新后的粒子進(jìn)行渲染。
[0047] 對(duì)粒子的渲染主要通過粒子的空間屬性,運(yùn)動(dòng)屬性和外觀屬性的改變來達(dá)到相應(yīng) 的效果,而這些屬性的變化是根據(jù)不同屬性的計(jì)算數(shù)據(jù)來改變的,所以三大屬性的變化確 定如下: 所述粒子生成后,粒子屬性隨著幀數(shù)的更新而不斷地改變,從微觀上一個(gè)粒子的角度 去分析,假設(shè)當(dāng)前幀為/幀,對(duì)比前一時(shí)間/-1幀,兩者之間的時(shí)間差為遍:,所述粒子的空 間屬性確定為:
其中,為第W幀粒子三維空間的坐標(biāo),為第^-1幀粒子 三維空間的坐標(biāo),為第丨-1幀時(shí)粒子在三維空間上的三個(gè)速度分量。
[0048] 對(duì)粒子進(jìn)行渲染時(shí),所述粒子的第/幀粒子運(yùn)動(dòng)屬性確定為:
其中,F(xiàn)dbc%,為第/幀粒子的速度:
為第/-1幀粒子的速度,
第#-:!幀粒子的加速度。
[0049] 渲染粒子包括粒子的外觀屬性,所述粒子外觀屬性變化包括:粒子的顏色的變化, 粒子大小的變化,和粒子透明度的變化。
[0050] 渲染粒子包括對(duì)粒子顏色的渲染,所述粒子顏色的變化確定為:
其中,Cbiw表不粒子顏色屬性值說,61,),.£3〇^!^^^._表不單位時(shí)間下粒子顏色的變 化值。
[0051 ]渲染粒子包括對(duì)粒子大小的渲染,所述粒子大小的變化確定為:
其中,Jfe?表不粒子的大小,表不單位時(shí)間下粒子尺寸的變化值。
[0052]渲染粒子包括對(duì)粒子透明度的渲染,所述粒子透明度的變化確定為:
其中,表示粒子的透明度,表示單位時(shí)間內(nèi)粒子透明度的變化值。 [0053 ]步驟S70,粒子系統(tǒng)仿真完成,幀結(jié)束。
[0054] 在粒子進(jìn)行針對(duì)性的渲染結(jié)束后,便完成了粒子系統(tǒng)的特效渲染,達(dá)到了所需要 的特效功能,則粒子系統(tǒng)仿真完成,幀結(jié)束,整個(gè)移動(dòng)終端模擬粒子系統(tǒng)的方法的過程結(jié) 束。
[0055] 在所i術(shù)步碟D中,宿染粒子包括對(duì)粒子大小的植染,所述粒子大小的變化確定為:
其中,.jSfeur表不粒子的大小,Siaaifeifei表不單位時(shí)間下粒子尺寸的變化值。
[0056] 在所述步驟D中,渲染粒子包括對(duì)粒子透明度的渲染,所述粒子透明度的變化確定 為:
其中,#&Γ表示粒子的透明度,表示單位時(shí)間內(nèi)粒子透明度的變化值,透 明值表示粒子當(dāng)前的亮度,一般配合著深度測(cè)試、^^鍘試等可以輕松地實(shí)現(xiàn)一些半透 明景物的渲染。
[0057] 步驟C中有提到判斷粒子生命周期是否結(jié)束,那么如何判斷粒子的消亡,粒子的消 亡一般滿足下列三個(gè)條件之一: 4. 粒子的生命值隨著幀數(shù)的更新,不斷地減少,最終減為零時(shí),粒子則被認(rèn)為達(dá)到消亡 條件; 5. 粒子空間屬性會(huì)制約粒子的消亡,當(dāng)例子運(yùn)動(dòng)到屏幕之外的區(qū)域,為了減少計(jì)算機(jī) 的運(yùn)算量,則認(rèn)為粒子消亡; 6. 粒子的顏色值和透明度達(dá)到最低時(shí),或者長時(shí)間處在和背景色相融時(shí),即使其他屬 性仍然是正常范圍,也認(rèn)為粒子消亡。
[0058] 凡是達(dá)到粒子消亡的三個(gè)條件之一,則認(rèn)為粒子已經(jīng)處于消亡狀態(tài),此時(shí)需要重 新初始化粒子狀態(tài)。
[0059]并且常見粒子繪制方法有三種,點(diǎn)粒子、線粒子、片面粒子。
[0060] 1.點(diǎn)粒子的繪制是通過點(diǎn)光源實(shí)現(xiàn)的,可以有效避免粒子間遮擋的問題,也不用 考慮粒子之間碰撞的問題,這樣可以節(jié)省系統(tǒng)的硬件開銷,同時(shí)提高實(shí)時(shí)性的效果。
[0061] 2.線粒子繪制的基本方法是,定義一個(gè)具有頭和尾的結(jié)構(gòu)性粒子,其中頭尾粒子 均具有自己的屬性,所有屬性通過一個(gè)頭到尾的線性插值實(shí)現(xiàn),透明度則是從中心到邊緣, 按照線性函數(shù)向兩邊遞減,這種生成方式對(duì)硬件的開銷小,適用并行實(shí)現(xiàn),非常適合手機(jī)這 樣的設(shè)備。
[0062] 3.片面粒子定義為很小的片面,每個(gè)片面粒子都具有自己的屬性,而且能夠反射 光線,這種繪制方式能夠顯示更多的物理信息^
[0063] 以下通過一具體的應(yīng)用實(shí)施例對(duì)本發(fā)明的方法中通過建立粒子系統(tǒng),對(duì)模糊現(xiàn)象 進(jìn)行模擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真做進(jìn)一 步詳細(xì)描述: 第一步、建立粒子的屬性類; Class CParticle{ int x; int y; int startX; int startY; double startTime; Vector3D m-Position; Vector3D m-Velocity; Vector3D m-Size; Vector3D m-Color; Vector3D m-Alpha; public Particle(int x, int y, int startX, int startY, Vector3D m-Position, Vector3D m-Velocity, Vector3D m-Size, Vector3D m-Color, Vector3D m-Alpha, double m-StartTime ); }; 第二步、粒子系統(tǒng)的初始化; Public void Particle(int x, int y, int startX, int startY, Vector3D Position, Vector3D Velocity, Vector3D Size, Vector3D Color, Vector3D Alpha, double startTime ){ InitO; this.X = x; this.y = y; this.startX = startX; this.startY = startY; this.m-Position = Position; this, m-Velocity = Velocity; this. m-Size = Size; this. m-Color = Color; this, m-Alpha = Alpha; this. m-StartTime = startTime; } 第三步、粒子的生成 public void addParticle(int num, double startTime, int winffidth){ for (int i = 0; i < num; i++) { int color = getColor(i); int r = I; double Velocity.x = -30 + 10 ^ (Math.randomO);// 垂直速度 double Velocity.y = 10 - 20 ^ (Math.randomO);// 水平速度 int startX = winffidth / 2; int startY = 100; Particle partical = new Particle (x, y, startX, startY, Position, Velocity, Size, Color,Alpha, startTime); particals.add(partical); } 第三步、粒子的運(yùn)動(dòng)規(guī)律 public void runParticleSys(void){ addParticIe(num, startTime,winffidth); while (flag) { //每次添加5粒 particaIView. particIeSet.addPartical(5, time,window_ Width); int count = particals.sizeO ; for (int i = 0; i < count; i++) { Particle partical = particals.get(i); //計(jì)算程序開始到現(xiàn)在的時(shí)間差 double timeSpan = time - partical.startTime; //計(jì)算此時(shí)粒子的X值 int t empX = (int) ( part i caI . s tartX + partical.horizontal_v * timeSpan); // 4.9 * timeSpan * timeSpan=l/2*g*t*t;//物理公式,g= 9·8m/s; //計(jì)算此時(shí)粒子的Y值 int tempY = (int) (partical.startY + 4.9 * timeSpan * timeSpan); if (tempY > ParticleView.DIE_0UT_LINE) { parti cals, remove (parti cal); // 刪除該粒子 count = particals.sizeO;// 重親jf獲取個(gè)數(shù) } position.x = tempX; position.y = tempY; position.z =0; } time += span; try { Thread.sleep(sleepSpan); } catch (InterruptedException e) { e.printStackTrace(); } } 第四步、更新繪制粒子狀態(tài) public void updateDraw(Canvas canvas) { canvas.drawColor(Color.BLACK); // 清屏 Paint paint = new PaintO ; // 創(chuàng)建幽筆對(duì)象 //遍歷粒子集合,繪制每個(gè)粒子 for (int i = 0; i < particleSet.size(); i++) { Particle p = particleSet.get(i); paint.setColor(p.color); //設(shè)置畫筆顏色為粒子顏色 int tempX = m_Position.x; // 獲得粒子X坐標(biāo) int tempY = m_Position.y; // 獲得粒子Y坐標(biāo) int tempRadius = m_Size.r; // 獲得粒子半徑 RectF oval = new RectF(tempX, tempY, tempX + 2 * tempRadius, tempY + 2 * tempRadius); canvas.drawCircle(tempX, tempY,tempRadius,paint); } paint · setColor(Color.WHITE); // 設(shè)置幽筆顏色 paint.setTextSize(18); // 設(shè)置文字大小 paint. setAntiAlias(true); // 設(shè)置抗據(jù)齒 canvas.drawText(fps,15,15,paint); // 幽出幀速率字符 串 } 第五步、粒子消亡 public void destoryParticle(int x, int y, int startX, int startY, Vector3D m-Position, Vector3D m-Velocity, Vector3D m-Size, Vector3D m-Color, Vector3D m-Alpha, double m-StartTime ){ delete m-Position; delete m-Velocity; delete m-Size; delete m-Color; delete m-Alpha; x=〇; y=〇; StartX=O; StartY=O; StartTime=O; }〇
[0064] 本發(fā)明通過上述方法。能實(shí)現(xiàn)模擬各種可視化虛擬現(xiàn)實(shí)方面用途廣泛,在模擬風(fēng)、 雨、雷、電、爆炸、煙花等各種自然特效方面,本發(fā)明的粒子系統(tǒng)可以實(shí)現(xiàn)容易操作方便。
[0065] 基于上述方法實(shí)施例,本發(fā)明還提供了一種移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng),如圖2 所示,移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng)包括: 建立模塊210,用于當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng);具體如 上所述。
[0066] 粒子生成模塊220,用于當(dāng)粒子的幀啟動(dòng)后,生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化; 具體如上所述。
[0067]判斷模塊230,用于判斷粒子生命周期,如果生命周期結(jié)束,則刪除粒子,如果生命 周期未結(jié)束,則更新粒子狀態(tài);具體如上所述。
[0068]渲染與仿真模塊240,用于渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染, 控制對(duì)模糊現(xiàn)象進(jìn)行模擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維 動(dòng)態(tài)仿真;具體如上所述。
[0069] 仿真完成控制模塊250,用于粒子系統(tǒng)仿真完成,控制幀結(jié)束;具體如上所述。
[0070] 所述移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng)采用上述任一項(xiàng)所述的方法實(shí)現(xiàn)。
[0071 ]所述移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng),其中,粒子生成模塊包括: 控制單元,用于控制粒子系統(tǒng)粒子集的初始分布按照一定規(guī)律加以排列; 計(jì)算單元,用于假設(shè)粒子的空間坐標(biāo)為,則粒子的三維坐標(biāo)分布則滿足一個(gè)約 束方?
其中服從一概率分布,所述概率分布為均勻分布或者正態(tài)分布。
[0072] 綜上所述:本發(fā)明所提供的移動(dòng)終端模擬粒子系統(tǒng)的方法,當(dāng)移動(dòng)終端需對(duì)模糊 現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng);生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化;判斷粒子生命周 期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未結(jié)束,則更新粒子狀態(tài);渲染粒子,通 過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模糊現(xiàn)象進(jìn)行模擬,并利用三維可視化技 術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真;粒子系統(tǒng)仿真完成,幀結(jié)束。本發(fā)明通 過采用粒子系統(tǒng)對(duì)模糊現(xiàn)象進(jìn)行模擬,利用粒子系統(tǒng)實(shí)現(xiàn)了三維動(dòng)態(tài)仿真,提升了模擬效 果的真實(shí)度,將復(fù)雜運(yùn)算的特效應(yīng)用到移動(dòng)終端中,方便了用戶,提升了移動(dòng)終端的游戲特 效處理速度。
[0073] 當(dāng)然,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程, 是可以通過計(jì)算機(jī)程序來指令相關(guān)硬件(如處理器,控制器等)來完成,所述的程序可存儲(chǔ) 于一計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí)可包括如上述各方法實(shí)施例的流程。其 中所述的存儲(chǔ)介質(zhì)可為存儲(chǔ)器、磁碟、光盤等。
[0074] 應(yīng)當(dāng)理解的是,本發(fā)明的應(yīng)用不限于上述的舉例,對(duì)本領(lǐng)域普通技術(shù)人員來說,可 以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保 護(hù)范圍。
【主權(quán)項(xiàng)】
1. 一種移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,包括: 步驟A,當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng); 步驟B,當(dāng)粒子的幀啟動(dòng)后,生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化; 步驟C,判斷粒子生命周期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未結(jié)束,則 更新粒子狀態(tài); 步驟D,渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模糊現(xiàn)象進(jìn)行模 擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真; 步驟E,粒子系統(tǒng)仿真完成,幀結(jié)束。2. 根據(jù)權(quán)利要求1所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,所述步驟B中的生 成粒子具體包括: B1、控制粒子系統(tǒng)粒子集的初始分布按照一定規(guī)律加以排列; B2、假設(shè)粒子的空間坐標(biāo)為,則粒子的三維坐標(biāo)分布則滿足一個(gè)約束方程 .· 1 1 . 1 1 1L f - Ο . 其中(?:美分服從一概率分布汽筆其碎夂?,所述概率分布為均勻分布或者正態(tài)分布。3. 根據(jù)權(quán)利要求1所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,所述步驟C中判斷 粒子的生命周期是粒子系統(tǒng)的粒子屬性來體現(xiàn),粒子屬性根據(jù)模擬場(chǎng)景的不同有所改變, 通用的粒子屬性包括時(shí)間屬性,空間屬性,外觀屬性和運(yùn)動(dòng)屬性,粒子系統(tǒng)根據(jù)不同場(chǎng)景的 模擬需要而呈現(xiàn)不同的粒子屬性。4. 根據(jù)權(quán)利要求3所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,所述粒子的時(shí)間屬 性指粒子的生命周期;粒子的空間屬性指粒子在三維空間中的坐標(biāo)值,即X軸,Y軸,Z軸三個(gè) 坐標(biāo)的分布;粒子的外觀屬性指粒子的顏色,尺寸,透明度」,其決定了粒子 的視覺效果;粒子的運(yùn)動(dòng)屬性包括粒子的速度、加速度,在每?jī)蓭?間,粒子的當(dāng)前位置是由改粒子的前一幀的位置和當(dāng)前的速度決定的;所述粒子運(yùn)動(dòng)屬性 的加速度是一個(gè)綜合的數(shù)值,受到重力Gravity、風(fēng)力Wind Force、空氣浮力Air Buoyancy 因素的影響,運(yùn)用物理中的牛頓運(yùn)動(dòng)定律加以處理,最終得出一個(gè)加速度。5. 根據(jù)權(quán)利要求3所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,所述粒子生成后, 在所述步驟D中,粒子屬性隨著幀數(shù)的更新而不斷地改變,從微觀上一個(gè)粒子的角度去分 析,假設(shè)當(dāng)前幀為/幀,對(duì)比前一時(shí)間-1幀,兩者之間的時(shí)間差為以:,所述粒子的空間屬 性確定為:其中,為第爹幀粒子三維空間的坐標(biāo),/*〇5^&?1*^^為第膏-1幀粒子三 維空間的坐標(biāo),為第1幀時(shí)粒子在三維空間上的三個(gè)速度分量。6. 根據(jù)權(quán)利要求3所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,在所述步驟D中,對(duì) 粒子進(jìn)行渲染時(shí),所述粒子的第/幀粒子運(yùn)動(dòng)屬性確定為: 其中,F(xiàn)e&ci^為第#幀粒子的速度,為第丨-1幀粒子的速度, 為第/-?幀粒子的加速度。7. 根據(jù)權(quán)利要求3所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,在所述步驟D中,渲 染粒子包括粒子的外觀屬性,所述粒子外觀屬性變化包括:粒子的顏色的變化,粒子大小的 變化,和粒子透明度的變化。8. 根據(jù)權(quán)利要求7所述移動(dòng)終端模擬粒子系統(tǒng)的方法,其特征在于,在所述步驟D中,渲 染粒子包括對(duì)粒子顏色的渲染,所述粒子顏色的變化確定為:其中,.?3ο???·表不粒子顏色屬性值你,61,79),.1〇1^1?^6^._表不單位時(shí)間下粒子顏色的變 化值; 在所述步驟D中,渲染粒子包括對(duì)粒子大小的渲染,所述粒子大小的變化確定為:其中,_表示粒子的大小,洗表示單位時(shí)間下粒子尺寸的變化值; 在所述步驟D中,渲染粒子包括對(duì)粒子透明度的渲染,所述粒子透明度的變化確定為:其中,表示粒子的透明度,^&?£^表示單位時(shí)間內(nèi)粒子透明度的變化值。9. 一種移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng),其特征在于,包括: 建立模塊,用于當(dāng)移動(dòng)終端需對(duì)模糊現(xiàn)象進(jìn)行模擬時(shí),建立粒子的幀啟動(dòng); 粒子生成模塊,用于當(dāng)粒子的幀啟動(dòng)后,生成粒子并對(duì)粒子系統(tǒng)進(jìn)行初始化; 判斷模塊,用于判斷粒子生命周期,如果生命周期結(jié)束,則刪除粒子,如果生命周期未 結(jié)束,則更新粒子狀態(tài); 渲染與仿真模塊,用于渲染粒子,通過對(duì)粒子系統(tǒng)的粒子屬性進(jìn)行對(duì)應(yīng)渲染,控制對(duì)模 糊現(xiàn)象進(jìn)行模擬,并利用三維可視化技術(shù)實(shí)現(xiàn)三維建模,利用粒子系統(tǒng)實(shí)現(xiàn)三維動(dòng)態(tài)仿真; 仿真完成控制模塊,用于粒子系統(tǒng)仿真完成,控制幀結(jié)束; 所述移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng)采用權(quán)利要求1-8任一項(xiàng)所述的方法實(shí)現(xiàn)。10.根據(jù)權(quán)利要求9所述移動(dòng)終端模擬粒子系統(tǒng)的系統(tǒng),其特征在于,粒子生成模塊包 括: 控制單元,用于控制粒子系統(tǒng)粒子集的初始分布按照一定規(guī)律加以排列; 計(jì)算單元,用于假設(shè)粒子的空間坐標(biāo)為則粒子的三維坐標(biāo)分布則滿足一個(gè)約 束方程/〇^凡〇=〇; 其中玲服從一概率分布兄4=0:,所述概率分布為均勻分布或者正態(tài)分布。
【文檔編號(hào)】G06T15/00GK106056660SQ201610372043
【公開日】2016年10月26日
【申請(qǐng)日】2016年5月31日
【發(fā)明人】丁俊
【申請(qǐng)人】深圳鉑睿智恒科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
石景山区| 曲水县| 潮安县| 襄城县| 台北市| 隆尧县| 枞阳县| 铁岭市| 玛多县| 木兰县| 枝江市| 安陆市| 静安区| 如皋市| 巨鹿县| 福建省| 靖西县| 克拉玛依市| 明水县| 水富县| 曲麻莱县| 温宿县| 双鸭山市| 临沭县| 宝应县| 瑞金市| 天峨县| 白水县| 襄城县| 思茅市| 开化县| 石家庄市| 环江| 怀远县| 襄樊市| 保山市| 大埔县| 封开县| 孝感市| 石河子市| 四子王旗|