Convert a point from screen space to GUI position.
Used for reconverting values calculated from GUIToScreenPoint
Note: In Unity the screen space y coordinate varies from zero at the top edge of the window to a maximum at the bottom edge of the window. This is different from what you might expect.See Also: GUIUtility.GUIToScreenPoint.// Check the difference between the mouse position (Screen) and // the converted GUI positions because of the group. function OnGUI () { var screenPos : Vector2 = Event.current.mousePosition; GUI.BeginGroup (Rect (10,10,100,100)); var convertedGUIPos : Vector2 = GUIUtility.ScreenToGUIPoint(screenPos); GUI.EndGroup (); Debug.Log("Screen: " + screenPos + " GUI: " + convertedGUIPos); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void OnGUI() { Vector2 screenPos = Event.current.mousePosition; GUI.BeginGroup(new Rect(10, 10, 100, 100)); Vector2 convertedGUIPos = GUIUtility.ScreenToGUIPoint(screenPos); GUI.EndGroup(); Debug.Log("Screen: " + screenPos + " GUI: " + convertedGUIPos); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def OnGUI() as void: screenPos as Vector2 = Event.current.mousePosition GUI.BeginGroup(Rect(10, 10, 100, 100)) convertedGUIPos as Vector2 = GUIUtility.ScreenToGUIPoint(screenPos) GUI.EndGroup() Debug.Log(((('Screen: ' + screenPos) + ' GUI: ') + convertedGUIPos))