Combines rotations lhs
and rhs
.
lhs
* rhs
is the same as applying the two rotations in sequence,
lhs
first and then rhs
. Note that this means rotations are not commutative, so
lhs * rhs does not give the same rotation as rhs * lhs. // 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 Example() { transform.rotation *= extraRotation.rotation; } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public extraRotation as Transform def Example() as void: transform.rotation *= extraRotation.rotation
Rotates the point point
with rotation
.
// 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 public class Example(MonoBehaviour): public relativeDirection as Vector3 = Vector3.forward def Update() as void: absoluteDirection as Vector3 = (transform.rotation * relativeDirection) transform.position += (absoluteDirection * Time.deltaTime)