我有一个具有许多不同动画的搅拌器模型。我正在尝试使用步行动画。
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
所在的层次结构。这还将使您了解加载器如何在模型中布置对象。