Collada Support for Maya exports

Okay, I figured the best way to get this solved was to drop a basic model that displays the problem hoping someone with more knowledge about the ColladaImporter can resolve this issue for me or give me some insights as to what is going on so I can resolve the issue myself.  I get an exception like this:


Feb 11, 2007 3:10:38 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Feb 11, 2007 3:10:38 PM com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W:  640H: 480
Feb 11, 2007 3:10:39 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Feb 11, 2007 3:10:39 PM com.jmex.sound.openAL.SoundSystem <clinit>
INFO: DETECT OPERATING SYSTEM
Feb 11, 2007 3:10:39 PM com.jmex.sound.openAL.SoundSystem <clinit>
INFO: CREATE OPENAL
Feb 11, 2007 3:10:39 PM com.jmex.sound.openAL.SoundSystem initializeOpenAL
INFO: OpenAL initalized!
Feb 11, 2007 3:10:39 PM com.jmex.sound.openAL.SoundSystem <clinit>
INFO: CREATE LISTENER
Feb 11, 2007 3:10:39 PM com.jmex.game.state.GameStateManager create
INFO: Created GameStateManager
Feb 11, 2007 3:10:39 PM com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node attachChild
INFO: Child (Text) attached to this node (TextNode)
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node attachChild
INFO: Child (Some2DText) attached to this node (null)
Feb 11, 2007 3:10:39 PM com.jme.scene.Node attachChild
INFO: Child (ProgressBar) attached to this node (null)
Feb 11, 2007 3:10:39 PM com.jme.scene.Node attachChild
INFO: Child (Some2DText) attached to this node (null)
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.util.ErrorManager addError
WARNING: Value of VersionType is invalid (1.4.1), trying to load anyway...
Version: 1.4.1
Feb 11, 2007 3:10:39 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:39 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Feb 11, 2007 3:10:39 PM com.jme.scene.Node <init>
INFO: Node created.
java.util.NoSuchElementException
   at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
   at com.jmex.model.collada.ColladaImporter.processTriMesh(ColladaImporter.java:2359)
   at com.jmex.model.collada.ColladaImporter.processMesh(ColladaImporter.java:2153)
   at com.jmex.model.collada.ColladaImporter.processGeometry(ColladaImporter.java:1759)
   at com.jmex.model.collada.ColladaImporter.processCollada(ColladaImporter.java:561)
   at com.jmex.model.collada.ColladaImporter.load(ColladaImporter.java:256)
   at com.jmex.model.collada.ColladaImporter.load(ColladaImporter.java:236)
   at com.jmex.model.util.ModelLoader$2.call(ModelLoader.java:156)
   at com.jmex.model.util.ModelLoader$2.call(ModelLoader.java:1)
   at com.jme.util.GameTask.invoke(GameTask.java:91)
   at com.jme.util.GameTaskQueue.execute(GameTaskQueue.java:113)
   at com.jmex.game.StandardGame.update(StandardGame.java:264)
   at com.jmex.game.StandardGame.run(StandardGame.java:168)
   at java.lang.Thread.run(Thread.java:619)
Feb 11, 2007 3:10:40 PM com.jme.util.ErrorManager addError
WARNING: Error processing geometry library information - java.util.NoSuchElementException
java.util.NoSuchElementException
   at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
   at com.jmex.model.collada.ColladaImporter.processTriMesh(ColladaImporter.java:2359)
   at com.jmex.model.collada.ColladaImporter.processMesh(ColladaImporter.java:2153)
   at com.jmex.model.collada.ColladaImporter.processGeometry(ColladaImporter.java:1759)
   at com.jmex.model.collada.ColladaImporter.processCollada(ColladaImporter.java:561)
   at com.jmex.model.collada.ColladaImporter.load(ColladaImporter.java:256)
   at com.jmex.model.collada.ColladaImporter.load(ColladaImporter.java:236)
   at com.jmex.model.util.ModelLoader$2.call(ModelLoader.java:156)
   at com.jmex.model.util.ModelLoader$2.call(ModelLoader.java:1)
   at com.jme.util.GameTask.invoke(GameTask.java:91)
   at com.jme.util.GameTaskQueue.execute(GameTaskQueue.java:113)
   at com.jmex.game.StandardGame.update(StandardGame.java:264)
   at com.jmex.game.StandardGame.run(StandardGame.java:168)
   at java.lang.Thread.run(Thread.java:619)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (persp) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (perspShape) attached to this node (persp)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (top) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (topShape) attached to this node (top)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (front) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (frontShape) attached to this node (front)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (side) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (sideShape) attached to this node (side)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Gunshieldmount_R) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Lasercannon_R) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Lasercannon_L) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Gunshieldmount_L) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Cockpit_Shield) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (fin_R) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (fin_L) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Missilelauncher) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Missile03) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Missile04) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Missile05) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Missile06) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Missile07) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Engine) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (group) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (pasted__group2) attached to this node (group)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Gunshield_R1) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (polySurface1) attached to this node (Gunshield_R1)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (polySurface2) attached to this node (Gunshield_R1)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (transform1) attached to this node (Gunshield_R1)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (group1) attached to this node (VisualSceneNode)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (pasted__group2) attached to this node (group1)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Cockpit) attached to this node (pasted__group2)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (VisualSceneNode) attached to this node (Model)
