【Unity】rotation和Quaternion学习笔记

1.rotation 赋值

Quaternion可以为transform.rotation 赋值

2. 从正轴面向原点,顺时针旋转,角度正增加

正x轴面向原点,顺时针旋转,z正轴往下,rotation的x正增加。

3.rotation和Quaternion的关系

1.查询

2.实践

旋转属性和四元数的欧拉角数值几乎相同

四元数的xyzw数值区间在-1到1之间(为查证开闭区间)

4.使用方法

1.朝指定方向转向

2.方向转四元数

 


  0.一个指哪看哪的脚本

 

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

public class RotationStudy : MonoBehaviour
{
    public Quaternion quaternion;
    public Vector3 quaternion_eulerAngles;
    Ray ray;
    private void Start()
    {
    }
    private void Update()
    {
        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if(Physics.Raycast(ray,out hit))
        {
            quaternion = Quaternion.LookRotation(hit.point - transform.position);
            quaternion.eulerAngles = new Vector3(0, quaternion.eulerAngles.y,0);
            quaternion_eulerAngles = quaternion.eulerAngles;

            transform.rotation = quaternion;
            //transform.rotation = new Quaternion();
        }
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_56537692/article/details/132791999