示例#1
0
 /// <summary>
 /// Blender used to combine materials into a pair's interaction properties.
 /// </summary>
 /// <param name="a">Material associated with the first object to blend.</param>
 /// <param name="b">Material associated with the second object to blend.</param>
 /// <param name="properties">Blended material values.</param>
 public static void DefaultMaterialBlender(PhysicsMaterial a, PhysicsMaterial b, out InteractionProperties properties)
 {
     properties = new InteractionProperties
     {
         Bounciness      = a.bounciness * b.bounciness,
         KineticFriction = a.kineticFriction * b.kineticFriction,
         StaticFriction  = a.staticFriction * b.staticFriction
     };
 }
示例#2
0
        ///<summary>
        /// Computes the interaction properties between two materials.
        ///</summary>
        ///<param name="materialA">First material of the pair.</param>
        ///<param name="materialB">Second material of the pair.</param>
        ///<param name="properties">Interaction properties between two materials.</param>
        public static void GetInteractionProperties(PhysicsMaterial materialA, PhysicsMaterial materialB, out InteractionProperties properties)
        {
            PhysicsMaterialBlender specialBlender;

            if (MaterialInteractions.TryGetValue(new PhysicsMaterialPair(materialA, materialB), out specialBlender))
            {
                specialBlender(materialA, materialB, out properties);
            }
            else
            {
                MaterialBlender(materialA, materialB, out properties);
            }
        }
 ///<summary>
 /// Constructs a new material pair.
 ///</summary>
 ///<param name="a">First material in the pair.</param>
 ///<param name="b">Second material in the pair.</param>
 public PhysicsMaterialPair(PhysicsMaterial a, PhysicsMaterial b)
 {
     MaterialA = a;
     MaterialB = b;
 }