UnityEditor.RectHandles.WorldToScreenSpaceDir C# (CSharp) Method

WorldToScreenSpaceDir() private static method

private static WorldToScreenSpaceDir ( Vector3 worldPos, Vector3 worldDir ) : Vector2
worldPos Vector3
worldDir Vector3
return Vector2
        private static Vector2 WorldToScreenSpaceDir(Vector3 worldPos, Vector3 worldDir)
        {
            Vector3 vector = (Vector3) HandleUtility.WorldToGUIPoint(worldPos);
            Vector2 vector3 = HandleUtility.WorldToGUIPoint(worldPos + worldDir) - vector;
            vector3.y *= -1f;
            return vector3;
        }

Usage Example

示例#1
0
        private static void HandleDirectionalCursor(Vector3 handlePosition, Vector3 handlePlaneNormal, Vector3 direction)
        {
            Vector2 mousePosition = Event.current.mousePosition;
            Plane   plane         = new Plane(handlePlaneNormal, handlePosition);
            Vector3 worldPos;

            if (RectHandles.RaycastGUIPointToWorldHit(mousePosition, plane, out worldPos))
            {
                Vector2 direction2 = RectHandles.WorldToScreenSpaceDir(worldPos, direction);
                Rect    position   = new Rect(mousePosition.x - 100f, mousePosition.y - 100f, 200f, 200f);
                EditorGUIUtility.AddCursorRect(position, RectHandles.GetScaleCursor(direction2));
            }
        }
All Usage Examples Of UnityEditor.RectHandles::WorldToScreenSpaceDir