|
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.
// 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
class example(MonoBehaviour):
public extraRotation as Transform
def Example():
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
class example(MonoBehaviour):
public relativeDirection as Vector3 = Vector3.forward
def Update():
absoluteDirection as Vector3 = (transform.rotation * relativeDirection)
transform.position += (absoluteDirection * Time.deltaTime)