diff --git a/Source/Editor/Viewport/EditorViewport.cs b/Source/Editor/Viewport/EditorViewport.cs index 1de876f7e..b94d767f5 100644 --- a/Source/Editor/Viewport/EditorViewport.cs +++ b/Source/Editor/Viewport/EditorViewport.cs @@ -541,16 +541,16 @@ namespace FlaxEditor.Viewport ViewWidgetButtonMenu.Hide(); if (_isOrtho) { + var orient = ViewOrientation; if (!Editor.Instance.SceneEditing.HasSthSelected) { - var invdir = ViewDirection; - invdir.Negate(); - var target = new Vector3(0.0f) + 2000.0f * invdir; - OrthographicScale = Vector3.Distance(target, new Vector3(0.0f)) / 1000; - ((FPSCamera)ViewportCamera).MoveViewport(target, Quaternion.LookRotation(ViewDirection)); + var invdir = ViewOrientation; + invdir.Invert(); + ViewPosition = new Vector3(0.0f) + Vector3.Forward * orient * 1000.0f; + ((FPSCamera)ViewportCamera).MoveViewport(ViewPosition, ViewOrientation); } else - ((FPSCamera)ViewportCamera).ShowActors(Editor.Instance.Windows.EditWin.Viewport.TransformGizmo.SelectedParents); + ((FPSCamera)ViewportCamera).ShowActors(Editor.Instance.Windows.EditWin.Viewport.TransformGizmo.SelectedParents, ref orient); } } }; diff --git a/Source/Editor/Windows/EditGameWindow.cs b/Source/Editor/Windows/EditGameWindow.cs index 0d3a8bf95..4025f68ab 100644 --- a/Source/Editor/Windows/EditGameWindow.cs +++ b/Source/Editor/Windows/EditGameWindow.cs @@ -243,7 +243,13 @@ namespace FlaxEditor.Windows /// public void ShowSelectedActors() { - ((FPSCamera)Viewport.ViewportCamera).ShowActors(Viewport.TransformGizmo.SelectedParents); + if (Viewport.UseOrthographicProjection) + { + var orient = Viewport.ViewOrientation; + ((FPSCamera)Viewport.ViewportCamera).ShowActors(Viewport.TransformGizmo.SelectedParents, ref orient); + } + else + ((FPSCamera)Viewport.ViewportCamera).ShowActors(Viewport.TransformGizmo.SelectedParents); } ///