cocos2dx 将3dmax模型和动画导入游戏

现在的手机游戏也渐渐朝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里添加

 
  1. //人物

  2. cocos2d::Sprite3D * man;

  3. //动画

  4. cocos2d::Animate3D * play;

    3)在init函数里添加

 

 
  1. //--------------------------------------------加载3d模型

  2. //加载模型文件

  3. std::string fileName = "3dtest_02.c3b";

  4. man = Sprite3D::create(fileName);

  5. auto s = Director::getInstance()->getWinSize();

  6. man->setPosition(Vec2(s.width/2.f, s.height / 2.f-150));

  7. man->setScale(1.5f);

  8. addChild(man);

  9.  
  10. //获取骨骼动画信息

  11. auto animation = Animation3D::create(fileName);

  12. //播放12秒的动画

  13. play = Animate3D::create(animation, 0.f, 12.0f);

  14. man->runAction(RepeatForever::create(play));//循环播放

好了,这样就成功将模型放入cocos了,我们再来看看效果:

效果还是可以的