diff --git a/Source/Editor/Viewport/MainEditorGizmoViewport.cs b/Source/Editor/Viewport/MainEditorGizmoViewport.cs
index 8bc6b4c02..6202a8d6e 100644
--- a/Source/Editor/Viewport/MainEditorGizmoViewport.cs
+++ b/Source/Editor/Viewport/MainEditorGizmoViewport.cs
@@ -656,11 +656,20 @@ namespace FlaxEditor.Viewport
/// Focuses the viewport on the current selection of the gizmo.
///
public void FocusSelection()
+ {
+ var orientation = ViewOrientation;
+ FocusSelection(ref orientation);
+ }
+
+ ///
+ /// Focuses the viewport on the current selection of the gizmo.
+ ///
+ /// The target view orientation.
+ public void FocusSelection(ref Quaternion orientation)
{
if (TransformGizmo.SelectedParents.Count == 0)
return;
- var orientation = ViewOrientation;
var gizmoBounds = Gizmos.Active.FocusBounds;
if (gizmoBounds != BoundingSphere.Empty)
((FPSCamera)ViewportCamera).ShowSphere(ref gizmoBounds, ref orientation);
@@ -725,9 +734,10 @@ namespace FlaxEditor.Viewport
///
protected override void OrientViewport(ref Quaternion orientation)
{
- FocusSelection();
-
- base.OrientViewport(ref orientation);
+ if (TransformGizmo.SelectedParents.Count != 0)
+ FocusSelection(ref orientation);
+ else
+ base.OrientViewport(ref orientation);
}
///
diff --git a/Source/Editor/Viewport/PrefabWindowViewport.cs b/Source/Editor/Viewport/PrefabWindowViewport.cs
index 1c337cc25..946cf3620 100644
--- a/Source/Editor/Viewport/PrefabWindowViewport.cs
+++ b/Source/Editor/Viewport/PrefabWindowViewport.cs
@@ -787,11 +787,20 @@ namespace FlaxEditor.Viewport
/// Focuses the viewport on the current selection of the gizmo.
///
public void FocusSelection()
+ {
+ var orientation = ViewOrientation;
+ FocusSelection(ref orientation);
+ }
+
+ ///
+ /// Focuses the viewport on the current selection of the gizmo.
+ ///
+ /// The target view orientation.
+ public void FocusSelection(ref Quaternion orientation)
{
if (TransformGizmo.SelectedParents.Count == 0)
return;
- var orientation = ViewOrientation;
var gizmoBounds = Gizmos.Active.FocusBounds;
if (gizmoBounds != BoundingSphere.Empty)
((FPSCamera)ViewportCamera).ShowSphere(ref gizmoBounds, ref orientation);
@@ -802,9 +811,10 @@ namespace FlaxEditor.Viewport
///
protected override void OrientViewport(ref Quaternion orientation)
{
- FocusSelection();
-
- base.OrientViewport(ref orientation);
+ if (TransformGizmo.SelectedParents.Count != 0)
+ FocusSelection(ref orientation);
+ else
+ base.OrientViewport(ref orientation);
}
///