粒子架構(gòu)上參考了Ogre跟Gamebryo的粒子系統(tǒng)結(jié)構(gòu),分粒子控制器,發(fā)射器,效果器,渲染器四部分,其實大同小異,數(shù)據(jù)與操作分離開來,發(fā)射器,效果器,渲染器都是由控制器統(tǒng)一管理的,理論上都可以有多個,粒子數(shù)據(jù)經(jīng)過這四部分的更新后成為直接可以為引擎渲染的幾何數(shù)據(jù),粒子從發(fā)射到渲染都是可控的,用戶可設(shè)關(guān)鍵幀來控制粒子的狀態(tài),不過只有發(fā)射器跟粒子發(fā)射后的屬性數(shù)據(jù)可以設(shè)關(guān)鍵幀,而且一個關(guān)鍵幀包含了所有數(shù)據(jù),用戶只能選擇使用哪些屬性數(shù)據(jù)的track,所以當只需要一兩項數(shù)據(jù)變化的時候就有些浪費了,最近看了一些國外公司出的粒子編輯器,發(fā)現(xiàn)它們幾乎都設(shè)計成所有粒子的屬性數(shù)據(jù)都是一個單獨的track,可以隨意變化,插值方式也多種多樣,相當強大,可惜看到得晚了點,不然我大概也會這樣做.
最后還有一點遺憾是我們原本的設(shè)計是做一個可以隨意切換是基于CPU或者基于GPU處理粒子數(shù)據(jù)這樣的一個粒子系統(tǒng),可惜在CPU版本完成后由于引擎的一些限制無法完成GPU版本,最后只能在某些地方小小用GPU優(yōu)化了下,但效果不理想
Debug版本,fps低了點
posted on 2008-11-24 14:12
清風 閱讀(2436)
評論(6) 編輯 收藏 引用 所屬分類:
圖形