Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

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); } }