實(shí)驗八:粒子系統(tǒng)

實(shí)驗八:粒子系統(tǒng)

ID:21977299

大?。?68.00 KB

頁數(shù):6頁

時間:2018-10-26

實(shí)驗八:粒子系統(tǒng)_第1頁
實(shí)驗八:粒子系統(tǒng)_第2頁
實(shí)驗八:粒子系統(tǒng)_第3頁
實(shí)驗八:粒子系統(tǒng)_第4頁
實(shí)驗八:粒子系統(tǒng)_第5頁
資源描述:

《實(shí)驗八:粒子系統(tǒng)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、實(shí)驗八:粒子系統(tǒng)姓名:班級學(xué)號:一、實(shí)驗?zāi)康恼莆樟W酉到y(tǒng)的的原理,熟悉Ogre中粒子系統(tǒng)的結(jié)構(gòu)和使用方法.二、實(shí)驗儀器Pc,visualstudio2010三、實(shí)驗原理及過程//利用Ogre實(shí)現(xiàn)一個粒子系統(tǒng)效果,并描述程序?qū)崿F(xiàn)時的思路包括對每個調(diào)用的API以及腳本進(jìn)行詳細(xì)說明1、簡述粒子系統(tǒng)的基本單元是粒子,每個粒子一般具有形狀、大小、顏色、透明度、位置、速度、加速度、方向、生命周期等屬性。每一幀,粒子系統(tǒng)一般都會執(zhí)行如下步驟:(a)產(chǎn)生新的粒子,并賦予相應(yīng)的屬性;(b)刪除超過生命周期的粒子;

2、(c)更新粒子的動態(tài)屬性;(d)渲染所有有效粒子。2、組成它由ParticleSystemManage(粒子系統(tǒng)管理器)、ParticleSystem(粒子系統(tǒng))、ParticleSystemRenderer(粒子渲染器)、ParticleEmitter(粒子發(fā)射器)、ParticleAffector(粒子影響器)、Particle(粒子)等組成。(1)ParticleSystemManager(粒子系統(tǒng)管理器)此類類似于OGRE中的SceneManager,單件模式,內(nèi)含粒子系統(tǒng)工廠集合,粒子

3、發(fā)射器工廠集合,粒子影響器工廠集合,以及粒子渲染器工廠集合,用于創(chuàng)建和管理粒子系統(tǒng)、粒子發(fā)射器、粒子影響器、粒子渲染器。該類還負(fù)責(zé)加載和分析粒子系統(tǒng)腳本。(2)ParticleSystem(粒子系統(tǒng))具體的粒子系統(tǒng)類,它需要包含具體的ParticleEmitter集合、ParticleAffector集合、ParticleSystemRenderer,Particle集合,用于粒子的創(chuàng)建、更新、渲染。(3)ParticleEmitter(粒子發(fā)射器)用于創(chuàng)建粒子,賦予粒子初始屬性賦值,最重要的方

4、法是_initParticle(),該類為抽象類,OGRE中提供了如下派生類,自己也可以根據(jù)需要編寫自己的Emitter:?AreaEmitter?BoxEmitter?CylinderEmitter?EllipsoidEmitter?HollowEllipsoidEmitter?PointEmitter?RingEmitter(4)ParticleAffector(粒子影響器)用于在粒子的生命周期內(nèi)更新粒子的屬性,最重要的方法是_affectParticles(),OGRE中提供了如下派生類,

5、自己也可以根據(jù)需要編寫自己的Affector:?ColourFaderAffector?ColourImageAffector?ColourInterpolatorAffector?DeflectorPlaneAffector?DirectionRandomiserAffector?LinearForceAffector?RotationAffector?ScaleAffector(6)ParticleSystemRenderer(粒子渲染器)該類用于渲染粒子系統(tǒng),該類為抽象類,ORGE提供了B

6、illboardParticleRenderer具體類,自己也可以根據(jù)需要編寫自己的粒子渲染類。(7)Particle(粒子)粒子系統(tǒng)的基本元素,粒子,存儲了粒子的所有屬性和狀態(tài)。3、OGRE粒子系統(tǒng)渲染流程(1)初始化ParticleSystemManager::addEmitterFactory()ParticleSystemManager::addAffectorFactory()ParticleSystemManager::addRendererFactory()ParticleSyst

7、emManager::createTemplate()ParticleSystem::setRenderer()ParticleSystemManager::_createRenderer()ParticleSystem::addEmitter()ParticleSystemManager::_createEmitter()ParticleSystem::addAffector()ParticleSystemManager::_createAffector()(2)每一幀,執(zhí)行如下更新Parti

8、cleSystem::_update()ParticleSystem::_triggerAffectors()Affector::_affectParticles()ParticleSystem::_triggerEmitters()Emitter::_initParticle()ParticleSystem::_updateRenderQueue()ParticleRenderer::_updateRenderQueue()四、實(shí)驗結(jié)果五、實(shí)驗心得六、主要代碼//ParticleFX.h#if

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。