现在的手机游戏也渐渐朝3D发展了,市面上3d游戏越来越多。。幸好cocos为我们提供了导入3D模型的方法,我相信它在3D方面的功能也会像平面那样越来越强大。
首先,在3dmax建好模型和调好动作,效果如下:
1.导出模型为FBX格式
2.用cocos2dx自带的fbx-conv.exe将FBX转换为c3b。我直接将模型文件拖拽至fbx-conv.exe图标上,自动就在模型所在文件夹下生成了c3b文件
3.导入cocos2dx
1)将c3b和相应的材质图片放入Resources
2)在helloworld.h里添加
-
//人物
-
cocos2d::Sprite3D * man;
-
//动画
-
cocos2d::Animate3D * play;
3)在init函数里添加
-
//--------------------------------------------加载3d模型
-
//加载模型文件
-
std::string fileName = "3dtest_02.c3b";
-
man = Sprite3D::create(fileName);
-
auto s = Director::getInstance()->getWinSize();
-
man->setPosition(Vec2(s.width/2.f, s.height / 2.f-150));
-
man->setScale(1.5f);
-
addChild(man);
-
//获取骨骼动画信息
-
auto animation = Animation3D::create(fileName);
-
//播放12秒的动画
-
play = Animate3D::create(animation, 0.f, 12.0f);
-
man->runAction(RepeatForever::create(play));//循环播放
好了,这样就成功将模型放入cocos了,我们再来看看效果:
效果还是可以的