Time for the next quick installment…
-Friction con’d: In my last installment I said that for friction on a horizontal surface…
F - fr = m*a
…where F is the force and fr is the friction. fr can be calculated using the following formula…
fr = meu * m * g
…where meu is the coefficient of friction (thats the friction value in the Material’s DYN Settings), m is the mass and g is the gravitational acceleration (from the World Settings)
-Friction on a slope: Friction on a slope uses the same formula as before…
F - fr = m*a
…where F and fr are parallel to the slope (local axis forces), but this time the frictional force fr is calculated using…
fr = meu * m * g * Cos(theta)
…where theta is the angle of the slope above the horizontal.
-Anisotropic Friction: This is an important game engine concept which causes an object to have different friction in different directions. For example a skateboard should have a lot less friction forwards-backwards than it should have side-to-side. Basically anisotropic friction gives you 3 values between 0.00 & 1.00, one for each local axis. The coefficient of friction (meu) is multiplied by the anisotropic friction value for each axis before the value of the frictional force for that axis is calculated.
-Movement damping / Rotational damping: These are simply values that control how the linear & rotational speed of an object are reduced over time in the game engine. They are used to simulate air resistance etc. I’m not sure exactly how they are applied mathmatically, but basically linear / angular speed would be divided by the damping value at regular intervals.
-Form Factor: This is a hack and doesn’t have any equivalent in the real world. I’m not really sure how it works, but I gather its purpose is to dampen collisions somehow? I’m really not sure.
-Interaction: Just thought I’d mention these here…
. . . . Modulus of Elasticity (e): When two objects with different elasticities collide, the effective modulus of elasticity for the collision will be e1 * e2.
. . . . Coefficient of Friction (meu): When two objects with different frictional coefficients slide past one another, the effective coefficient of friction will be meu1 * meu2.
I’d be more than happy to help out as a physics engine consultant or something like that in CrystalBlend. I’m also learning practical C++ so I may be able to help out with coding as well. But please please please let me know if you’re not finding this helpful… :-?
Keith. 8)