Описание
W компонент кватерниона. Не изменяйте кватернионы напрямую.
Кватернион может представлять трехмерное вращение и определяется четырьмя действительными числами. x, y и z представляют вектор . w — это скаляр, в котором хранится поворот вокруг вектора. Более подробную информацию о кватернионах можно найти по адресу https://scriptinghelpers.org/blog/how. -думать-о-кватернионах.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// Пример скрипта Quaternion-w
// Создайте сферу и примените текстуру, чтобы помочь распознать ориентацию.
// Каждую секунду сфера вращается и отображается кватернион.
public class ExampleClass : MonoBehaviour
{
private float timeDelay = 0.0f;
private Quaternion q;
private string label = "";
void Awake()
{
// Добавляем линию, проходящую через ось Y сферы и делаем
// строка как дочерняя.
GameObject line = GameObject.CreatePrimitive(PrimitiveType.Cube);
line.transform.localScale = new Vector3(0.05f, 1.5f, 0.05f);
line.transform.parent = gameObject.transform;
}
void Update()
{
if (timeDelay > 1.0f)
{
Vector3 v;
// generate a random euler angle
v.x = Random.Range(0.0f, 360.0f);
v.y = Random.Range(0.0f, 360.0f);
v.z = Random.Range(0.0f, 360.0f);
// convert the euler into a quaternion
q = Quaternion.Euler(v);
// and apply it to the sphere
transform.rotation = q;
// generate a string
label = q.ToString("f3");
// and start another 1 second delay
timeDelay = 0.0f;
}
timeDelay += Time.deltaTime;
}
// отображать кватернион в виде строки
void OnGUI()
{
GUI.skin.label.fixedHeight = 40;
GUI.skin.label.fontSize = 24;
GUI.Label(new Rect(10, 10, 400, 30), label);
}
}