pos | A 3D point, with the x and y coordinates containing a 2D screenspace point in pixels. The lower left pixel of the screen is (0,0). The upper right pixel of the screen is (screen width in pixels - 1, screen height in pixels - 1). Unity ignores the z coordinate. |
eye | 可选参数,可用于指定要使用的眼睛变换。默认值为 Mono。 |
返回从摄像机通过屏幕点的光线。
产生的光线位于世界空间中,从摄像机的近平面开始,并通过屏幕上
位置的 (x,y) 像素坐标(忽略 position.z)。
屏幕空间以像素定义。屏幕的左下角为 (0,0),右上角为 (pixelWidth -1,pixelHeight -1)。
//Attach this script to your Camera //This draws a line in the Scene view going through a point 200 pixels from the lower-left corner of the screen //To see this, enter Play Mode and switch to the Scene tab. Zoom into your Camera's position. using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { Camera cam; Vector3 pos = new Vector3(200, 200, 0);
void Start() { cam = GetComponent<Camera>(); }
void Update() { Ray ray = cam.ScreenPointToRay(pos); Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow); } }