Whenever I try to load a .3ds model, the model does not load and the game crashes.
MaxToJme md3tojme = new MaxToJme(); //the converter
Node node = null; //Where to dump mesh.
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream(); //For loading the raw file
// File Path for the model (dump file in toplevel of classpath)
URL url = Cosmos.class.getClassLoader().getResource("res/model/helnwsm1.3ds");
InputStream is=null;
try {
is=url.openStream();
} catch(Exception err) {
System.out.println("Could not open Model file: " + err);
}
try {
// Converts the file into a jme usable file
md3tojme.convert(is, bytearrayoutputstream);
// Used to convert the jme usable file to a TriMesh
BinaryImporter binaryImporter = new BinaryImporter();
ByteArrayInputStream in=new ByteArrayInputStream(bytearrayoutputstream.toByteArray());
//importer returns a Loadable, cast to Node
node = (Node)binaryImporter.load(in);
} catch(Exception err) {
System.out.println("Error loading model: " + err);
}
node.setLocalTranslation(0.0f, -200.0f, 0.0f);
//node.setLocalRotation(new Quaternion(10, 0, 0, 0));
// attach node to scene graph
node.updateRenderState();
rootNode.attachChild(node);
I get this error
java.io.FileNotFoundException: NHBLACK.TGA (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.image.Texture.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.state.TextureState.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.scene.SceneElement.read(Unknown Source)
at com.jme.scene.Spatial.read(Unknown Source)
at com.jme.scene.Geometry.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at game.handler.RTSState.initTestModel(RTSState.java:133)
at game.handler.RTSState.<init>(RTSState.java:100)
at game.handler.MenuHandler$EnterAction.performAction(MenuHandler.java:77)
at com.jme.input.ActionTrigger.performAction(Unknown Source)
at com.jme.input.ActionTrigger$CommandTrigger.performAction(Unknown Source)
at com.jme.input.InputHandler.processTriggers(Unknown Source)
at com.jme.input.InputHandler.update(Unknown Source)
at game.handler.MenuState.stateUpdate(MenuState.java:155)
at com.jmex.game.state.CameraGameStateDefaultCamera.update(Unknown Source)
at com.jmex.game.state.GameStateNode.update(Unknown Source)
at game.Cosmos.update(Cosmos.java:49)
at com.jme.app.FixedFramerateGame.start(Unknown Source)
at game.Cosmos.main(Cosmos.java:152)
Jun 7, 2007 11:38:17 PM com.jme.util.TextureManager loadImage
WARNING: loadImage(URL file, boolean flipped): defaultTexture used because - NHBLACK.TGA (The system cannot find the file specified)
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
java.io.FileNotFoundException: NHWHITE.TGA (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.image.Texture.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.state.TextureState.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.scene.SceneElement.read(Unknown Source)
at com.jme.scene.Spatial.read(Unknown Source)
at com.jme.scene.Geometry.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at game.handler.RTSState.initTestModel(RTSState.java:133)
at game.handler.RTSState.<init>(RTSState.java:100)
at game.handler.MenuHandler$EnterAction.performAction(MenuHandler.java:77)
at com.jme.input.ActionTrigger.performAction(Unknown Source)
at com.jme.input.ActionTrigger$CommandTrigger.performAction(Unknown Source)
at com.jme.input.InputHandler.processTriggers(Unknown Source)
at com.jme.input.InputHandler.update(Unknown Source)
at game.handler.MenuState.stateUpdate(MenuState.java:155)
at com.jmex.game.state.CameraGameStateDefaultCamera.update(Unknown Source)
at com.jmex.game.state.GameStateNode.update(Unknown Source)
at game.Cosmos.update(Cosmos.java:49)
at com.jme.app.FixedFramerateGame.start(Unknown Source)
at game.Cosmos.main(Cosmos.java:152)
Jun 7, 2007 11:38:17 PM com.jme.util.TextureManager loadImage
WARNING: loadImage(URL file, boolean flipped): defaultTexture used because - NHWHITE.TGA (The system cannot find the file specified)
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
Jun 7, 2007 11:38:17 PM com.jme.scene.Node <init>
INFO: Node created.
java.io.FileNotFoundException: NHLHULL1.TGA (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.image.Texture.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.state.TextureState.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.scene.SceneElement.read(Unknown Source)
at com.jme.scene.Spatial.read(Unknown Source)
at com.jme.scene.Geometry.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at game.handler.RTSState.initTestModel(RTSState.java:133)
at game.handler.RTSState.<init>(RTSState.java:100)
at game.handler.MenuHandler$EnterAction.performAction(MenuHandler.java:77)
at com.jme.input.ActionTrigger.performAction(Unknown Source)
at com.jme.input.ActionTrigger$CommandTrigger.performAction(Unknown Source)
at com.jme.input.InputHandler.processTriggers(Unknown Source)
at com.jme.input.InputHandler.update(Unknown Source)
at game.handler.MenuState.stateUpdate(MenuState.java:155)
at com.jmex.game.state.CameraGameStateDefaultCamera.update(Unknown Source)
at com.jmex.game.state.GameStateNode.update(Unknown Source)
at game.Cosmos.update(Cosmos.java:49)
at com.jme.app.FixedFramerateGame.start(Unknown Source)
at game.Cosmos.main(Cosmos.java:152)
Jun 7, 2007 11:38:17 PM com.jme.util.TextureManager loadImage
WARNING: loadImage(URL file, boolean flipped): defaultTexture used because - NHLHULL1.TGA (The system cannot find the file specified)
java.io.FileNotFoundException: NHLHULL2.TGA (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadImage(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.util.TextureManager.loadTexture(Unknown Source)
at com.jme.image.Texture.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.state.TextureState.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.scene.SceneElement.read(Unknown Source)
at com.jme.scene.Spatial.read(Unknown Source)
at com.jme.scene.Geometry.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.resolveIDs(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArray(Unknown Source)
at com.jme.util.export.binary.BinaryInputCapsule.readSavableArrayList(Unknown Source)
at com.jme.scene.Node.read(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.readObject(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at com.jme.util.export.binary.BinaryImporter.load(Unknown Source)
at game.handler.RTSState.initTestModel(RTSState.java:133)
at game.handler.RTSState.<init>(RTSState.java:100)
at game.handler.MenuHandler$EnterAction.performAction(MenuHandler.java:77)
at com.jme.input.ActionTrigger.performAction(Unknown Source)
at com.jme.input.ActionTrigger$CommandTrigger.performAction(Unknown Source)
at com.jme.input.InputHandler.processTriggers(Unknown Source)
at com.jme.input.InputHandler.update(Unknown Source)
at game.handler.MenuState.stateUpdate(MenuState.java:155)
at com.jmex.game.state.CameraGameStateDefaultCamera.update(Unknown Source)
at com.jmex.game.state.GameStateNode.update(Unknown Source)
at game.Cosmos.update(Cosmos.java:49)
at com.jme.app.FixedFramerateGame.start(Unknown Source)
at game.Cosmos.main(Cosmos.java:152)
I put the textures in the same folder as the model.
What am I doing wrong and what should I do to fix it?