[ODE] Modeling a snowmobile

Jon Watte (ODE) hplus-ode at mindcontrol.org
Fri Jul 28 09:41:53 MST 2006

When modeling vehicles, do not underestimate the power of the contact 
joint. The contact joint has the following things you might be 
interested in:

0) You should always use dContactApprox1. There is no reason not to use 
it; the difference in math cost is negligible these days.
1) You can set a "forward direction", and together with the contact 
normal direction, that'll give you a "side direction".
2) You can set slippage and friction in each of the "forward" and 
"sideways" directions. This allows you to implement steering and sliding.
3) You can set how hard or soft the contact is. This allows you to 
implement suspension.
4) The contact joint allows you to set an "assumed velocity" at the 
point of contact. This allows you to implement traction/power.

Now, there is nothing that says you have to create a contact joint based 
on the results of a primitive collision. You could just as easily create 
it based on a raycast. In many cases, it's actually easier to do that -- 
see the "raycar" example for how to do this with a car.

You can then approximate the non-traction parts of the vehicle with 
simple dumb geometry, such as a box or whatever.


             / h+

Jules Robichaud Gagnon wrote:
> Hi everybody,
> I am working with a team of people to build a snowmobile game but we have 
> some trouble figuring how to create a realistic and optimised physical model 
> for the snowmobile.
> We thought of some possibilities:
> Using a capsule for each of the skis in the front to have the parts slide on 
> the snow or putting two wheels for each skis and have them roll like some 
> sort of skate boards. For the chain of the snowmobile we also thought of 
> using three wheels or a long capsule to have it slide. We are not sure what 
> is better between sliding, rolling or a mix of both.
> Anyone of you has any ideas or recommendations how to build this snowmobile 
> the most realistic possible?

More information about the ODE mailing list