Quaternion として保存されるワールド空間での Transform の回転
Unity は内部的に Quaternions として回転を保存します。オブジェクトを回転させるには Transform.Rotate を使用します。 オイラー角のような回転値を設定したい場合は Transform.eulerAngles を設定してください。
// Reset the world rotation transform.rotation = Quaternion.identity;
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Example() { transform.rotation = Quaternion.identity; } }
他の例
// Smoothly tilts a transform towards a target rotation. var smooth = 2.0; var tiltAngle = 30.0; function Update () { var tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle; var tiltAroundX = Input.GetAxis("Vertical") * tiltAngle; var target = Quaternion.Euler (tiltAroundX, 0, tiltAroundZ); // Dampen towards the target rotation transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public float smooth = 2.0F; public float tiltAngle = 30.0F; void Update() { float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle; float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle; Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ); transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth); } }