筆者介紹:姜雪偉,IT公司技術合伙人,IT高級講師,CSDN社區專家,特邀編輯,暢銷書作者,國家專利發明人;已出版書籍:《手把手教你架構3D游戲引擎》電子工業出版社和《Unity3D實戰核心技術詳解》電子工業出版社等。
游戲中如果沒有殊效的渲染,游戲的品質相對來講就比較差了,殊效在項目中占的比重是非常大的。不論是游戲還是虛擬現實都會有粒子殊效,特別是3D粒子殊效,場景的渲染表現都是通過粒子殊效和材質渲染實現的。在MMOARPG或是MMORPG等網絡游戲中,場景或角色上都會掛接殊效,Cocos2D-x引擎使用的殊效是開源的Particle Universe粒子殊效系統,使用Particle Universe開發的游戲市面上也是有很多的,比如著名的火把之光游戲也是使用該粒子殊效系統,大名鼎鼎的開源Ogre引擎一樣使用的也是該粒子殊效,Particle Universe編輯器代碼所在地址:
http://www.ogre3d.org/tikiwiki/Particle+Universe+pluginParticle Universe 粒子系統由于開源,很多自研發引擎也是基于或參考該粒子引擎延伸成自己的殊效系統。利用Particle Universe編輯器制作的殊效在游戲中的效果以下圖:
殊效的表現是在“火把之光”游戲中顯示效果,筆者自己研發的引擎也是基于該殊效,自研引擎制作的游戲,殊效表現效果以下圖:
所以掌握該粒子殊效可以有助于開發者更好的理解粒子殊效,通過研究它的源代碼可以在此基礎上繼續優化改進,也能夠重新封裝延伸出自己的殊效系統,學習粒子殊效系統先從粒子殊效的架構說起。
粒子殊效最基本的是粒子的繪制生成,消失。每一個粒子都離不開這個最基本的準則,只是在此基礎上進行了諸多變換。熟習1個系統先從其架構著手,Cocos2d-x的粒子系統是從ParticleUniverse粒子系統修改而來,粒子的主題框架和底層代碼還是保持之前的,1個粒子有哪些部份組成?先從粒子的編輯器講起。下圖是Particle Universe粒子編輯器的粒子運行界面以下圖: Particle Universe編輯器,它主要分為4部份:左上部份是殊效資源目錄,左下部份是各個殊效模塊的參數設置,右上部份是殊效的編輯制作結點,右下部份是制作的殊效顯示窗口。利用ParticleUniverse工具制作的粒子殊效主要包括以下幾個部份以下圖:
介紹1下,粒子架構圖各個組件,System Component系統組件是最高層次的組件,包括:Emitter、Affector、Observer等。系統組件是創建、顯示、影響粒子所需組件的容器。Technique Component技術組件是處理1個系統中的不同粒子紋理。每一個技術都有自己的渲染器,多種技術相結合成1個系統就能夠制作出1個復雜的粒子系統。RendererComponet渲染器組件決定了粒子的外觀,EmitterComponent發射器組件作用是負責發射粒子,Affector Component影響器組件的作用是產生對粒子顆粒的影響,ObserverComponent視察者組件用于視察粒子是不是產生了某些條件或事件,換句話說就是粒子是不是過期需要燒毀等。這些組件對粒子系統是必不可少的,讀者1定要熟練掌握。殊效粒子生成了后,接下來做的事情是殊效的渲染。
上一篇 有關Debug和斷點的總結
下一篇 php學習當中遇到過哪些問題