Version: 2020.3
言語: 日本語
public static Quaternion operator * (Quaternion lhs, Quaternion rhs);

パラメーター

lhs 左側のクォータニオン
rhs 右側のクォータニオン

説明

lhsrhs の回転を組合わせます。

lhs * rhs の積の値で回転させることは、lhs を最初に、それから rhs というように 2 つの回転を順番に行うことと同じです。つまり、回転は、非可換性で、lhs * rhsrhs * lhs と異なる回転を表すということに気を付けてください。

using UnityEngine;
using System.Collections;

public class Example2 : MonoBehaviour { float rotateSpeed = 90;

// Applies a rotation of 90 degrees per second around the Y axis void Update() { float angle = rotateSpeed * Time.deltaTime; transform.rotation *= Quaternion.AngleAxis(angle, Vector3.up); } }

public static Vector3 operator * (Quaternion rotation, Vector3 point);

説明

point の点に rotation の回転をさせます。

using UnityEngine;
using System.Collections;

public class Example2 : MonoBehaviour { private void Start() { //Creates an array of three points forming a triangle Vector3[] points = new Vector3[] { new Vector3(-1, -1, 0), new Vector3(1, -1, 0), new Vector3(0, 1, 0) };

//Creates a Quaternion rotation of 5 degrees around the Z axis Quaternion rotation = Quaternion.AngleAxis(5, Vector3.forward);

//Loop through the array of Vector3s and apply the rotation for (int n = 0; n < points.Length; n++) { Vector3 rotatedPoint = rotation * points[n]; //Output the new rotation values Debug.Log("Point " + n + " rotated: " + rotatedPoint); } } }