Feb 11, 2007 3:10:40 PM com.jme.scene.Node attachChild
INFO: Child (Model) attached to this node (RootNode)
Took 1.031 seconds to load the model.



This is the output from ModelLoader when I try to load a ship model that has been exported from Maya to Collada (there are a few others that get the exact same exception).

The example Collada file I'm posting here doesn't actually output any exception:

Feb 11, 2007 3:12:03 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Feb 11, 2007 3:12:03 PM com.jme.renderer.lwjgl.LWJGLRenderer <init>
INFO: LWJGLRenderer created. W:  640H: 480
Feb 11, 2007 3:12:04 PM com.jme.renderer.AbstractCamera <init>
INFO: Camera created.
Feb 11, 2007 3:12:04 PM com.jmex.sound.openAL.SoundSystem <clinit>
INFO: DETECT OPERATING SYSTEM
Feb 11, 2007 3:12:04 PM com.jmex.sound.openAL.SoundSystem <clinit>
INFO: CREATE OPENAL
Feb 11, 2007 3:12:04 PM com.jmex.sound.openAL.SoundSystem initializeOpenAL
INFO: OpenAL initalized!
Feb 11, 2007 3:12:04 PM com.jmex.sound.openAL.SoundSystem <clinit>
INFO: CREATE LISTENER
Feb 11, 2007 3:12:04 PM com.jmex.game.state.GameStateManager create
INFO: Created GameStateManager
Feb 11, 2007 3:12:04 PM com.jme.util.lwjgl.LWJGLTimer <init>
INFO: Timer resolution: 1000 ticks per second
Feb 11, 2007 3:12:04 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (Text) attached to this node (TextNode)
Feb 11, 2007 3:12:04 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:12:04 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (Some2DText) attached to this node (null)
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (ProgressBar) attached to this node (null)
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (Some2DText) attached to this node (null)
Feb 11, 2007 3:12:04 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:12:04 PM com.jme.util.ErrorManager addError
WARNING: Value of VersionType is invalid (1.4.1), trying to load anyway...
Version: 1.4.1
Feb 11, 2007 3:12:04 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:12:04 PM com.jme.scene.Node <init>
INFO: Node created.
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (pSphere1) attached to this node (VisualSceneNode)
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (VisualSceneNode) attached to this node (Model)
Feb 11, 2007 3:12:04 PM com.jme.scene.Node attachChild
INFO: Child (Model) attached to this node (RootNode)
Took 0.485 seconds to load the model.



Unfortunately nothing displays either.  I've included the the Collada file and the texture below:

http://galaxiesbeyond.com/download/MOON.JPG
http://galaxiesbeyond.com/download/Moon1.dae

These models work fine in FeelingViewer and I'm using the official Collada exporter from Feeling Software for Maya.

I'm working on COLLADA at work for some other features. I'll take a look at the moon.dae file sometime in the next couple of days.

Great, I've got the final ship models for Galaxies Beyond and these problems are the only things holding me back from being able to use them in the game…sorry if I'm a little too eager to get it working. :wink:



Hopefully I'll be able to start posting some official screenshots after these model problems are resolved.

Seems like your collada file uses the polylist tag, I'm not sure we support that currently.

Exactly right, only <triangles> are supported. Which explains the moon problem.

Crap…okay, back to see if Maya has an option to export with triangles. :wink:

Josh just mentioned that Mr. Coder did add a support for polylist… but I won't be the one supporting that. If he happens to see this, maybe he'll give insight.

Sorry for the misunderstand…  he did polygons actually, not polylist. 

ok :slight_smile:

renanse said:

Seems like your collada file uses the polylist tag, I'm not sure we support that currently.


:oops:

mojomonk said:

Josh just mentioned that Mr. Coder did add a support for polylist... but I won't be the one supporting that. If he happens to see this, maybe he'll give insight.


:lol:

renanse said:

Sorry for the misunderstand...  he did polygons actually, not polylist. 


:oops:

You guys just like to play with my emotions.....  :'(

Collada is an open, well defined spec whose schema is easily available on the web… your destiny is in your hands. :wink:

mojomonk said:

your destiny is in your hands. ;)


That's exactly what scares me....  :-o