Version: 2019.4
public Quaternion rotation ;

Description

A Quaternion that stores the rotation of the Transform in world space.

Transform.rotation stores a Quaternion. You can use rotation to rotate a GameObject or provide the current rotation. Do not attempt to edit/modify rotation. Transform.rotation is less than 180 degrees.

Transform.rotation has no gimbal lock.

To rotate a Transform, use Transform.Rotate, which uses Euler Angles.

If you want to match values you see in the Inspector, use the Quaternion.eulerAngles property on the returned Quaternion.

using UnityEngine;

// Transform.rotation example.

// Rotate a GameObject using a Quaternion. // Tilt the cube using the arrow keys. When the arrow keys are released // the cube will be rotated back to the center using Slerp.

public class ExampleScript : MonoBehaviour { float smooth = 5.0f; float tiltAngle = 60.0f;

void Update() { // Smoothly tilts a transform towards a target rotation. float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle; float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle;

// Rotate the cube by converting the angles into a quaternion. Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);

// Dampen towards the target rotation transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth); } }

In the above example, the rotation is described by a quaternion. For more advice, see Rotation and Orientation in Unity.