Rigidbody.angularVelocity
Declaration
public Vector3 angularVelocity;Описание
Вектор угловой скорости жесткого тела, измеренный в радианах в секунду.
В большинстве случаев не следует изменять его напрямую, так как это может привести к нереалистичному поведению. Обратите внимание, что если Rigidbody имеет установленные ограничения вращения, то соответствующие компоненты угловой скорости устанавливаются на нуль в массовом пространстве (т.е. относительно вращения тензора инерции) в момент вызова. Кроме того, установка угловой скорости кинематического жесткого тела не разрешена и не будет иметь никакого эффекта.
using UnityEngine; using UnityEngine.InputSystem;
// The angular velocity around the y-axis is 2 radians per second. // If the GameObject starts facing forward, it will complete about 1 full rotation every 3.14 seconds. public class ExampleClass : MonoBehaviour { public Rigidbody rb; public float spinSpeed = 2f;
void Start() { rb = GetComponent<Rigidbody>(); }
void Update() { if (Keyboard.current.spaceKey.wasPressedThisFrame) { // Start spinning around y-axis rb.angularVelocity = new Vector3(0, spinSpeed, 0); } } }