www.jpct.net
jPCT - a 3d engine for Java => Support => Topic started by: AGP on October 31, 2017, 08:33:08 pm
-
System.out.println("\n\n\nWarcraft.loadObject: "+fileName +" Is the mtl null? "+(mtlFile==null));
System.out.println("Is loadOBJ(fileName, mtlFile) null? "+(Loader.loadOBJ(fileName, mtlFile, .5f)==null));
Produces:
Warcraft.loadObject: buildings\castle_construction0.obj Is the mtl null? false
Exception in thread "main" java.lang.NullPointerException
at java.util.Hashtable.put(Unknown Source)
at com.threed.jpct.Loader.loadOBJ(Loader.java:819)
at com.threed.jpct.Loader.loadOBJ(Loader.java:508)
at Warcraft.loadObject(Warcraft.java:250)
at Worker.moveTowardsDest(Character.java:393)
at Warcraft.loop(Warcraft.java:320)
at Warcraft.<init>(Warcraft.java:163)
at Warcraft.main(Warcraft.java:1058)
I've opened the file in Blender and it loads just fine.
-
mtlFile might be not null, but does the actual file exist? For desktop jPCT, it's best to set the Logger to ON_ERROR_THROW_EXCEPTION, so that it exists early. jPCT-AE already does this, the desktop version just doesn't for compatibility reasons. Maybe that reveals the actual problem.
-
Sorry for taking this long but this baffling bug discouraged me. The file exists.
This:
System.out.println("\n\n\nWarcraft.loadObject: "+fileName +" Is the mtl null? "+(mtlFile==null) +" Does the file exist? "+new File(fileName).exists());
Prints:
Warcraft.loadObject: buildings\castle_construction1.obj Is the mtl null? false Does the file exist? true
-
Can you post the content of the mtl-file? Looks like as if there's no actual material definition in there or it's done in a way that I've never encountered before.
-
As soon as you posted this, I re-exported for the hundredth time and, for reasons passing understanding, it worked. Just to let you know.