Effectiveness of the builtin Physics engine and collider?

I’m trying to code up a rough, rough, ROUGH imitation of the Bumptop GUI Prototype in Python

A video of the prototype can be found here:

For the purposes of this, all the physics I really require are letting 3D rectangular solids move around, bounce and tumble off each other, and be affected by gravity and friction in a semi-realistic way as in the video.

I was looking at the manual here:

…and was wondering if this Physics engine would be suitable for this kind of project. I’m wary of downloading and installing PyODE, since I want this to work with Panda3D’s default library. Further, if you think it is suitable, any tips on getting started using the engine, or where I can find a good tutorial or sample to read from would be extremely appreciated.


Brian, you’re going to want to use pyODE. Panda’s physics system is geared more towards simple velocity, basic collision detection and preventing objects penetrating. It isn’t fully featured for dealing with complex forces, angular momentum, realistic collision repsonses, etc.

Fortunately, using ODE works pretty well with game/graphics engines like Panda. You just treat the ODE physics sim as the “model” and Panda as the “view”, making sure to run the ODE sim regularly (usually once or twice between each frame in a task) and match the position and orientation of the Panda graphics objects each frame. Other than that there are no tight interdependencies between the two systems.

Because the shapes you want to use are simple ODE is actually a very nice solution, and you should be able to get a prototype coded quickly.

Hi Brian, I believe that you should use PyODE.

I was in a similar boat as you and I was apprehensive to use PyODE as well…but it has proven to be an awesome addition to Panda3D. I have gotten some great help from some intellectually generous people here…I suggest you check out the eggNbowl demo thread (a really nice series of examples of PyODE’s) capabilities.
There is a ton of info in there about different PyODE stuff (joints, forces, etc.)…it helped me “break” into PyODE so much, and cause of the great help I got I am trying to help out as much as a newbie like me can! Good luck

Oh BTW the thread is in the SCRIPTING ISSUES section. Good luck…thats a cool looking project you wanna try to do!

Well from the sound of it I guess PyODE is my best option, and I suppose I owe to myself to check it out anyway.

And to liquid7800, I’m very interested in using Panda for non-game applications, particularly GUI and information visualization. Once my current project for school is finished, I think I’ll be working on many more ambitious projects in the future along these lines, and I echo your praise for all the support and valuable advice this forum offers!

The Bumptop imitation project might be the first of these. The “project” I’m on right now is more of a paper, trying to prove the usefulness of an engine like Panda for GUI research and prototyping by analyzing the features and classes. The more I learn about Panda the more excited I get about its non-game applications.