diff --git a/Source/Editor/Viewport/Cameras/ArcBallCamera.cs b/Source/Editor/Viewport/Cameras/ArcBallCamera.cs
index 876adc796..e6a72c8b4 100644
--- a/Source/Editor/Viewport/Cameras/ArcBallCamera.cs
+++ b/Source/Editor/Viewport/Cameras/ArcBallCamera.cs
@@ -94,6 +94,15 @@ namespace FlaxEditor.Viewport.Cameras
Viewport.ViewPosition = _orbitCenter + localPosition;
}
+ ///
+ public override void SetArcBallView(Quaternion orientation, Vector3 orbitCenter, float orbitRadius)
+ {
+ base.SetArcBallView(orientation, orbitCenter, orbitRadius);
+
+ _orbitCenter = orbitCenter;
+ _orbitRadius = orbitRadius;
+ }
+
///
public override void UpdateView(float dt, ref Vector3 moveDelta, ref Vector2 mouseDelta, out bool centerMouse)
{
diff --git a/Source/Editor/Viewport/Cameras/FPSCamera.cs b/Source/Editor/Viewport/Cameras/FPSCamera.cs
index e60def838..1079b7560 100644
--- a/Source/Editor/Viewport/Cameras/FPSCamera.cs
+++ b/Source/Editor/Viewport/Cameras/FPSCamera.cs
@@ -166,6 +166,14 @@ namespace FlaxEditor.Viewport.Cameras
MoveViewport(position, orientation);
}
+ ///
+ public override void SetArcBallView(Quaternion orientation, Vector3 orbitCenter, float orbitRadius)
+ {
+ base.SetArcBallView(orientation, orbitCenter, orbitRadius);
+
+ TargetPoint = orbitCenter;
+ }
+
///
public override void Update(float deltaTime)
{
diff --git a/Source/Editor/Viewport/Cameras/ViewportCamera.cs b/Source/Editor/Viewport/Cameras/ViewportCamera.cs
index 85b7a917c..6564d16d0 100644
--- a/Source/Editor/Viewport/Cameras/ViewportCamera.cs
+++ b/Source/Editor/Viewport/Cameras/ViewportCamera.cs
@@ -62,7 +62,7 @@ namespace FlaxEditor.Viewport.Cameras
/// The view rotation.
/// The orbit center location.
/// The orbit radius.
- public void SetArcBallView(Quaternion orientation, Vector3 orbitCenter, float orbitRadius)
+ public virtual void SetArcBallView(Quaternion orientation, Vector3 orbitCenter, float orbitRadius)
{
// Rotate
Viewport.ViewOrientation = orientation;
diff --git a/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs b/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs
index 6f6103a5d..697a7c1c1 100644
--- a/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs
+++ b/Source/Editor/Viewport/Previews/AnimatedModelPreview.cs
@@ -249,6 +249,19 @@ namespace FlaxEditor.Viewport.Previews
}
}
+ ///
+ public override bool OnKeyDown(KeyboardKeys key)
+ {
+ switch (key)
+ {
+ case KeyboardKeys.F:
+ // Pay respect..
+ ViewportCamera.SetArcBallView(_previewModel.Box);
+ break;
+ }
+ return base.OnKeyDown(key);
+ }
+
///
public override void OnDestroy()
{
diff --git a/Source/Editor/Viewport/Previews/ModelPreview.cs b/Source/Editor/Viewport/Previews/ModelPreview.cs
index 7055edbe9..3f285ddcd 100644
--- a/Source/Editor/Viewport/Previews/ModelPreview.cs
+++ b/Source/Editor/Viewport/Previews/ModelPreview.cs
@@ -85,6 +85,19 @@ namespace FlaxEditor.Viewport.Previews
}
}
+ ///
+ public override bool OnKeyDown(KeyboardKeys key)
+ {
+ switch (key)
+ {
+ case KeyboardKeys.F:
+ // Pay respect..
+ ViewportCamera.SetArcBallView(_previewModel.Box);
+ break;
+ }
+ return base.OnKeyDown(key);
+ }
+
///
public override void OnDestroy()
{