cocos2d-x v3.2 3d Animation3D 调用异常

  1. 用3dmax制作一个带模型动作的文件,然后导出带动作的fbx文件。
  2. 用fbx-convert转换成c3t和c3b文件(分别为1.c3t和1.c3b)。
  3. 将该俩文件和贴图文件都放到资源目录下。
  4. 程序中调用
    // std::string fileName = “Sprite3DTest/tortoise.c3b”;
    std::string fileName = “Sprite3DTest/1.c3t”;
    auto sprite = Sprite3D::create(fileName);
    sprite->setScale(0.1f);
    auto s = Director::getInstance()->getWinSize();
    sprite->setPosition(Vec2(s.width * 4.f / 5.f, s.height / 2.f));
    addChild(sprite);
    _sprite = sprite;
    auto animation = Animation3D::create(fileName);
    if (animation)
    {
    //auto animate = Animate3D::create(animation, 0.f, 1.933f);
    auto animate = Animate3D::create(animation, 0.f, 0.48f);
    sprite->runAction(RepeatForever::create(animate));
    在runAction出错,具体出错在CCAnimate3D.cpp 文件中,第92行, CCASSERT(sprite && sprite->getSkin() && _animation, “Animate3D apply to Sprite3D only”); 跟踪了原因skin为空。

请问一下,是什么原因,是3dmax那里设置有问题,还是导出fbx设置有问题,还是程序的问题?求解。

同样在这里出错啦。同求解决方法啊,

模型发上来瞧瞧

做的是骨骼动画么?

楼主问题解决了么 我也遇到同样的问题了 求解

把FBX文件发出来!