jPCT - a 3d engine for Java > Support

Loader.loadOBJ Problem



--- Code: ---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));

--- End code ---


--- Quote ---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(
        at com.threed.jpct.Loader.loadOBJ(
        at Warcraft.loadObject(
        at Worker.moveTowardsDest(
        at Warcraft.loop(
        at Warcraft.<init>(
        at Warcraft.main(

--- End quote ---

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.

--- Code: ---System.out.println("\n\n\nWarcraft.loadObject: "+fileName +" Is the mtl null? "+(mtlFile==null) +" Does the file exist? "+new File(fileName).exists());

--- End code ---


--- Quote ---Warcraft.loadObject: buildings\castle_construction1.obj Is the mtl null? false Does the file exist? true

--- End quote ---

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.


[0] Message Index

Go to full version