スクリーンの点を通してカメラからカメラからレイを通します。
結果として得られたレイはワールド空間でカメラの近平面から始まり スクリーンの位置(x,y)ピクセル座標に向けて向かいます。(position.zは無視されます。) スクリーンスペースはピクセルで定義されています。左下の画面が(0,0)、右上が(pixelWidth,pixelHeight)です。
// Draws a line in the scene view going through a point 200 pixels // from the lower-left corner of the screen function Update () { var ray : Ray = camera.ScreenPointToRay (Vector3(200,200,0)); Debug.DrawRay (ray.origin, ray.direction * 10, Color.yellow); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Update() { Ray ray = camera.ScreenPointToRay(new Vector3(200, 200, 0)); Debug.DrawRay(ray.origin, ray.direction * 10, Color.yellow); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def Update() as void: ray as Ray = camera.ScreenPointToRay(Vector3(200, 200, 0)) Debug.DrawRay(ray.origin, (ray.direction * 10), Color.yellow)