お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Closeビューポート座標を介して、カメラからレイを飛ばします。
結果として得られたレイはワールド空間でカメラの近平面から始まり positionの(x,y)はビューポート上のものと同じ座標値です。(position.zは無視されます) Viewport coordinates are normalized and relative to the camera. The bottom-left of the camera is (0,0); the top-right is (1,1).
// Prints the name of the object camera is directly looking at function Update () { // Get the ray going through the center of the screen var ray : Ray = camera.ViewportPointToRay (Vector3(0.5,0.5,0)); // Do a raycast var hit : RaycastHit; if (Physics.Raycast (ray, hit)) print ("I'm looking at " + hit.transform.name); else print ("I'm looking at nothing!"); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Update() { Ray ray = camera.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!"); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def Update() as void: ray as Ray = camera.ViewportPointToRay(Vector3(0.5F, 0.5F, 0)) hit as RaycastHit if Physics.Raycast(ray, ): print(('I\'m looking at ' + hit.transform.name)) else: print('I\'m looking at nothing!')