C) RigidBody.AddForce

Aus hyperdramatik
Zur Navigation springen Zur Suche springen

C) RigidBody.AddForce

RigidBody: Adding a Rigidbody component to a GameObject will put its motion under the control of Unity's physics engine, which is a long list of physical properties such as acceleration, mass, gravity, inertia, etc, as well as the capacity to react to other rigid bodies (for instance, collide).

RigidBody.AddForce: Adds a force vector to the class Rigidbody. Force can be applied only to an active Rigidbody. If a GameObject is inactive, AddForce has no effect. Specifying the ForceMode mode allows the type of force to be changed to an Acceleration, Impulse or Velocity Change.

public class RigidBodyAddForce : MonoBehaviour
{
   public float forceMult = 200; //velocity float multiplier
   private Rigidbody rb; //declarate Class Rigidbody

   private void Awake()
   {
       rb = GetComponent<Rigidbody>();
   }

   private void Update()
   {
       rb.AddForce(transform.up * forceMult * Time.deltaTime);
   }
}
  • The effect of the float forceMult (multiplier) over the RigidBody’s velocity is acceleration, it´s adding force every frame. A divider would be deceleration (transform.up / forceDiv).
  • GameObject is activated in private void Awake();
  • transform.up is the unit vector defined by (0, 0, 1).