Camera.ScreenPointToRay
Declaration
public Ray ScreenPointToRay(Vector3 pos);public Ray ScreenPointToRay(Vector3 pos, Camera.MonoOrStereoscopicEye eye);Параметры
| Параметр | Описание |
|---|---|
| пост | Точка 3D, координаты x и y которой содержат точку пространства экрана 2D в пикселях. Нижний левый пиксель экрана (0,0). Верхний правый пиксель экрана (ширина экрана в пикселях — 1, высота экрана в пикселях — 1). Unity игнорирует координату z. |
| глаз | Необязательный аргумент, который может быть использован для указания, какое преобразование глаза использовать. По умолчанию Mono. |
Описание
Возвращает луч, проходящий от камеры через точку экрана.
Полученный луч находится в мировом пространстве, начиная с близкой плоскости камеры и проходя через координаты пикселей позиции (x,y) на экране.
//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); } }