torque | Torque vector in world coordinates. |
mode | The type of torque to apply. |
Adds a torque to the rigidbody.
Force can be applied only to an active rigidbody. If a GameObject is inactive, AddTorque has no effect.
The effects of the torques applied with this function are accumulated at the time of the call. The physics system applies the effects during the next simulation run (either after FixedUpdate, or when the script explicitly calls the Physics.Simulate method).
Because this function has different modes, the physics system only accumulates the resulting angular velocity change, not the passed torque values. Assuming deltaTime (DT) is equal to the simulation step length (Time.fixedDeltaTime), and mass is equal to the mass of the Rigidbody the torque is being applied to, here is how the angular velocity change is calculated for all the modes:
Wakes up the Rigidbody by default. If the torque size is zero then the Rigidbody will not be woken up.
Additional resources: AddRelativeTorque, AddForce.
// Rotate an object around its Y (upward) axis in response to // left/right controls. using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public float torque; public Rigidbody rb;
void Start() { rb = GetComponent<Rigidbody>(); }
void FixedUpdate() { float turn = Input.GetAxis("Horizontal"); rb.AddTorque(transform.up * torque * turn); } }
x | Size of torque along the world x-axis. |
y | Size of torque along the world y-axis. |
z | Size of torque along the world z-axis. |
mode | The type of torque to apply. |
Adds a torque to the rigidbody.
Force can be applied only to an active rigidbody. If a GameObject is inactive, AddTorque has no effect.
Wakes up the Rigidbody by default. If the torque size is zero then the Rigidbody will not be woken up.