Editing Contact Material Properties

You can change the values for a material as well as change the values for any contact material in the materials table.

For example, you may want to increase the Restitution only on the Wheel+Wheel contact material.

  1. From the Materials Table panel, do one of the following:

    • Click on a single material (for example, Mud) to edit the material properties.
    • Click on a specific contact material (for example, Mud+Wheel) to edit the contact material properties. These intersections choose the most compliant value from either of the two materials' properties.
    • Select an entire row or column to edit a group of contact materials.

    The selected material is highlighted and the associated properties appear in the Properties panel.

  2. In the Properties panel, edit the properties (see below).

  3. To save these values, click the Save icon at the top left of the Materials Table panel and overwrite the .vxmaterials file.

Contact Reference Frame System

To understand the meaning of the different parameters in a contact material's properties, it is necessary to look at the reference frame that is part of a contact.

A contact is threaded in the same way as usual constraints, but with two differences:

  • Constraint’s coordinate system (the so-called Attachment) is defined by the detection of collision.
  • Properties are taken from the material table.

The coordinate system of a contact is a right-handed reference frame located at the position of contact.

The normal N is defined by the collision detection and is along the perpendicular of the separation plane between the two colliding geometries. P lies in the plane of separation, so it is perpendicular to N. Finally, s is defined by the cross product N x p. In the plane of friction, the direction of p is arbitrary. This reference frame is defined in world space.

The Properties panel of a material is divided into six categories (see the figure above):

  • The first category begins with the name of the contact material following by some individual properties. Each property is used to define the reaction force in the normal direction N.
  • The following two categories are used to define the frictional force in the plane of contact (i.e., along p and s).
  • Finally, the remaining three categories are used to define the frictional torque about each individual axis in the reference frame above (i.e., around p, s and N.

The individual properties are described below.

In the Properties panel, configure the following fields:

  • Restitution: Specifies the coefficient of restitution, which is a measure of how much energy remains in an object after a bounce. A value of 0.000 is considered purely plastic (objects do not move apart after collision), while a value of 1.000 is purely elastic (objects bounce away after a collision with the same speed at which they collided). A value of 0.500 means that an object bounces half as much as its previous bounce. An object stops bouncing once the relative speed is below the restitution threshold.
  • Restitution Threshold: The speed at the contact point (along the normal direction) below which an object stops bouncing (in m/s).
  • Stiffness: Value that controls how much the contact compresses the object (in N/m).
  • Compliance: The reciprocal of Stiffness (in m/N).
  • Damping: Value at the contact point to get the system to reach equilibrium (in kg/s). As a rule of thumb, Damping should be ten times Stiffness.
  • Adhesive Force: The external force applied in the normal direction needed to separate two object at the contact point (in N).
  • Lock: Once a field in the Properties panel is altered, this box is checked to indicate that it has customized material properties. Unchecking this box reverts the properties to their default values.
  • Slip Displacement: Check this box to activate the contact matching feature. This is required to properly model static friction.
  • Linear Primary Axis, Linear Secondary Axis, Angular Primary Axis, Angular Secondary Axis, Angular Normal Axis
    • Friction Model: Selects the desired friction model for the axis. Some models may ignore some of the following fields. The models are:
      • Box: Contact friction force is limited by using the Friction Force parameter.
      • ScaledBox: Contact friction force is limited by using Coulomb's law.
      • BoxProportionalLow: Same as Box but internally will scale the Friction Force in order to limit the acceleration to the object that has the small mass.
      • BoxProportionalHigh: Same as Box but internally will scale the Friction Force in order to limit the acceleration to the object that has the higher mass.
      • ScaledBoxFast: Same as ScaledBox but trades accuracy for speed.
      • Neutral: Flag used during the auto-combination of two VxMaterials into a VxContactMaterial. If one VxMaterial is set to Neutral, the model of the other one is used (or None, if both are Neutral).
      • None: Friction is disabled for this axis.
    • Friction Coefficient: Sets the coefficient of friction. This value is only used when Friction Model is set to ScaledBox or ScaledBoxFast.
    • Friction Force: Sets the force of the friction. This value is only used when Friction Model is set to Box, BoxProportionalLow or BoxProportionalHigh.
    • Static Friction Scale: When the contact is at rest, the static friction is at work. In such situations, the limit in the contact friction force is scaled by this multiplication factor. The value of this field should not be less than 1.000. To be considered "at rest", the speed in the contact plane must be smaller or equal to the threshold speed of the AutoSleep feature.
    • Slip: When greater than 0.000, this value adds viscosity (in s/kg). If set to 0.000, the friction is dry.
    • Slide: Enforces a speed (in m/s) at the contact point, working against an object stopping.