lhs | Left-hand side quaternion. |
rhs | Right-hand side quaternion. |
Combines rotations lhs
and rhs
.
Rotating by the product lhs
* rhs
is the same as applying the two rotations in sequence: lhs
first and then rhs
, relative to the reference frame resulting from lhs
rotation. Note that this means rotations are not commutative, so lhs
* rhs
does not give the same rotation as rhs
* lhs
.
using UnityEngine; using System.Collections;
public class Example2 : MonoBehaviour { float rotateSpeed = 90;
// Applies a rotation of 90 degrees per second around the local Y axis void Update() { float angle = rotateSpeed * Time.deltaTime; transform.rotation *= Quaternion.AngleAxis(angle, Vector3.up); } }
rotation | Quaternion reprensenting rotation to apply. |
point | Vector3 to rotate. |
Transform the Vector3 point
using rotation
quaternion.
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); } } }