Rigidbody.MoveRotation
Declaration
public void MoveRotation(Quaternion rotation);Параметры
| Параметр | Описание |
|---|---|
| ротация | Новая ротация для Rigidbody. |
Описание
Вращает rigidbody в rotation.
Используйте Rigidbody.MoveRotation для вращения Rigidbody, соответствующего настройкам интерполяции Rigidbody.
Если интерполяция Rigidbody включена на Rigidbody, вызов Rigidbody.MoveRotation приведет к плавному переходу между двумя вращениями в любых промежуточных кадрах, которые будут отображены. Это должно использоваться, если вы хотите непрерывно вращать жесткое тело в каждом FixedUpdate.
Установите Rigidbody.rotation вместо этого, если вы хотите телепортировать жесткое тело от одного вращения к другому, без промежуточных позиций, которые будут отображены.
using UnityEngine;
public class Example : MonoBehaviour { Rigidbody m_Rigidbody; Vector3 m_EulerAngleVelocity;
void Start() { //Fetch the Rigidbody from the GameObject with this script attached m_Rigidbody = GetComponent<Rigidbody>();
//Set the angular velocity of the Rigidbody (rotating around the Y axis, 100 deg/sec) m_EulerAngleVelocity = new Vector3(0, 100, 0); }
void FixedUpdate() { Quaternion deltaRotation = Quaternion.Euler(m_EulerAngleVelocity * Time.fixedDeltaTime); m_Rigidbody.MoveRotation(m_Rigidbody.rotation * deltaRotation); } }