我已经将一个动画 Blender 模型加载到 LibGDX 中,但它没有正确显示。很难准确地说出正在发生的事情。只是猜测一下,我的模型碎片似乎在世界空间和局部空间中都在旋转。
以下是它的外观以及它在 LibGDX 中的显示方式的 GIF 动画:
正确的搅拌机版本:
不正确的 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
任何人都知道如何解决这个问题,或者至少是什么原因?