Version: 2021.3
public Quaternion rotation ;

描述

一个 Quaternion,用于存储变换在世界空间中的旋转。

Transform.rotation 存储 Quaternion。可以使用 rotation 来旋转 GameObject 或提供当前旋转。请勿尝试编辑/修改 rotationTransform.rotation 小于 180 度。

Transform.rotation 没有万向锁。

要旋转 Transform,请使用 Transform.Rotate,它将使用欧拉角。

如果要匹配在检视面板中看到的值,请对返回的 Quaternion 使用 Quaternion.eulerAngles 属性。

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); } }

在以上示例中,rotation 由四元数进行描述。有关更多建议,请参阅 Unity 中的旋转和方向

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961