Exemplo n.º 1
0
 // Update is called once per frame
 void Update()
 {
     applyTorque();
     if (forcetype == forcegen.Gravity)
     {
         AddForce(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up));
     }
     if (forcetype == forcegen.Normal)
     {
         AddForce(ForceGen.GenerateForce_Normal(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), surfaceNormalUnit));
     }
     if (forcetype == forcegen.Sliding)
     {
         AddForce(ForceGen.GenerateForce_Sliding(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), ForceGen.GenerateForce_Normal(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), surfaceNormalUnit)));
     }
     if (forcetype == forcegen.Friction_Static)
     {
         AddForce(ForceGen.GenerateForce_Friction_Static(ForceGen.GenerateForce_Normal(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), surfaceNormalUnit), f_opposing, frictionCoefficientStatic));
     }
     if (forcetype == forcegen.Friction_Kinetic)
     {
         AddForce(ForceGen.GenerateForce_Friction_Kinetic(Vector3.up, velocity * 2, 3.0f));
     }
     if (forcetype == forcegen.Drag)
     {
         //AddForce(ForceGen.GenerateForce_Sliding(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), ForceGen.GenerateForce_Normal(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), surfaceNormalUnit)));
         AddForce(ForceGen.GenerateForce_Drag(velocity, velocity.magnitude));
     }
     if (forcetype == forcegen.Spring)
     {
         //AddForce(ForceGenerator.GenerateForce_Spring(position, anchorPosition, springRestingLength,springStiffnessCoefficient));
         AddForce(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up));
         AddForce(ForceGen.GenerateForce_Spring(position, -position, springRestingLength, springStiffnessCoefficient));
     }
     if (forcetype == forcegen.None)
     {
     }
     if (forcetype == forcegen.Ball)
     {
         AddForce(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up));
         AddForce(ForceGen.GenerateForce_Friction_Static(ForceGen.GenerateForce_Normal(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up), surfaceNormalUnit), f_opposing, frictionCoefficientStatic));
     }
 }
Exemplo n.º 2
0
 public void GenerateGravity()
 {
     AddForce(ForceGen.GenerateForce_Gravity(Mass, kGravity, Vector2.up));
 }