Transform.InverseTransformDirection
InverseTransformDirection(direction: Vector3): Vector3;
Vector3 InverseTransformDirection(Vector3 direction);
def InverseTransformDirection(direction as Vector3) as Vector3
Description

Transforms a direction from world space to local space. The opposite of Transform.TransformDirection.

This operation is unaffected by scale.
	// transform the world forward into local space:
	private var relative : Vector3;
	relative = transform.InverseTransformDirection(Vector3.forward);
	Debug.Log(relative);
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    private Vector3 relative;
    void Example() {
        relative = transform.InverseTransformDirection(Vector3.forward);
        Debug.Log(relative);
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	private relative as Vector3

	def Example() as void:
		relative = transform.InverseTransformDirection(Vector3.forward)
		Debug.Log(relative)

InverseTransformDirection(x: float, y: float, z: float): Vector3;
Vector3 InverseTransformDirection(float x, float y, float z);
def InverseTransformDirection(x as float, y as float, z as float) as Vector3
Description

Transforms the direction x, y, z from world space to local space. The opposite of Transform.TransformDirection.

This operation is unaffected by scale.
	// transform the world forward into local space:
	private var relative : Vector3;
	relative = transform.InverseTransformDirection(0, 0, 1);
	Debug.Log(relative);
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    private Vector3 relative;
    void Example() {
        relative = transform.InverseTransformDirection(0, 0, 1);
        Debug.Log(relative);
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	private relative as Vector3

	def Example() as void:
		relative = transform.InverseTransformDirection(0, 0, 1)
		Debug.Log(relative)