我有一个具有许多不同动画的搅拌器模型。我正在尝试使用步行动画。

 AnimControl control = characterNode.getControl(AnimControl.class);

 control.addListener(new AnimEventListener() {
     //empty event listener methods are in here

 channel = control.createChannel();
 channel.setAnim("walk");


我收到NullPointerException

    Uncaught exception thrown in Thread[LWJGL Renderer Thread, 5,main]


我认为这与AnimControl.class为空有关。任何帮助。提前致谢

最佳答案

以我的经验,这样的问题几乎总是与加载Blender模型有关。根据您使用的加载程序(有两个),您不会收到对包含loadModel中的动画控件的模型部分的引用。我发现我需要在Blender对象层次结构中为包含Animation的对象(而不是父骨架)提供一个名称。然后,我使用model.getChild()在加载的模型层次结构中获取正确的命名对象。

值得在模型加载后立即使用调试器破坏代码,然后逐步检查AnimControl所在的层次结构。这还将使您了解加载器如何在模型中布置对象。

10-08 17:18