亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

粒子編輯方法及粒子編輯器與流程

文檔序號(hào):12472342閱讀:421來源:國(guó)知局
粒子編輯方法及粒子編輯器與流程

本發(fā)明涉及一種計(jì)算機(jī)圖像領(lǐng)域,尤其是涉及一種粒子編輯方法及粒子編輯器。



背景技術(shù):

粒子系統(tǒng)表示三維計(jì)算機(jī)圖形學(xué)中模擬一些特定的模糊現(xiàn)象的技術(shù),而這些現(xiàn)象用其它傳統(tǒng)的渲染技術(shù)難以實(shí)現(xiàn)的真實(shí)感的game physics。經(jīng)常使用粒子系統(tǒng)模擬的現(xiàn)象有火、爆炸、煙、水流、火花、落葉、云、霧、雪、塵、流星尾跡或者象發(fā)光軌跡這樣的抽象視覺效果等等。

Particle Designer和cocos2d-windows-particle-editor分別是mac下的粒子編輯工具,后者是windows下的粒子編輯工具。他們的共同點(diǎn)就是對(duì)于現(xiàn)有的cocos2d的粒子系統(tǒng)的各種屬性,提供一個(gè)可視化工具進(jìn)行方便的設(shè)置,可以隨著參數(shù)的更改,及時(shí)的反饋出不同的效果,達(dá)到更高的特效制作的工作效率。

然而其均有一定的缺陷,基本上是只能針對(duì)一個(gè)粒子系統(tǒng)進(jìn)行編輯,并且在屬性參數(shù)設(shè)置界面上,效率都不是很高。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種粒子編輯方法及粒子編輯器。

本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):

一種粒子編輯方法,包括:

在需要發(fā)射新的粒子時(shí)產(chǎn)生一個(gè)新的粒子;

根據(jù)預(yù)設(shè)的粒子屬性函數(shù),結(jié)合時(shí)刻信息更新已經(jīng)產(chǎn)生的每個(gè)粒子的屬性值;

根據(jù)每個(gè)粒子的屬性值生成對(duì)應(yīng)粒子的頂點(diǎn)信息;

將一個(gè)時(shí)刻中所有粒子的頂點(diǎn)信息輸出為一幀的粒子信息。

所述根據(jù)預(yù)設(shè)的粒子屬性函數(shù),結(jié)合時(shí)刻信息更新已經(jīng)產(chǎn)生的每個(gè)粒子的屬性值,包括:

獲取粒子已存活的時(shí)間;

基于粒子已存活的時(shí)間,根據(jù)預(yù)設(shè)的粒子屬性函數(shù)分別得到粒子的顏色、大小和相對(duì)于出生點(diǎn)位置。

所述根據(jù)每個(gè)粒子的屬性值生成對(duì)應(yīng)粒子的頂點(diǎn)信息,包括:

在需要3D變換時(shí)根據(jù)粒子的大小進(jìn)行3D變換;

根據(jù)錨點(diǎn)位置,結(jié)合粒子的相對(duì)位置得到粒子的坐標(biāo);

整合得到粒子的頂點(diǎn)信息。

所述獲取粒子已存活的時(shí)間,包括:

根據(jù)當(dāng)前時(shí)刻和粒子產(chǎn)生時(shí)刻得到粒子已存活時(shí)間;

在已存活時(shí)間大于設(shè)定閾值時(shí),刪除該該粒子。

所述預(yù)設(shè)的粒子屬性函數(shù)為分段函數(shù)。

一種粒子編輯器,包括:

粒子產(chǎn)生裝置,用于在需要發(fā)射新的粒子時(shí)產(chǎn)生一個(gè)新的粒子;

屬性計(jì)算裝置,用于根據(jù)預(yù)設(shè)的粒子屬性函數(shù),結(jié)合時(shí)刻信息更新已經(jīng)產(chǎn)生的每個(gè)粒子的屬性值;

頂點(diǎn)信息計(jì)算裝置,用于根據(jù)每個(gè)粒子的屬性值生成對(duì)應(yīng)粒子的頂點(diǎn)信息;

信息輸出裝置,用于將一個(gè)時(shí)刻中所有粒子的頂點(diǎn)信息輸出為一幀的粒子信息。

所述屬性計(jì)算裝置包括:

存活時(shí)間計(jì)算模塊,用于獲取粒子已存活的時(shí)間;

函數(shù)計(jì)算模塊,用于基于粒子已存活的時(shí)間,根據(jù)預(yù)設(shè)的粒子屬性函數(shù)分別得到粒子的顏色、大小和相對(duì)位置。

所述頂點(diǎn)信息計(jì)算裝置包括:

3D變換模塊,用于在需要3D變換時(shí)根據(jù)粒子的大小進(jìn)行3D變換;

