CollisionSolids in .egg vs in .py

I was leading the thread discourse.panda3d.org/viewtopic.php?t=782 astray with this discussion. Therefore I continue it here:

The question is:
What are the pros and cons of putting the CollisionSolids in the .egg fil vs. putting is in the .py file?

Imho. if you did not make the model yourself, and like me is new to Panda, it can be a bit confusion to figure out an .egg file.

But perhaps you’d argue it belongs to the .egg file
or perhaps it is faster (esp. if converted to .bam)

Please voice your opinion on this (here) :slight_smile:

To summarize the discussion this far, russ has argued that Polyset are easier to define in .egg [I so agree]

Yellow has argued that

  • it is easier to have a modeling program put the solids in the .egg file [I am yet to try a modeling program *blush*]

*Python code is rather slow compared to C++, as far as I [Yellow] understand, loading from egg or bam files is mostly done in C++,
[Can anyone confirm this, please :slight_smile: It’d be nice to know.]

I am still not convinced it makes a difference.
Is .egg really faster (I guess it takes some time to load)
Are there any other differences?

Btw. thanks for your contributions, Yellow.
Does anyone else but me wanna continue this discussion? :laughing:

you’re starting to sound like Jerry Springer now :stuck_out_tongue:

Anyway:

  • egg files wont load fast, thats the compiled version: bam
  • Main argument is that model files allow colision poly’s, for colision nodes like terrain, walls etc. For those nodes which are more complicated then a single sphere.

Geez, thanks :laughing:

No doubt, converting the .egg to .bam for the final version of the game is a good optimization.
I was thinking of the speed of the .py implemented version.

I guess it all comes down to what you are making.
I am sure there are some graphics that are easier descriped with an algoritm than by a lot of mouse-clicks (or what ever you use in the modeling software).
Whereas in most situations the graphics are hard to describe in .py code.
And for polysets it is smart to put the lines in the .egg by hand.

I will be closing this thread soon (if possible), unless anybody has more to contribute :stuck_out_tongue: