Manual     Reference     Scripting  
  
Scripting > Runtime Classes > Quaternion   
  • Menu
  • Overview
  • Runtime Classes
  • Attributes
  • Enumerations
  • Editor Classes
  • Enumerations
  • History
  • Index
  • Quaternion
  • All Members
  • Variables
  • eulerAngles
  • this [int index]
  • w
  • x
  • y
  • z
  • Constructors
  • Quaternion
  • Functions
  • SetFromToRotation
  • SetLookRotation
  • ToAngleAxis
  • ToString
  • Class Variables
  • identity
  • Class Functions
  • Angle
  • AngleAxis
  • Dot
  • Euler
  • FromToRotation
  • Inverse
  • Lerp
  • LookRotation
  • operator !=
  • operator *
  • operator ==
  • RotateTowards
  • Slerp

Quaternion.operator *  

static operator * (lhs : Quaternion, rhs : Quaternion) : Quaternion

Description

Combines rotations lhs and rhs.

Rotating a point first with lhs and then with rhs is the same as rotating the point by the combined rotation. Note that rotations are not commutative: lhs * rhs does not equal to rhs * lhs.

JavaScripts
// Applies the rotation of
// extraRotation to the current rotation

var extraRotation : Transform;
transform.rotation *= extraRotation.rotation;

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Transform extraRotation;
void Awake() {
transform.rotation *= extraRotation.rotation;
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public extraRotation as Transform

def Awake():
transform.rotation *= extraRotation.rotation

static operator * (rotation : Quaternion, point : Vector3) : Vector3

Description

Rotates the point point with rotation.

JavaScripts
// Moves the object along relativeDirection
// Usually you would use transform.Translate for this

var relativeDirection = Vector3.forward;

function Update () {
var absoluteDirection = transform.rotation * relativeDirection;
transform.position += absoluteDirection * Time.deltaTime;
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Vector3 relativeDirection = Vector3.forward;
void Update() {
Vector3 absoluteDirection = transform.rotation * relativeDirection;
transform.position += absoluteDirection * Time.deltaTime;
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public relativeDirection as Vector3 = Vector3.forward

def Update():
absoluteDirection as Vector3 = (transform.rotation * relativeDirection)
transform.position += (absoluteDirection * Time.deltaTime)