Select your preferred scripting language. All code snippets will be displayed in this language.
Matrix that transforms from camera space to world space (Read Only).
Use this to calculate where in the world a specific camera space point is.
Note that camera space matches OpenGL convention: camera's forward is the negative Z axis. This is different from Unity's convention, where forward is the positive Z axis.
// Draw a yellow sphere in scene view at distance/
// units along camera's viewing direction.
var distance : float = -1.0;
function OnDrawGizmosSelected () {
var m : Matrix4x4 = camera.cameraToWorldMatrix;
var p : Vector3 = m.MultiplyPoint (Vector3(0,0,distance));
Gizmos.color = Color.yellow;
Gizmos.DrawSphere (p, 0.2);
}
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float distance = -1.0F; void OnDrawGizmosSelected() { Matrix4x4 m = camera.cameraToWorldMatrix; Vector3 p = m.MultiplyPoint(new Vector3(0, 0, distance)); Gizmos.color = Color.yellow; Gizmos.DrawSphere(p, 0.2F); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public distance as float = (-1.0F) def OnDrawGizmosSelected() as void: m as Matrix4x4 = camera.cameraToWorldMatrix p as Vector3 = m.MultiplyPoint(Vector3(0, 0, distance)) Gizmos.color = Color.yellow Gizmos.DrawSphere(p, 0.2F)