内容纲要

Quaterion 四元数链

identity返回单位四元数,不会对向量进行旋转,这是静态方法
两个 Quaterion四元数相乘,返回给rotation的是角度和,与向量旋转连乘,计算向量旋转后的角度
eulerArgles 返回单位向量(修改也要用它),根据set访问器重新计算欧拉角。
LookRotation指定一个前向量和上向量来构造一个四元数,用这两个向量来算right向量,内部会有一个叉乘运算,(lookat只能指定z轴朝向的Transform)
angle;取得两个物体四元数之间的夹角
Euler(欧拉);需要三个参数,指定每个轴的旋转角度
Slerp(插值);在两个旋转角度进行插值
lerp,比Slerp效率要高,但是效果不好
摄像机虚拟球
FormToRotation;计算两个向量的夹角返回rotation

做一个小实验,实现物体的缓慢转向

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LookLookP : MonoBehaviour
{
    public Transform GameObjectTransforms;
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        //Vector3 vector3= GameObjectTransforms.position;
        Quaternion Quaternions = Quaternion.Euler(0,90,0);//物体轴转向;
        transform.rotation=Quaternion.Slerp(this.transform.rotation,Quaternions,0.2f*Time.deltaTime);
        // Vector3.Slerp();
        //transform.rotation = Quaternions;

    }
}

发表评论