From 0cbb2f0525e2eb6c0266327380419ef0d557206b Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 25 Mar 2026 17:39:03 +0100 Subject: [PATCH] Add smooth viewport orientation movement to Direction Gizmo #3857 --- Source/Editor/Gizmo/DirectionGizmo.cs | 3 +-- Source/Editor/Viewport/EditorViewport.cs | 4 ++-- Source/Editor/Viewport/MainEditorGizmoViewport.cs | 2 +- Source/Editor/Viewport/PrefabWindowViewport.cs | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Source/Editor/Gizmo/DirectionGizmo.cs b/Source/Editor/Gizmo/DirectionGizmo.cs index ce1ecee79..eb2e1777a 100644 --- a/Source/Editor/Gizmo/DirectionGizmo.cs +++ b/Source/Editor/Gizmo/DirectionGizmo.cs @@ -164,8 +164,7 @@ internal class DirectionGizmo : ContainerControl AxisDirection.NegZ => Quaternion.Euler(0, 180, 0), _ => Quaternion.Identity }; - - _viewport.ViewOrientation = orientation; + _viewport.OrientViewport(ref orientation); } /// diff --git a/Source/Editor/Viewport/EditorViewport.cs b/Source/Editor/Viewport/EditorViewport.cs index 2182c2f55..5f4c47447 100644 --- a/Source/Editor/Viewport/EditorViewport.cs +++ b/Source/Editor/Viewport/EditorViewport.cs @@ -1223,7 +1223,7 @@ namespace FlaxEditor.Viewport /// Orients the viewport. /// /// The orientation. - protected void OrientViewport(Quaternion orientation) + public void OrientViewport(Quaternion orientation) { OrientViewport(ref orientation); } @@ -1232,7 +1232,7 @@ namespace FlaxEditor.Viewport /// Orients the viewport. /// /// The orientation. - protected virtual void OrientViewport(ref Quaternion orientation) + public virtual void OrientViewport(ref Quaternion orientation) { if (ViewportCamera is FPSCamera fpsCamera) { diff --git a/Source/Editor/Viewport/MainEditorGizmoViewport.cs b/Source/Editor/Viewport/MainEditorGizmoViewport.cs index a76c8a16a..78e4f3eea 100644 --- a/Source/Editor/Viewport/MainEditorGizmoViewport.cs +++ b/Source/Editor/Viewport/MainEditorGizmoViewport.cs @@ -654,7 +654,7 @@ namespace FlaxEditor.Viewport } /// - protected override void OrientViewport(ref Quaternion orientation) + public override void OrientViewport(ref Quaternion orientation) { if (TransformGizmo.SelectedParents.Count != 0) FocusSelection(ref orientation); diff --git a/Source/Editor/Viewport/PrefabWindowViewport.cs b/Source/Editor/Viewport/PrefabWindowViewport.cs index a8bdc8f20..a599615de 100644 --- a/Source/Editor/Viewport/PrefabWindowViewport.cs +++ b/Source/Editor/Viewport/PrefabWindowViewport.cs @@ -681,7 +681,7 @@ namespace FlaxEditor.Viewport } /// - protected override void OrientViewport(ref Quaternion orientation) + public override void OrientViewport(ref Quaternion orientation) { if (TransformGizmo.SelectedParents.Count != 0) FocusSelection(ref orientation);