Объявление
public Ray ScreenPointToRay(Vector3 pos);public Ray ScreenPointToRay(Vector3 pos, Camera.MonoOrStereoscopicEye eye);
Параметры
eye | Необязательный аргумент, который можно использовать для указания используемого преобразования глаза. По умолчанию моно. |
Описание
Возвращает луч, идущий от камеры через точку экрана.
Результирующий луч находится в мировом пространстве, начиная с ближней плоскости камеры и проходя координаты позиции (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);
}
}