3.13 ContactProperties
ContactProperties { |
3.13.1 Description
ContactProperties nodes define the contact properties to use in case of contact between Solid nodes (or any node derived from Solid). ContactProperties nodes are placed in the contactProperties field of the WorldInfo node. Each ContactProperties node specifies the name of two materials for which these ContactProperties are valid.
When two Solid nodes collide, a matching ContactProperties node is searched in the WorldInfo.contactProperties field. A ContactProperties node will match if its material1 and material2 fields correspond (in any order) to the the contactMaterial fields of the two colliding Solids. The values of the first matching ContactProperties are applied to the contact. If no matching node is found, default values are used. The default values are the same as those indicated above.
|
|
3.13.2 Field Summary
-
The material1 and material2 fields specify the two contact materials to which this ContactProperties node must be applied. The values in this fields should match the contactMaterial fields of Solid nodes in the simulation. The values in material1 and material2 are exchangeable.
-
The coulombFriction is the Coulomb friction coefficient. This must be in the range 0 to infinity (use -1 for infinity). 0 results in a frictionless contact, and infinity results in a contact that never slips.
-
The bounce field is the coefficient of restitution (COR) between 0 and 1. The coefficient of restitution (COR), or bounciness of an object is a fractional value representing the ratio of speeds after and before an impact. An object with a COR of 1 collides elastically, while an object with a COR < 1 collides inelastically. For a COR = 0, the object effectively "stops" at the surface with which it collides, not bouncing at all. COR = (relative speed after collision) / (relative speed before collision).
-
The bounceVelocity is the minimum incoming velocity necessary for bouncing. Incoming velocities below this will effectively have a bounce parameter of 0.
-
The forceDependentSlip field defines the force dependent slip (FDS) for friction, as explained in the ODE documentation: "FDS is an effect that causes the contacting surfaces to side past each other with a velocity that is proportional to the force that is being applied tangentially to that surface. Consider a contact point where the coefficient of friction mu is infinite. Normally, if a force f is applied to the two contacting surfaces, to try and get them to slide past each other, they will not move. However, if the FDS coefficient is set to a positive value k then the surfaces will slide past each other, building up to a steady velocity of k*f relative to each other. Note that this is quite different from normal frictional effects: the force does not cause a constant acceleration of the surfaces relative to each other - it causes a brief acceleration to achieve the steady velocity."