【Unity】вращение и примечания к исследованию кватерниона

1. назначение ротации

Quaternion может присвоить значение Transform.rotation.

2. От положительной оси к началу координат вращайте по часовой стрелке, угол увеличивается.

Положительная ось X обращена к началу координат и вращается по часовой стрелке. Положительная ось Z направлена ​​вниз, а угол поворота x увеличивается.

3. Связь между вращением и кватернионом.

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

}

 

Guess you like

Origin blog.csdn.net/weixin_56537692/article/details/132791999