diff --git a/Source/Editor/Viewport/Cameras/FPSCamera.cs b/Source/Editor/Viewport/Cameras/FPSCamera.cs index c63fc97cd..fea8ecffb 100644 --- a/Source/Editor/Viewport/Cameras/FPSCamera.cs +++ b/Source/Editor/Viewport/Cameras/FPSCamera.cs @@ -121,7 +121,8 @@ namespace FlaxEditor.Viewport.Cameras orientation = Quaternion.LookRotation(Viewport.ViewDirection); var invdir = Viewport.ViewDirection; invdir.Negate(); - position = sphere.Center + sphere.Radius * 2.5f * invdir; + position = sphere.Center + sphere.Radius * 5.0f * invdir; + Viewport.OrthographicScale = Vector3.Distance(position, sphere.Center) / 1000; } else { diff --git a/Source/Editor/Viewport/EditorViewport.cs b/Source/Editor/Viewport/EditorViewport.cs index fdf6e0591..9731c3898 100644 --- a/Source/Editor/Viewport/EditorViewport.cs +++ b/Source/Editor/Viewport/EditorViewport.cs @@ -542,7 +542,13 @@ namespace FlaxEditor.Viewport if (_isOrtho) { if (!Editor.Instance.SceneEditing.HasSthSelected) - ((FPSCamera)ViewportCamera).ShowActor(Editor.Instance.Scene.Root.Actor); + { + 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)); + } else ((FPSCamera)ViewportCamera).ShowActors(Editor.Instance.Windows.EditWin.Viewport.TransformGizmo.SelectedParents); }