InverseTransformDirection
Transforms the direction x, y, z from world space to local space. The opposite of TransformHandle.TransformDirection.
Read time 2 minutesLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
InverseTransformDirection(float, float, float)
Transforms the direction , , from world space to local space. The opposite of TransformHandle.TransformDirection.
xyzpublic Vector3 InverseTransformDirection(float x, float y, float z)
Parameters
Returns
Type | Description |
|---|---|
| Vector3 |
Remarks
This operation is not affected by scale or position of the transform. The transformed vector has the same length as the original.
If you need the inverse operation to transform from local space to world space you can use TransformHandle.TransformDirection
You should use TransformHandle.InverseTransformPoint if the vector represents a position in space rather than a direction.
If you need to transform many directions at once consider using TransformHandle.InverseTransformDirections instead as it is much faster than repeatedly calling this function.
using UnityEngine;public class Example : MonoBehaviour{ void Start() { // transform the world forward into local space: Vector3 relative; relative = transformHandle.InverseTransformDirection(Vector3.forward); Debug.Log(relative); }}
Additional Resources:TransformHandle.TransformDirection, TransformHandle.InverseTransformDirections, TransformHandle.InverseTransformPoint, TransformHandle.InverseTransformVector.
InverseTransformDirection(Vector3)
Transforms a from world space to local space. The opposite of TransformHandle.TransformDirection.
directionpublic Vector3 InverseTransformDirection(Vector3 direction)
Parameters
Returns
Type | Description |
|---|---|
| Vector3 |
Remarks
This operation is not affected by scale or position of the transform. The transformed vector has the same length as the original.
If you need the inverse operation to transform from local space to world space you can use TransformHandle.TransformDirection
You should use TransformHandle.InverseTransformPoint if the vector represents a position in space rather than a direction.
If you need to transform many directions at once consider using TransformHandle.InverseTransformDirections instead as it is much faster than repeatedly calling this function.
using UnityEngine;public class Example : MonoBehaviour{ void Start() { // transform the world forward into local space: Vector3 relative; relative = transformHandle.InverseTransformDirection(Vector3.forward); Debug.Log(relative); }}