ドキュメント

Unity Engine

Unity Engine

ViewportPointToRay

Returns a ray going from camera through a viewport point.
読み終わるまでの所要時間 2 分最終更新 1ヶ月前

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

ViewportPointToRay(Vector3, MonoOrStereoscopicEye)

Returns a ray going from camera through a viewport point.
public Ray ViewportPointToRay(Vector3 pos, Camera.MonoOrStereoscopicEye eye)

Parameters


Optional argument that can be used to specify which eye transform to use. Default is Mono.

Returns

Type

Description

Ray

Remarks

Resulting ray is in world space, starting on the near plane of the camera and going through position's (x,y) coordinates on the viewport (position.z is ignored).
Viewport coordinates are normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1).

Examples

// Prints the name of the object camera is directly looking atusing 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!"); }}

ViewportPointToRay(Vector3)

Returns a ray going from camera through a viewport point.
public Ray ViewportPointToRay(Vector3 pos)

Parameters

Returns

Type

Description

Ray

Remarks

Resulting ray is in world space, starting on the near plane of the camera and going through position's (x,y) coordinates on the viewport (position.z is ignored).
Viewport coordinates are normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1).

Examples

// Prints the name of the object camera is directly looking atusing 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!"); }}