Egg limitations and schema

Hi Panda people !!

Today I have some question about the egg format. In fact I have 2 questions coming from a loading error I encountered this morning (France morning).

Indeed some of my models won’t work. I recently received meshes in a client homemade format. I have also the Maya importer for this format. So I imported theses meshes in Maya and exported them with maya2egg (which still works great !)

The problem is that some of my newly exported egg models won’t be loaded in Panda !
I got this error :
Assertion failed: in >= out at line 60 of built/include/lodNode.I

(info : I’m using panda-1.5.0)

So i’m looking for a xsd schema to see if my models are valid eggs. I saw this document :
panda3d.cvs.sourceforge.net/pand … iew=markup

but I think checking eggs myself is not a very good way to solve this. Is there any xsd schema to check eggs validity ?

And my 2nd question :
Are there limitations in eggs that can make the egg loading fail like that?

Thanks for your answers which will save my life :smiley:
Benjamin

Loading an egg file using the Egg* classes (instead of using the loader) will check their validity. You can’t use a xsd schema because the egg format is not xml. I suppose the problem must be with the Maya exporter.

A long time ago (pre release R1.5), i’ve noticed some “loderror” when i was trying to import a model as an Actor (ie animated figure with bones etc…) and the model was not exported from the 3D package as a character…

This particular error is complaining that you have an LOD specification (via a SwitchCondition in the egg file) in which the “in” distance is closer than the “out” distance, which is exactly backward.

David

Thanks for your answers guys !

I didn’t think of validity checking with the Egg* classes, so I’ll give it a try.

For the Maya exporter, I used it a lot recently (more than 300 meshes converted) and it’s the first time I have a problem … but I’ll check.

Benjamin

Back to this topic!

I recently saw that I have some model that have been exported with the maya2egg exe that won’t work because of the LOD problem David talked about above.

In fact the “in” and “out” distances are both set to 0 in the egg.
Is there a way to say to maya2egg that you don’t want to have any LOD? I looked in the options in the help but there’s nothing about it. (but I read in another thread that the help doesn’t show all the options)

Benjamin

There’s not a way to specifically ignore LOD nodes in the Maya file, but you could just remove them (or change them to regular Maya nodes), couldn’t you?

David

i’ll quote this thread : discourse.panda3d.org/viewtopic.php?t=4328
that describes a part of the process in which my conversion problems come in.

So the process needs to be automatic. I can’t go there and change their meshes. And I can’t ask them to change them: they’d lose time because there are lots of meshes (more than 300 models). Plus, our tools aim at speeding their process…

Well, OK. But they’re giving you Maya models that include multiple levels of detail, and their models don’t specify the distances at which the different levels are supposed to switch in and out. How would you like to handle this?

You can:

(a) Convert all the multiple levels of detail as ordinary models, and render them all on top of each other.

(b) Select one of the levels of defaill arbitrarily, and discard the remaining ones.

© Make up a legal, but arbitrary, switch distance for each of the levels of detail.

You can do any of the above either by operating on the original Maya file, or by operating on the egg file it produces. To make changes to the LOD specification within the egg file, look for the term (as described in the eggSyntax.txt document).

David