1

我已经将一个动画 Blender 模型加载到 LibGDX 中,但它没有正确显示。很难准确地说出正在发生的事情。只是猜测一下,我的模型碎片似乎在世界空间和局部空间中都在旋转。

以下是它的外观以及它在 LibGDX 中的显示方式的 GIF 动画:

正确的搅拌机版本: 正确的搅拌机版本

不正确的 LibGDX 版本: LibGDX 版本不正确

我真的不知道从哪里开始这个问题。我正在使用几种不同的骨骼约束,我认为这可能是原因。LibGDX、fbx-conv 甚至 .fbx 文件格式是否根本不支持某些搅拌机约束。

以下是我的 LibGDX 代码的相关部分,以防我做错了什么:

动画设置代码:

Model model = assetManager.get("pump.g3db", Model.class);
instance = new ModelInstance(model);
instances.add( instance );

// Run all animations on a loop
for( Animation animation : instance.animations ) {
    AnimationController controller = new AnimationController( instance );
    controller.setAnimation( animation.id, -1 );
    animationControllers.add( controller );
}

渲染循环代码:

Iterator<AnimationController> acIteratore = animationControllers.iterator();
while ( acIteratore.hasNext() ){
    AnimationController ac = acIteratore.next();
    ac.update( Gdx.graphics.getDeltaTime() );
}

这是.blend文件,如果有人想查看骨架和约束: http: //www.pasteall.org/blend/31195

任何人都知道如何解决这个问题,或者至少是什么原因?

4

1 回答 1

1

我的问题是由我在 Blender 的 FBX 导出器上的设置引起的。要解决此问题,请关闭以下两项设置:

  • NLA Strips
  • All Actions

可以在此页面的“烘焙动画”下找到这些设置的说明:http: //code.blender.org/index.php/2014/06/supporting-game-developers-with-blender-2-71/

这是一个屏幕截图,其中以红色标出要关闭的设置: 错误的设置

此答案仅与 Blender 2.71 或更高版本相关(可能)

于 2014-08-26T20:20:45.220 回答