rot | Rigidbody の角度 |
Rigidbody オブジェクトを指定する角度へ回転します
Rigidbody の interpolation (補間)設定にしたがって、Rigidbody を回転するために Rigidbody.MoveRotation を使用します。
Rigidbody で Rigidbody interpolation(補間)を有効にした場合、Rigidbody.MoveRotation を呼び出すと、レンダリングされる中間フレームで2つの位置の間のスムーズな遷移となります。これは、各 FixedUpdate で継続的に rigidbody を回転したい場合、使用される必要があります。
中間位置がレンダリングされないで、リジッドボディをある回転から他の回転にテレポートしたい場合、代わりに Rigidbody.rotation を設定します。
var eulerAngleVelocity : Vector3; var rb: Rigidbody;
function Start() { rb = GetComponent.<Rigidbody>(); }
function FixedUpdate () { var deltaRotation : Quaternion = Quaternion.Euler(eulerAngleVelocity * Time.deltaTime); rb.MoveRotation(rb.rotation * deltaRotation); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Vector3 eulerAngleVelocity; public Rigidbody rb; void Start() { rb = GetComponent<Rigidbody>(); } void FixedUpdate() { Quaternion deltaRotation = Quaternion.Euler(eulerAngleVelocity * Time.deltaTime); rb.MoveRotation(rb.rotation * deltaRotation); } }
isKinematic
を false に設定すると、スムーズな推移というよりはむしろオブジェクトはテレポートされます。