【引擎动态】Cocos引擎3D技术大盘点

各位亲爱的X-Men,Cocos君在这儿提前祝大家新年快乐啦!

在过去的一年中,Cocos引擎3D技术经历了从无到有的过程。伴随着版本的更新升级,Cocos引擎3D技术也逐渐走向成熟。不仅有令人眼前一亮的《捕鱼达人3》、开源游戏Demo《Fantasy Warrior3D》供大家解剖学习,更有多家知名游戏厂商已开始采用Cocos引擎3D技术开发大型网游。

为了帮助大家对Cocos引擎3D技术有更清晰的了解,Cocos君将给大家做详细介绍,总结目前Cocos引擎对3D的支持情况,并展示各项功能的具体详情。一起来看看吧!

3D静态模型及3D骨骼动画模型的加载与显示

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

a2c81fb90222e245e823abdd154af378.jpeg

模型转换工具(fbx-conv)

fbx-conv是Cocos引擎在tools/fbx-conv目录下自带的模型转换工具,跟随引擎版本更新,作用便是上方提到的将其他模型文件转换为我们所需要的c3b或c3t文件。

通常我们转换的是通用的FBX格式模型文件,可以通过3dmax、maya、blender等建模软件直接导出。但这里的fbx-conv工具不仅可以转换FBX文件,还可以转换obj、blend、c4d等文件。不过还是建议大家使用功能支持最完整的FBX文件作为中间格式。

bb30c0a69dad1d560db08674b7e0f678.jpeg

模型换装系统及武器挂接

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

8d96e22530438f799b508b1701d21478.jpeg

528d2696c6b19cde3d8c247ba4c79483.jpeg

3D摄像机

Cocos引擎3D功能支持创建多个摄像机,创建时可以指定相机的类型,包括正交相机或透视相机,每个相机对目标对象的可见性可通过掩码来区分的。

此外,Cocos引擎在初始化的时候会创建一个默认相机,这个相机里的内容总是最后渲染,因此可利用这个默认相机来绘制UI层。

744c434d921b618058d349076345f8d5.jpeg

视锥体裁剪

Cocos引擎支持基于3D摄像机操作的视锥体裁剪,目的是在逻辑层剔除掉在摄像机视锥之外的对象,使其不会进入渲染管线,进而达到降低DrawCall提高渲染效率的目的。

不过这里需要注意一点,当你设计的游戏3D角色要一直待在视锥体范围之内时,建议不要打开视锥体裁剪,因为这样会增加不必要的性能开销。

cc842c825cf2d13307094756a8694d2d.jpeg

AABB及OBB碰撞检测

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

da3dcb30afacd87fc03553de4225b516.jpeg

Billboard

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

11f8f39235b8219566193e29eee1fc1d.jpeg

3D光照系统

目前Cocos引擎支持四种光照效果,分别是:环境光、方向光、点光源、聚光灯。

一个场景内可以创建多个不同的灯光,同时场景内的对象也可以通过设置掩码来控制自身是否接受光照。实时光照可以模拟出更加真实的游戏场景,但是有比较大的性能开销,建议在开发低端机器运行的游戏时,尽量控制光源的数量,提升引擎性能。

dc51d937faf0d76a60f22fc84b517399.jpeg

3D特效

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

020a43b2a8eb44ff5fe67d239a1fa519.jpeg

多线程资源加载

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

4402e368f9e6ce892459002f5bcf2fac.jpeg

整合第三方特效系统 Particle Universe

Cocos引擎3D功能整合了第三方特效系统Particle Universe(简称PU),开发者可使用PU所提供的特效编辑器来编辑自己想要的效果,并通过整合后的代码载入到引擎中。

7c28628c792ab47fdc597eb2aeae488b.jpeg

以上是目前Cocos引擎对3D的支持情况,2015年Cocos引擎团队将努力把3D功能做得更好,还请各位多多支持~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值