UnityEditor.VertexSnapping.ScreenToWorld C# (CSharp) Method

ScreenToWorld() private static method

private static ScreenToWorld ( Vector2 screen, Transform target ) : Vector3
screen Vector2
target UnityEngine.Transform
return Vector3
        private static Vector3 ScreenToWorld(Vector2 screen, Transform target)
        {
            Ray ray = HandleUtility.GUIPointToWorldRay(screen);
            float enter = 0f;
            new Plane(target.forward, target.position).Raycast(ray, out enter);
            return ray.GetPoint(enter);
        }

Usage Example

        private static Vector3 FindNearestPivot(Transform[] transforms, Vector2 screenPosition)
        {
            bool    flag    = false;
            Vector3 vector3 = Vector3.zero;

            foreach (Transform transform in transforms)
            {
                Vector3 world = VertexSnapping.ScreenToWorld(screenPosition, transform);
                if (!flag || (double)(vector3 - world).magnitude > (double)(transform.position - world).magnitude)
                {
                    vector3 = transform.position;
                    flag    = true;
                }
            }
            return(vector3);
        }
All Usage Examples Of UnityEditor.VertexSnapping::ScreenToWorld