Transforms position
from world space to local space. The opposite of Transform.TransformPoint.
// Calculate the transform's position relative to the camera. var cam = Camera.main.transform; var cameraRelative = cam.InverseTransformPoint(transform.position); if (cameraRelative.z > 0) print ("The object is in front of the camera"); else print ("The object is behind the camera");
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Transform cam = Camera.main.transform; public Vector3 cameraRelative = cam.InverseTransformPoint(transform.position); void Example() { if (cameraRelative.z > 0) print("The object is in front of the camera"); else print("The object is behind the camera"); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public cam as Transform = Camera.main.transform public cameraRelative as Vector3 = cam.InverseTransformPoint(transform.position) def Example() as void: if cameraRelative.z > 0: print('The object is in front of the camera') else: print('The object is behind the camera')
Transforms the position x
, y
, z
from world space to local space. The opposite of Transform.TransformPoint.
// Calculate the world origin relative to this transform. relativePoint = transform.InverseTransformPoint(0, 0, 0); if (relativePoint.z > 0) print ("The world origin is in front of this object"); else print ("The world origin is behind of this object");
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { void Example() { relativePoint = transform.InverseTransformPoint(0, 0, 0); if (relativePoint.z > 0) print("The world origin is in front of this object"); else print("The world origin is behind of this object"); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): def Example() as void: relativePoint = transform.InverseTransformPoint(0, 0, 0) if relativePoint.z > 0: print('The world origin is in front of this object') else: print('The world origin is behind of this object')