Exeption when loading models: com.jme3.asset.AssetLoadException: SimpleTextured.j3md has been marke

I want to learn how JME3 is meant to be used, and I’m thinking that monkeyzone must be a good example to learn from.

To use it I’ld like to try out the game and see what can be used for my own game.



My problem is the exeption below, I’ve searched through the source, but can’t find SimpleTextured.j3md used anywhere.



Any help is appreciated:)



23.jun.2011 00:09:41 com.jme3.scene.Node attachChild

INFO: Child (NavMesh) attached to this node (New Scene)

com.jme3.asset.AssetLoadException: SimpleTextured.j3md has been marked as obsolete. Please use Unshaded.j3md instead.

at com.jme3.material.plugins.J3MLoader.loadFromScanner(J3MLoader.java:513)

at com.jme3.material.plugins.J3MLoader.load(J3MLoader.java:594)

at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:240)

at com.jme3.material.Material.read(Material.java:1013)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryInputCapsule.readSavable(BinaryInputCapsule.java:451)

at com.jme3.scene.Geometry.read(Geometry.java:435)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:477)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:465)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:581)

at com.jme3.scene.Node.read(Node.java:596)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:477)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:465)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:581)

at com.jme3.scene.Node.read(Node.java:596)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryInputCapsule.readSavable(BinaryInputCapsule.java:451)

at com.jme3.bullet.objects.VehicleWheel.read(VehicleWheel.java:342)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:477)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:465)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:581)

at com.jme3.bullet.objects.PhysicsVehicle.read(PhysicsVehicle.java:544)

at com.jme3.bullet.control.VehicleControl.read(VehicleControl.java:263)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryInputCapsule.resolveIDs(BinaryInputCapsule.java:477)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArray(BinaryInputCapsule.java:465)

at com.jme3.export.binary.BinaryInputCapsule.readSavableArrayList(BinaryInputCapsule.java:581)

at com.jme3.scene.Spatial.read(Spatial.java:1270)

at com.jme3.scene.Node.read(Node.java:595)

at com.jme3.export.binary.BinaryImporter.readObject(BinaryImporter.java:303)

at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:211)

at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:133)

at com.jme3.export.binary.BinaryImporter.load(BinaryImporter.java:123)

at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:240)

at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:373)

at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:383)

at com.jme3.monkeyzone.WorldManager.preloadModels(WorldManager.java:236)

at com.jme3.monkeyzone.ClientMain$6.run(ClientMain.java:362)

at java.lang.Thread.run(Thread.java:662)

Yeah, the recent changes in jme3 made the models incompatible, I will have to recreate them some time…

Thanx for the quick answer.

Maybe I’ll have a go at it, you probably have enough to do.

I guess I somehow have to translate the blender export into j3o, and make sure Unshaded.j3md is used instead of SimpleTextured.j3md and some other material definitions?

Heya!



I think i had the same problem. What i did was text-edit the j3o file to refer to the Unshaded instead of the SimpleTextured.j3md. This worked for me.



Hope this helps you out as well!



Cheers.

Aha, i thought this was an uneditable binary file, can i open it in jmp?

What j3o files need editing?



thanx:)

I just used notepad for opening the j3o and search and replaced “SimpleTextured.j3md” with “Unshaded.j3md”.

I think all the j3o’s (from the monkeyzone project) you want to use need this editing. I just used one file, to see if it worked out.

This didn’t work for me, I’ve tried everything, notepad scite and even a hex editor since the file is binary.

I guess the file has to be rebuilt. Thanx for the suggestion though:)

You can convert it to XML with an older version of jME3 that could load the file, then edit the XML to get rid of the “SimpleTextured”, and then load the XML in the new version of jME3 and export to J3O