What Dynamics Engine should I choose ?

Started by
12 comments, last by Ljilekor 19 years, 2 months ago
I want to implement dynamics in a 3D application. What Engine should I use. Realtime is ok but not required. I digged into ODE and Novodex. I also checked Newton (where can I get more info on this one?). Novodex seems to be the best candidate for now. It's fast, robust, versatile and takes care of a lot of problems... A few important things are not supported though. - One of them is 3Mesh/3Mesh collision detection. But I can live with PMaps. - A bigger problem is that it doesn't support 3Mesh Deformation (eg. when a 3Mesh deformed with bones collides with another 3Mesh.). I know I could attach boxes or capsules to the bones (to fake the 3Mesh) but in some cases (eg. ball on a wavy surface) there's no way to fake... - I didn't have the time to test if simulations where consequent. By this I mean, if the sollutions are identical each time. This is VERY important for a not game based dynamix. So... What are the free/commercial options. I need an SDK that's easy, as accurate as possible, realtime not required (would b nice if I could switch). It must support 3Mesh deformation and must be consequent. Thanks 4 the info.
Advertisement
Does such an sdk (real physics) exist (made public)?
Check out the Forum FAQ, which lists a few more options both commercial and free. Novodex is the least expensive of the commercial solutions, I believe. The others are not at all inexpensive. I'm not sure if Vortex is listed there (I forget whether or not I added it), but it is marketed more for non-games, engineering type simulations applications:

Critical Mass Labs - creators of Vortex physics engine

As for non-real-time....there are a great many commercial options. Again, far from cheap, extremely difficult to use, and intended more for product design than generalized simulation. For example:

MSC.ADAMS
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Ok thanx guys.

I'll probably use Novodex.

First I need to know how much exactly they'll charge... Is it a percentage of the sales, is it a fixed fee... If someone has some info on that matter, i'd be glad to hear it.

I'll try to implement (deformed)3Mesh / (deformed)3Mesh collision detection myself. (Or is it not that simple... ?)Does somebody know where I can find the right libs, algo's and/or tutorials? (What about the colDet lib???) It doesn't matter if they are time consuming as long as they are flawless. Calculations don't need to be done in realtime. so...
If I manage to implement correct coldetection, is it hard then to make novodex react to those collisions?

I know I'm asking a lot. I'm just assuming maybe someone had this problem before and knows all the right answers.
You mentioned the word "flawless.". Please understand that you will NOT find something that is flawless. Even the most advanced dedicated, non-real-time engineering simulation codes are far, far from flawless. All require intelligent, careful use. All will break in some cases. Real-time engines tend to be more forgiving, easier to use by non-specialists, but are also far less accurate than non-real-time codes. They are more flawed in the area of accuracy.

I only tell you this so you will not be disappointed when you discover a case where the solution you choose fails due to the inevitable flaw. :). And, you will!

That said, with most of the engines it should be possible to produce repeatable results, e.g., results that are identical every time you run the simulation regardless of CPU speed. You will need to be careful about the way you run the simulation, e.g., use fixed time steps and maybe other considerations. But, it should be possible in nearly all, maybe all codes.

I do have a question for you. If you need the most accuracy, and do not require real time....why are you looking at real-time engines? The real-time engines sacrifice accuracy to run in real-time. You can get more accurate results with engines that were not designed to run in real-time (but still never flawless)!

You can license the MSC Software products by week or month or by year, and they certainly have a range of established and proven, highly accurate, non-real-time, simulation codes. Here is a link to the licensing page for their NASTRAN series of analysis tools:

Engineering-E On-Demand Licensing
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Quote:Original post by Ljilekor
First I need to know how much exactly they'll charge... Is it a percentage of the sales, is it a fixed fee... If someone has some info on that matter, i'd
be glad to hear it.


It appears NovodeX no longer advertises their commercial pricing via the website. So, you are going to have to contact them, as they dictate on their website:

NovodeX Licensing

My guess is that they may only reveal license costs under a nondisclosure agreement (NDA), so nobody will be able to legally tell you what they charge. You must ask them, and they may require that you sign an NDA yourself before they tell you their current prices.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Thanks a lot G.

I'm aware that 'flawless' is impossible. I just ment as flawless as possible...
The dynamics system will be implemented in an animation app, so when it comes to accuracy it means as long as it looks good. The thing just has to 'work', without being to hard to use and be 'forgiving'. It has to work as expected.
I don't want to put too much stress on the artists. It's bad for their health. I'd feel guilty :/... ;)
Full dynamics on deformed 3Meshes would be a great (no stress) feature. There are a lot of limitations if u don't have it (in a 3D App).
But, for a start it's ok. A lot can be achieved using primitives, capsules and PMaps. So Novodex seems to be the right compromis.

Again thanks for your reply.
Seriously consider Newton. I've found it to be better and more stable than *cough* Havok *cough*...
die or be died...i think
Hey Ljilekor,

Thanks for your clarification. I understand better where you're coming from! Since you mentioned you don't specifically require real-time, but you are using artists....this makes me wonder...are you wanting to run the physics as part of your art pipeline, and not run physics within the game executable? Are you using 3ds max? I wonder how capable their reactor system is. It is, I believe, based on some prior version of the MathEngine physics toolkit (which became Karma and then became Renderware Physics, and which spawned the Critical-Mass Labs spinoff)...
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
Reactor is Havok for non real-time.
Maya has a good physic engine, and XSI too.

This topic is closed to new replies.

Advertisement