cocos2d-x 3.x 图形学渲染系列六

原创 2017年01月07日 09:41:47

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心技术详解》电子工业出版社等书籍。

Cocos2D-x引擎目前只提供了3D模块用于3D游戏的开发,针对3D常用模块已经开发完成,但是对于引擎的编辑器而言,目前没有任何编辑器可用,一个成熟的3D游戏引擎要在市场普及,对应的编辑器必须要成熟,否则引擎很难在市场推广,成熟的编辑器同样有助于开发者快速的上手,在这方面UnityUE4做的很好。但Cocos2d-x引擎对开发者来说最大的优势是:它的代码是开源的,开发者在此基础上可根据自己的需求进行功能扩展。涉及到引擎底层的修改,首先要了解3D引擎的整个模块架构以及这些模块的具体作用,在此基础上再细化。虽然Cocos2d-x引擎自身不完整,但是市面上已经有公司利用Cocos2d-x引擎开发出3D网路游戏,画质非常绚丽。相信随着Cocos2d-x引擎中的3D模块逐步完善,最终会独立出来成为真正的3D游戏引擎,当然引擎的各种辅助工具也会比较完善。在这里先给读者展示几张用Cocos2d-x引擎做的3D游戏场景截图如下所示的效果:





以上两幅图是利用Cocos2d-x引擎实现的3D效果图,从画质上可以看出游戏品质达到了产品的效果,由此可见在目前引擎的基础上开发产品项目是可行的,但是真正的做产品还是需要修改添加很多模块的。3D模块是Cocos2d-x引擎的核心模块,为了便于读者理解,下节开始讲解3D框架结构。


Cocos2D-x引擎在3.x版本以上时才有3D模块,传统的3D游戏引擎在框架方面其实都是比较复杂的,涵盖的功能也很多,比如地形的生成,水的生成,多线程加载等。相对来说Cocos2D-x引擎中的3D模块架构比较简单,因它的功能相对来说还不是很完善,本节把3D架构给读者展示如下图:



下面给读者介绍3D的各个模块功能,模块中的Particle3D实现的是3D粒子系统,它是根据Particle Universe开源粒子引擎改写而成的。Particle Universe子系统自带了一个粒子编辑器,开发者利用编辑器制作粒子,这个会在后面的章节具体介绍,感兴趣的读者可在百度中输入“Particle Universe”搜索到特效粒子的官方网站,著名的开源引擎Ogre3D使用的也是Particle Universe粒子引擎,另外著名的火炬之光单机游戏使用的粒子引擎也是Particle Universe。也有人参考该粒子引擎代码重新封装制作了3D粒子插件XEffect,接下来介绍3D模块。

     3D模块是引擎的核心模块,引擎中的主要实现都封装在该模块,包含的核心子模块有:地形、天空盒、AABB碰撞盒、OBB碰撞盒、骨骼动画、模型Mesh等,这些子模块也是在游戏中使用最多的。开发者对这些模块要重点掌握,它是与游戏逻辑关系最紧密的部分,接下来介绍跟数学运算相关的模块。

     Math模块主要封装了引擎底层的一些数学运算,包括矩阵的运算、四元数运算、几何运算,向量等算法。如果在写逻辑的过程中需要补充新的算法可在此模块中添加,重点关注矩阵的运算,因为3D物体在世界坐标系中,不论物体的移动、旋转、缩放都会涉及到矩阵与模型之间的运算。

     NavMesh是寻路模块也是AI的一种,该模块借鉴的是Unity3DNavMesh寻路模块,寻路模块最好的方式是借助场景编辑器,在网络游戏开发中,为了满足游戏的实时同步技术,寻路都是在游戏服务器中实现的,服务器中使用的是A*寻路算法,客户端提供的寻路只适合做单机游戏或者弱联网游戏。

     Physics是物理模块,实现的不完整,它针对的是刚体,在此就不做讨论了。

     最后一个模块对3D引擎来说也是非常重要的,那就是Renderer渲染,该模块实现了引擎底层对Shader脚本文件的读取解释操作。模型材质渲染都需要通过该模块编译Shader脚本文件,当然Shader脚本并不只是针对材质的渲染,它还包括场景的渲染,比如游戏中经常使用的后处理渲染Bloom、Blur、PSSM、SSAO等,目前Cocos2D-x引擎中的3D模块也实现了一些后处理效果,开发者在此基础上继续增加后处理Shader编写,关于渲染模块的处理也是本书重点讲解的部分。

     以上是Cocos2D-x引擎的核心模块以及关于它们功能的介绍,下面逐步给开发者细细讲解各个核心模块。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Unity3D引擎之高级渲染技术

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心技术...
  • jxw167
  • jxw167
  • 2017-01-05 14:38
  • 2755

Cocos2d-x屏幕适配之Sprite绘制原理

手机(智能终端)游戏绝大多数为全屏(Full Screen)显示,这样开发人员在制作游戏时势必要考虑不同手机(智能终端)屏幕大小、宽高比的不同给游戏画面带来的影响,并且要将这种影响降低到最 小,努力使...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

3D游戏之投影矩阵算法技术实现

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心技术...
  • jxw167
  • jxw167
  • 2017-01-06 13:33
  • 1776

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

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心技术...
  • jxw167
  • jxw167
  • 2017-01-05 18:32
  • 3749

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

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人,已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心技术...
  • jxw167
  • jxw167
  • 2017-01-05 08:52
  • 1133

程序员的八重境界

看到一篇有趣的文章The Eight Levels of Programmers。以前似乎看过不少这种程序员的多少个级别、境界,但这篇语言很风趣,而且分类比较细化,让人觉得挺合情合理、无法反驳的。绝大...
  • dc_726
  • dc_726
  • 2017-08-31 04:58
  • 22360

双缓冲技术讲解

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》...
  • jxw167
  • jxw167
  • 2017-05-15 17:49
  • 1792

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

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》...
  • jxw167
  • jxw167
  • 2017-01-23 16:32
  • 1771

cocos2dx的3D粒子特效编辑器(Particle Universe With Torchlight)

地址:https://code.csdn.net/langresser/particleuniversefortorchlight      在Bin文件夹有编译好的版本,装个vc2013的运行时库就...

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

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人; 已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社 和《Unity3D实战核心...
  • jxw167
  • jxw167
  • 2017-01-07 13:44
  • 4228
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)