四元数
四元数
用来旋转的
朝向
- Quaternion.LookRotation
public static Quaternion LookRotation (Vector3 forward, Vector3 upwards= Vector3.up);
参数 forward 要查看的方向。 upwards 定义向上方向的向量。 描述 使用指定的 forward 和 upwards 方向创建旋转。
Z 轴将与forward对齐,X 轴与 forward 和 upwards 之间的差积对齐,Y 轴与 Z 和 X 之间的差积对齐。 如果 forward 或 upwards 量值为零,则返回恒等。 \如果 forward 和 upwards 共线,则返回恒等。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public Transform target;
void Update()
{
Vector3 relativePos = target.position - transform.position;
relativePos.y = 0; // 不低头
Quaternion rotation = Quaternion.LookRotation(relativePos, Vector3.up);
transform.rotation = rotation;
}
}
插值旋转
- Quaternion.Slerp
- Quaternion.Lerp
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public Transform target;
void Update()
{
Vector3 relativePos = target.position - transform.position;
relativePos.y = 0; // 不低头
Quaternion rotation = Quaternion.LookRotation(relativePos, Vector3.up);
transform.rotation = Quaternion.Slerp(transform.rotation,rotation,Time.deltaTime);
// 还有一个 Quaternion.Lerp
}
}