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