国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > Cocos2d-x 3.x 图形学渲染系列十二

Cocos2d-x 3.x 图形学渲染系列十二

来源:程序员人生   发布时间:2017-04-09 13:00:34 阅读次数:5258次

笔者介绍:姜雪伟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定要熟练掌握。殊效粒子生成了后,接下来做的事情是殊效的渲染。


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生