錨點(diǎn)變換模塊,用于根據(jù)錨點(diǎn)位置,結(jié)合粒子的相對(duì)位置得到粒子的坐標(biāo);

頂點(diǎn)信息整合模塊,用于整合得到粒子的頂點(diǎn)信息。

所述存活時(shí)間計(jì)算模塊包括:

時(shí)間計(jì)算單元,用于根據(jù)當(dāng)前時(shí)刻和粒子產(chǎn)生時(shí)刻得到粒子已存活時(shí)間;

時(shí)間比對(duì)單元,用于在已存活時(shí)間大于設(shè)定閾值時(shí),刪除該該粒子。

所述預(yù)設(shè)的粒子屬性函數(shù)為分段函數(shù)。

與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):

1)支持序列幀的輸出,粒子的屬性根據(jù)預(yù)設(shè)的屬性函數(shù)按照時(shí)刻進(jìn)行更新,得到的粒子顯示效果更好,可以方便地修改函數(shù)的參數(shù)修改粒子的屬性。

2)預(yù)設(shè)的粒子屬性函數(shù)包括分別用于計(jì)算粒子的顏色、大小和相對(duì)位置的類,實(shí)現(xiàn)粒子屬性在其生命周期內(nèi)變化的多元化。

3)粒子可以進(jìn)行3D變換,且錨點(diǎn)可變,可以自定義錨點(diǎn),不規(guī)則變化時(shí)有著更高的開發(fā)效率。

4)對(duì)粒子的時(shí)間進(jìn)行了控制,可以達(dá)到多個(gè)粒子配合顯示。

附圖說明

圖1為本發(fā)明的主要步驟流程示意圖;

圖2為粒子系統(tǒng)一幀的更新流程示意圖;

圖3為基于本發(fā)明設(shè)計(jì)的編輯工具的架構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。

當(dāng)我們想用粒子系統(tǒng)做一個(gè)更真實(shí)的火焰,可能會(huì)這樣設(shè)計(jì),首先粒子發(fā)射出呈現(xiàn)出內(nèi)焰的顏色,會(huì)稍微偏黃色,然后漸變成外焰,會(huì)稍微偏紅色,最后慢慢的消失,而在速度上也是先后快,然后更快的一個(gè)過程。這樣,我們就需要粒子在其整個(gè)生命周期內(nèi)屬性參數(shù)呈現(xiàn)出一種非線性的變化方式。

再比如說我們可能會(huì)以2.5d視角呈現(xiàn)出粒子在地面上旋轉(zhuǎn)的效果,這個(gè)時(shí)候,為了更為真實(shí),我們希望粒子以我們地面的法線為軸去進(jìn)行旋轉(zhuǎn),或者某種情況下我們希望粒子在放縮或者旋轉(zhuǎn)的時(shí)候不是基于中心點(diǎn),而是自定義的錨點(diǎn)等。這時(shí)候,我們就需要增加或者修改一些粒子系統(tǒng)的屬性。

為此,提供一種粒子編輯方法,如圖1所示,包括:

在需要發(fā)射新的粒子時(shí)產(chǎn)生一個(gè)新的粒子;

根據(jù)預(yù)設(shè)的粒子屬性函數(shù),結(jié)合時(shí)刻信息更新已經(jīng)產(chǎn)生的每個(gè)粒子的屬性值;

根據(jù)每個(gè)粒子的屬性值生成對(duì)應(yīng)粒子的頂點(diǎn)信息;

將一個(gè)時(shí)刻中所有粒子的頂點(diǎn)信息輸出為一幀的粒子信息。

根據(jù)預(yù)設(shè)的粒子屬性函數(shù),結(jié)合時(shí)刻信息更新已經(jīng)產(chǎn)生的每個(gè)粒子的屬性值,包括:

獲取粒子已存活的時(shí)間;

基于粒子已存活的時(shí)間,根據(jù)預(yù)設(shè)的粒子屬性函數(shù)分別得到粒子的顏色、大小和相對(duì)位置。

根據(jù)每個(gè)粒子的屬性值生成對(duì)應(yīng)粒子的頂點(diǎn)信息,包括:

在需要3D變換時(shí)根據(jù)粒子的大小進(jìn)行3D變換;

根據(jù)錨點(diǎn)位置,結(jié)合粒子的相對(duì)位置得到粒子的坐標(biāo);

整合得到粒子的頂點(diǎn)信息。

獲取粒子已存活的時(shí)間,包括:

根據(jù)當(dāng)前時(shí)刻和粒子產(chǎn)生時(shí)刻得到粒子已存活時(shí)間;

在已存活時(shí)間大于設(shè)定閾值時(shí),刪除該該粒子。

預(yù)設(shè)的粒子屬性函數(shù)為分段函數(shù)。

