(详细解析)Cocos引擎3D技术现状

 各位X-Men,2015新年快乐!
 在过去的一年中,Cocos引擎3D技术经历了从无到有的过程。伴随着版本的更新升级,Cocos引擎3D技术也逐渐走向成熟。不仅有《捕鱼达人3》成功检验市场、开源游戏Demo《Fantasy Warrior3D》供大家解剖学习,更有多家知名游戏厂商已开始采用Cocos引擎3D技术开发大型网游。
 为了让对Cocos引擎3D技术感兴趣的同学们有更清晰的了解,本贴将给大家做详细介绍,总结目前Cocos引擎对3D的支持情况,并展示各项功能的具体详情。

3D静态模型及3D骨骼动画模型的加载与显示
Cocos引擎3D功能目前支持载入 obj、c3b、 c3t格式的模型文件,其中obj只能导入静态模型,不支持动画。c3b与c3t则是通过模型转换工具fbx-conv导出插件转换后的文件格式——c3b文件为二进制文件,具有占用空间小,加载速度快等优点;c3t是json格式文件,可以直接打开来查看模型数据,方便开发者进行查看调试。

模型转换工具(fbx-conv)
fbx-conv是Cocos引擎在tools/fbx-conv目录下自带的模型转换工具,跟随引擎版本更新,作用便是上方提到的将其他模型文件转换为我们所需要的c3b或c3t文件。
通常我们转换的是通用的FBX格式模型文件,可以通过3dmax、maya、blender等建模软件直接导出。但这里的fbx-conv工具不仅可以转换FBX文件,还可以转换obj、blend、c4d等文件。不过还是建议大家使用FBX文件作为中间格式。

模型换装系统及武器挂接
Cocos引擎3D功能提供模型换装系统,可轻松实现游戏所需要的更换装备、武器挂接等操作。

3D摄像机
Cocos引擎3D功能支持创建多个摄像机,创建时可以指定相机的类型,包括正交相机或透视相机,每个相机对目标对象的可见性可通过掩码来区分的。
此外,Cocos引擎在初始化的时候会创建一个默认相机,这个相机里的内容总是最后渲染,因此可利用这个默认相机来绘制UI层。

视椎体裁剪
Cocos引擎支持基于3D摄像机操作的视椎体裁剪,目的是在逻辑层剔除掉在摄像机视椎之外的对象,使其不会进入渲染管线,进而达到降低DrawCall提高渲染效率的目的。
不过这里需要注意一点,当你设计的游戏3D角色要一直呆在视椎体范围之内时,建议不要打开视锥体裁剪,因为这样会增加不必要的性能开销。

AABB及OBB 碰撞检测
当对场景中不同3D模型之间进行碰撞检测时,OBB比AABB更加精确一些,但因此效率会比较低。Cocos引擎可以使用射线拾取操作Ray,对plane以及AABB和OBB进行相交检测。运用在游戏中时,可实现鼠标点击角色(角色被AABB或OBB包裹)或点击地面(地表必须是平的,视为一个plane)移动等操作。

公告板
目前Cocos引擎支持两种类型的公告板:一种朝向摄像机的X0Y平面;另一种则朝向摄像机原点。由于公告板节点始终朝向摄像机,因此你可以利用公告板,用很少的面来模拟树叶、草、等场景物体。

3D光照系统
目前Cocos引擎支持四种光照效果,分别是:环境光、方向光、点光源、聚光灯。
一个场景内可以创建多个不同的灯光,同时场景内的对象也可以通过设置掩码来控制自身是否接受光照。但值得注意的是,除了环境光外,其他实时光照对游戏性能的影响比较大,建议谨慎使用。

3D特效
目前Cocos引擎提供的3D特效主要有:描边、UV动画、伪阴影、卡通效果、光照贴图,等等。

多线程资源加载
Cocos引擎3D功能提供多线程资源加载,切换场景时无需等待所有资源加载完毕,可进入场景后继续加载,降低进入场景的等待时间,提升游戏体验。

整合第三方特效系统 Particle Universe
Cocos引擎3D功能整合了第三方特效系统http://www.fxpression.com/(简称PU),后续版本会发布,目前只是beta版本,整合的代码需在其他仓库下载,下载地址可以联系我要,注明您的姓名+公司名,git clone代码后需要切换particle分支同时别忘了运行download-deps.py下载第三方库,然后就可以编译运行了。

最后给大家展示几个优秀团队的作品

  以上就目前Cocos引擎目前对3D的支持情况,2015年Cocos引擎将努力把3D功能做得更好,这里少不了广大X-Men的关注与支持,欢迎大家继续提出更多的宝贵意见与建议:

lvlong@chukong-inc.com

等着地形,场景:14:

最好是快点弄个3D场景编辑出来,
支持地型编辑。
支持添加对像(3d对像,广告牌,特效),
支持可以动态添加和修改3D对像的包围盒的大小和样式(包围盒,包围圆)

请问: 整合第三方特效系统 Particle Universe 的代码需在其它仓库下载,其它仓库的网址是什么?

整合第三方特效系统 Particle Universe????
我之前在3.3的资料里好像没看见这部分代码啊?!回头找找。

现在粒子的整合代码还是beta版本,没有正式发布,有需要的可以加我qq我发你地址,欢迎大家反馈意见。

我遇到了一个问题。

为什么模型导进去跟美术做的完全两个样子

原来什么样?

原来的是这个样子的

头发后脑勺部分直接镂空的。可以看见脑壳

在MAX里重置一下法线贴图试试

要不把模型发给我吧,我看看。

是头发的法线反了,美术调整一下。

模型查看器
http://www.cocoachina.com/bbs/read.php?tid-235965.html

381916257@qq.com 求一份 Particle Universe 集成代码 最近在做技能效果渲染 谢谢

有没有和3d物理引擎结合的例子

:13:3.3的tools里面 fbx-conv导出的c3b是0.6的格式,代码里面处理的还是0.6之前的格式,直到最新的代码(github上的)才修正
版本管理以及稳定性真心大坑,有点纠结用不用啊

地形场景没有,路长着呢

这个目前没有

— Begin quote from ____

引用第5楼lvlong于2015-01-07 11:42发表的 :
现在粒子的整合代码还是beta版本,没有正式发布,有需要的可以加我qq我发你地址,欢迎大家反馈意见。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=280395&pid=1215629

— End quote

求粒子整合代码,我们要做3D粒子~