123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /**
- * Determines how values from the PhysicsMaterial are combined when
- * two objects are in contact. When each PhysicsMaterial specifies
- * a different combine mode for some property, the combine mode which
- * is used will be selected based on their order in this enum - i.e.
- * a value later in this list will be preferentially used.
- */
- export declare enum PhysicsMaterialCombineMode {
- /**
- * The final value will be the geometric mean of the two values:
- * sqrt( valueA * valueB )
- */
- GEOMETRIC_MEAN = 0,
- /**
- * The final value will be the smaller of the two:
- * min( valueA , valueB )
- */
- MINIMUM = 1,
- MAXIMUM = 2,
- ARITHMETIC_MEAN = 3,
- /**
- * The final value will be the product of the two values:
- * valueA * valueB
- */
- MULTIPLY = 4
- }
- /**
- * Physics material class
- * Helps setting friction and restitution that are used to compute responding forces in collision response
- */
- export interface PhysicsMaterial {
- /**
- * Sets the friction used by this material
- *
- * The friction determines how much an object will slow down when it is in contact with another object.
- * This is important for simulating realistic physics, such as when an object slides across a surface.
- *
- * If not provided, a default value of 0.5 will be used.
- */
- friction?: number;
- /**
- * Sets the static friction used by this material.
- *
- * Static friction is the friction that must be overcome before a pair of objects can start sliding
- * relative to each other; for physically-realistic behaviour, it should be at least as high as the
- * normal friction value. If not provided, the friction value will be used
- */
- staticFriction?: number;
- /**
- * Sets the restitution of the physics material.
- *
- * The restitution is a factor which describes, the amount of energy that is retained after a collision,
- * which should be a number between 0 and 1..
- *
- * A restitution of 0 means that no energy is retained and the objects will not bounce off each other,
- * while a restitution of 1 means that all energy is retained and the objects will bounce.
- *
- * Note, though, due that due to the simulation implementation, an object with a restitution of 1 may
- * still lose energy over time.
- *
- * If not provided, a default value of 0 will be used.
- */
- restitution?: number;
- /**
- * Describes how two different friction values should be combined. See PhysicsMaterialCombineMode for
- * more details.
- *
- * If not provided, will use PhysicsMaterialCombineMode.MINIMUM
- */
- frictionCombine?: PhysicsMaterialCombineMode;
- /**
- * Describes how two different restitution values should be combined. See PhysicsMaterialCombineMode for
- * more details.
- *
- * If not provided, will use PhysicsMaterialCombineMode.MAXIMUM
- */
- restitutionCombine?: PhysicsMaterialCombineMode;
- }
|