大家好,相信许多朋友们都听过或玩过《捕鱼达人》这款游戏。今年7月中旬,《捕鱼达人3》正式发布,24小时就突破实现1千万下载,欢迎大家一起来下载试玩!
本次《捕鱼达人3》采用了Cocos2d-x 3.x版本中的3D功能来进行开发,实现了完全的3D化。作为一款支撑了无数2D游戏产品的引擎,Cocos2d-x本次也将带来3D方面的功能扩展,帮助广大Cocos2d-x开发者快速进入3D游戏产品的研发时代。
下面,我们就以《捕鱼达人3》作为案例,讲解一下如何使用Cocos2d-x 3.2来实现其中的3D技术。
在进行3D游戏的开发时,模型的加载和骨骼动画的播放是最基础也是最重要的工作内容。在《捕鱼达人3》中,每一条鱼都是美术师在3ds max或maya等3D建模软件中进行模型和骨骼动画的建立,最终导出为通用的模型文件格式.fbx。并通过Cocos2d-x所附带的转换工具fbx-conv.exe将它转换为可以加载到Cocos2d-x中进行显示和播放的文件格式。这个文件格式有两种类型,一个是c3t,即文本格式的模型文件,另一个是c3b,即二进制格式的模型文件。
在使用Cocos2d-x进行2D游戏的开发时,我们最常用的一个类是Sprite,即“图片精灵”,对于精灵的动画操作,只需要精灵调用相应的 Action就可以了。 为方便快速地进行3D游戏的开发,Cocos2d-x引擎也提供了相应的3D的精灵类和播放骨骼动画的Action,下面我们用《捕鱼达人3》中的乌龟模型来演示一下这个过程:
首先,打开Cocos2d-x 3.x,拷贝一份ccp-empty-test设为当前项目,然后我们在Class目录中建立一个基于Layer派生出的层用于我们的演示,这里我们将其命名为FishLayer。
我们在这个层里加入相应的精灵成员和相应的动作。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
//这是用于显示3D鱼模型的层
class
FishLayer :
public
cocos2d::Layer
{
public
:
|