Returns a ray going from camera through a viewport point.
Resulting ray is in world space, starting on the near plane of the camera and going through
position's (x,y) coordinates on the viewport (position.z is ignored).
Viewport coordinates are normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1).
#pragma strict // Prints the name of the object camera is directly looking at var cam: Camera; function Start() { cam = GetComponent.<Camera>(); } function Update() { var ray: Ray = cam.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0)); var hit: RaycastHit; if (Physics.Raycast(ray, hit)) print("I'm looking at " + hit.transform.name); else print("I'm looking at nothing!"); }
// Prints the name of the object camera is directly looking at using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { Camera cam;
void Start() { cam = GetComponent<Camera>(); }
void Update() { Ray ray = cam.ViewportPointToRay(new Vector3(0.5F, 0.5F, 0)); RaycastHit hit; if (Physics.Raycast(ray, out hit)) print("I'm looking at " + hit.transform.name); else print("I'm looking at nothing!"); } }