Hey…I’ve got a little problem here… If I create a single cube in Maya 2011, export it as “Model.obj”, and load it in my game like this:
[java]
assetManager.registerLocator(“3DModels/”, FileLocator.class.getName());
Spatial model = assetManager.loadModel(“Model.obj”);
model.setLocalTranslation(new Vector3f(0f, 0f, 0f));
model.scale(2.0f);
theNode.attachChild(model);
[/java]
Everything works fine. But I wanted to create stairs for my game, so I made a cube and with the command extrude face I gave it the stairs look… And now the problem: If a place another object on top of the stairs…(For example a rotated cube or a flag) and try to load it with the same code, I get this NullPointerException:
[java]SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.NullPointerException
at com.jme3.scene.plugins.OBJLoader.readFace(OBJLoader.java:250)
at com.jme3.scene.plugins.OBJLoader.readLine(OBJLoader.java:331)
at com.jme3.scene.plugins.OBJLoader.load(OBJLoader.java:513)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:224)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:346)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:356)
at hellojme3.SimpleFPS.simpleInitApp(SimpleFPS.java:77)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:187)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:134)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:183)
at java.lang.Thread.run(Thread.java:613)[/java]
Could someone help me? And Sometimes if I open the model “Model.obj” and save it under another name, change the name in my game, it works… What The H…?
Now i created a new model, with the name “floor”… But I also get an exception:
[java]SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:817)
at java.util.Scanner.next(Scanner.java:1317)
at com.jme3.scene.plugins.MTLLoader.nextStatement(MTLLoader.java:76)
at com.jme3.scene.plugins.MTLLoader.readLine(MTLLoader.java:188)
at com.jme3.scene.plugins.MTLLoader.load(MTLLoader.java:203)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:224)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:254)
at com.jme3.scene.plugins.OBJLoader.loadMtlLib(OBJLoader.java:289)
at com.jme3.scene.plugins.OBJLoader.readLine(OBJLoader.java:338)
at com.jme3.scene.plugins.OBJLoader.load(OBJLoader.java:513)
at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:224)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:346)
at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:356)
at hellojme3.SimpleFPS.simpleInitApp(SimpleFPS.java:72)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:187)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:134)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:183)[/java]
I think there is a problem…Because the model is in the right path and it should be loaded…
Can you please post/attach the models that are causing this issue?