與之對(duì)應(yīng)的一種粒子編輯器,包括:

粒子產(chǎn)生裝置,用于在需要發(fā)射新的粒子時(shí)產(chǎn)生一個(gè)新的粒子;

屬性計(jì)算裝置,用于根據(jù)預(yù)設(shè)的粒子屬性函數(shù),結(jié)合時(shí)刻信息更新已經(jīng)產(chǎn)生的每個(gè)粒子的屬性值;

頂點(diǎn)信息計(jì)算裝置,用于根據(jù)每個(gè)粒子的屬性值生成對(duì)應(yīng)粒子的頂點(diǎn)信息;

信息輸出裝置,用于將一個(gè)時(shí)刻中所有粒子的頂點(diǎn)信息輸出為一幀的粒子信息。

屬性計(jì)算裝置包括:

存活時(shí)間計(jì)算模塊,用于獲取粒子已存活的時(shí)間;

函數(shù)計(jì)算模塊,用于基于粒子已存活的時(shí)間,根據(jù)預(yù)設(shè)的粒子屬性函數(shù)分別得到粒子的顏色、大小和相對(duì)位置。

頂點(diǎn)信息計(jì)算裝置包括:

3D變換模塊,用于在需要3D變換時(shí)根據(jù)粒子的大小進(jìn)行3D變換;

錨點(diǎn)變換模塊,用于根據(jù)錨點(diǎn)位置,結(jié)合粒子的相對(duì)位置得到粒子的坐標(biāo);

頂點(diǎn)信息整合模塊,用于整合得到粒子的頂點(diǎn)信息。

存活時(shí)間計(jì)算模塊包括:

時(shí)間計(jì)算單元,用于根據(jù)當(dāng)前時(shí)刻和粒子產(chǎn)生時(shí)刻得到粒子已存活時(shí)間;

時(shí)間比對(duì)單元,用于在已存活時(shí)間大于設(shè)定閾值時(shí),刪除該該粒子。

本申請(qǐng)主要是針對(duì)現(xiàn)有cocos2d的粒子系統(tǒng)進(jìn)行擴(kuò)展——使其呈現(xiàn)出更豐富的效果,和其編輯工具的開發(fā)——以提高特效制作效率。

功能1:對(duì)于粒子屬性在其整個(gè)生命周期內(nèi)非線性變換

解決方案:首先寫了一個(gè)分段線性函數(shù)的類模板,該結(jié)構(gòu)主要包含一系列鍵值對(duì),每個(gè)鍵表示粒子已存活的時(shí)間,值代表了對(duì)應(yīng)時(shí)間上的值,該值根據(jù)不同的類型實(shí)例化后為不同的類型,還包含了一個(gè)根據(jù)時(shí)間計(jì)算值的算法。然后分別實(shí)例化為分段線性color類、分段線性size類、分段線性vec3類等。并用這些類型去替換掉之前相應(yīng)的屬性。在每一幀粒子頂點(diǎn)數(shù)據(jù)生成的時(shí)候,會(huì)根據(jù)其當(dāng)前處于生命周期的什么位置,找到對(duì)應(yīng)的屬性值,并根據(jù)此值去計(jì)算頂點(diǎn)信息。

功能2:對(duì)粒子添加序列幀支持、錨點(diǎn)、3D變換等功能

解決方案:序列幀支持實(shí)際上原理和上邊的描述的一樣,根據(jù)當(dāng)前粒子存活時(shí)間,獲取對(duì)應(yīng)的紋理。而其他的添加的功能,則是在每幀產(chǎn)生粒子頂點(diǎn)信息時(shí),多了一些變換。

粒子系統(tǒng)一幀的更新流程如圖2所示:

功能3:粒子編輯工具

該工具架構(gòu)分為兩層,如圖3所示,上次為參數(shù)設(shè)置面板,底層為改造后的Cocos2d系統(tǒng)。并且在上下兩層都保存了一份當(dāng)前特效的所有參數(shù),每當(dāng)上層有參數(shù)改動(dòng)的時(shí)候,便將參數(shù)傳遞到底層,同時(shí),我們還對(duì)粒子的時(shí)間進(jìn)行了控制,已達(dá)到多個(gè)粒子配合顯示。在操作界面上,我們采用了cocos2d-windows-particle-editor的方式,類似于屬性面板,但是,為了更高的制作效率,我們把每個(gè)屬性參數(shù)面板,根據(jù)不同的類型,提供不同的操作方式,使得制作特效過程顯得更快捷更直觀。

使用過程:

1.首先由美術(shù)人員使用粒子編輯工具,做出一個(gè)預(yù)想的效果,并保存

2.使用工具將特效文件批量導(dǎo)出為plist文件和合圖后的紋理

3.在游戲中加載紋理和plist文件并解析初始化粒子系統(tǒng)

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1