Sign in to follow this  
Ljilekor

What Dynamics Engine should I choose ?

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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)...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Reactor is a Havok plug in for Max period.
Some time Rhodes is so convinced he has the final solution that he start making theses statements and assumption about the other products without checking his facts.

Sometime he attributes no existing features to one API and by the stroke of a sentence he removes features from the others it is almost like he is acting as a sale person for Novodex. I still do not see how the pmaps are going to mold to the skin geometry, as far as I know they are just an aggregate of convex pieces created algorithmically, but they are still solid geometry. If you settle for approximating each body part with a convex primitive, then every other engine out there does that.

You say you are willing to get dirty in the detail:
You can use ODE and a third party collision engine like Solid, or Icollide. and in crease the simulation rate very high.

Share this post


Link to post
Share on other sites
It's a damn difficult choice to make.

I'm divided between Newton and Novodex. The Newton site/docs don't provide enough info about the features to really 'compare'. Or another one???

- Newton seems to be free, Novodex not. Note that I develop after my hours. If it's too expensive I'm done with it.
- Both have variable accuracy. 3 levels in Newton(+ timesteps?), unlimited in Novodex (timesteps).I don't really know which one is best...
- The learning curve seems to be steaper for Newton it 'looks' more complicated. Novodex' Docs/Tuts are great.
- Novodex 'looks' better. I was in particular blown away by the (fake)softbody. (I must implement it!)
- Newton support(forums) is alive! Novodex' home forum is like... (Maybe it's because the docs are so damn great)
- I THINK Newton supports Mesh/Mesh support(Full). Novodex does (PMaps). I don't know about deformation for Newton. Novodex doesn't.
...

Or, simply said : I'm lost.

I will integrate the 'chosen' dynamics engine into Messiah. http://www.projectmessiah.com.
When it comes to character rigging/animation, it's (my opinion) the best quality/price. It started out as a LW plugin and was originaly owned by StationX. Now, it's main purpose is to be used as a standalone animation/rendering tool. Rendering is great. It's very portable. It can be used as a host animation module for Lightwave, Maya and Max. Animation can be exported as .mdd files which makes exports to LW, Maya, Max, Cinema4D, XSI,... possible. It's very robust and versatile. We use it as our main animation app @work (http://www.grid-vfx.com) We worked on 'Les triplettes de Belleville' an animated feature film that got nominated for the oscars. Here's an interview of one of our guys. http://www.newtek-europe.com/uk/community/lightwave/ebo/1.html.
Anyway, Messiah lacks a nice, easy and solid dynamics system. So I decided to write the damn plugin. BTW Messiah exports .x files too !!!

Thx everybody, this forum is great!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this