Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


InverseTransformDirection

Transforms a direction from world space to local space. The opposite of Transform.TransformDirection.
Read time 2 minutesLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

InverseTransformDirection(Vector3)

Transforms a
direction
from world space to local space. The opposite of Transform.TransformDirection.
public Vector3 InverseTransformDirection(Vector3 direction)

Parameters

direction

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 Transform.TransformDirection
You should use Transform.InverseTransformPoint if the vector represents a position in space rather than a direction.
If you need to transform many directions at once consider using Transform.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 = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); }}

InverseTransformDirection(float, float, float)

Transforms the direction
x
,
y
,
z
from world space to local space. The opposite of Transform.TransformDirection.
public 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 Transform.TransformDirection
You should use Transform.InverseTransformPoint if the vector represents a position in space rather than a direction.
If you need to transform many directions at once consider using Transform.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 = transform.InverseTransformDirection(Vector3.forward); Debug.Log(relative); }}