Transform position
のスクリーン座標からワールド座標に変換します。
スクリーンスペースはピクセルで定義されます。画面の左下端は (0,0); 右上端は (pixelWidth -1,pixelHeight -1)。z 位置はカメラからのワールド単位です。
// Convert the 2D position of the mouse into a // 3D position. Display these on the game window.
using UnityEngine;
public class ExampleClass : MonoBehaviour { void OnGUI() { Vector3 p = new Vector3(); Camera c = Camera.main; Event e = Event.current; Vector2 mousePos = new Vector2();
// Get the mouse position from Event. // Note that the y position from Event is inverted. mousePos.x = e.mousePosition.x; mousePos.y = c.pixelHeight - e.mousePosition.y;
p = c.ScreenToWorldPoint(new Vector3(mousePos.x, mousePos.y, c.nearClipPlane));
GUILayout.BeginArea(new Rect(20, 20, 250, 120)); GUILayout.Label("Screen pixels: " + c.pixelWidth + ":" + c.pixelHeight); GUILayout.Label("Mouse position: " + mousePos); GUILayout.Label("World position: " + p.ToString("F3")); GUILayout.EndArea(); } }