Closed
Description
Trying to render a model imported from https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/RecursiveSkeletons/glTF using MonkeyWrench:
Sep 30, 2023 11:58:32 AM com.jme3.app.LegacyApplication handleError
SEVERE: Uncaught exception thrown in Thread[jME3 Main,5,main]
java.lang.NullPointerException
at com.jme3.anim.SkinningControl.resetToBind(SkinningControl.java:332)
at com.jme3.anim.SkinningControl.controlRenderSoftware(SkinningControl.java:255)
at com.jme3.anim.SkinningControl.controlRender(SkinningControl.java:304)
at com.jme3.scene.control.AbstractControl.render(AbstractControl.java:126)
at com.jme3.scene.Spatial.runControlRender(Spatial.java:763)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:796)
at com.jme3.renderer.RenderManager.renderSubScene(RenderManager.java:806)
at com.jme3.renderer.RenderManager.renderScene(RenderManager.java:780)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:1205)
at com.jme3.renderer.RenderManager.render(RenderManager.java:1287)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:278)
at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
at java.base/java.lang.Thread.run(Thread.java:829)
One of the many quirks of the RecursiveSkeletons model is that its mesh doesn't include vertex normals. I believe SkinningControl
should be able to handle that, just like it handles meshes without tangents. Looking at the code, it's clear this possibility wasn't considered:
jmonkeyengine/jme3-core/src/main/java/com/jme3/anim/SkinningControl.java
Lines 320 to 334 in 4de10c3
In case you're wondering, the model doesn't include vertex tangents either.