Fix editor viewport camera glitch on first frame when using camera orbiting
This commit is contained in:
@@ -160,8 +160,8 @@ namespace FlaxEditor.Viewport.Cameras
|
||||
if (IsAnimatingMove)
|
||||
return;
|
||||
|
||||
EditorViewport.Input input;
|
||||
Viewport.GetInput(out input);
|
||||
Viewport.GetInput(out var input);
|
||||
Viewport.GetPrevInput(out var prevInput);
|
||||
var mainViewport = Viewport as MainEditorGizmoViewport;
|
||||
bool isUsingGizmo = mainViewport != null && mainViewport.TransformGizmo.ActiveAxis != TransformGizmo.Axis.None;
|
||||
|
||||
@@ -202,7 +202,7 @@ namespace FlaxEditor.Viewport.Cameras
|
||||
}
|
||||
|
||||
// Rotate or orbit
|
||||
if (input.IsRotating || (input.IsOrbiting && !isUsingGizmo))
|
||||
if (input.IsRotating || (input.IsOrbiting && !isUsingGizmo && prevInput.IsOrbiting))
|
||||
{
|
||||
yaw += mouseDelta.X;
|
||||
pitch += mouseDelta.Y;
|
||||
|
||||
@@ -699,6 +699,15 @@ namespace FlaxEditor.Viewport
|
||||
input = _input;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the input state data (from the previous update).
|
||||
/// </summary>
|
||||
/// <param name="input">The input.</param>
|
||||
public void GetPrevInput(out Input input)
|
||||
{
|
||||
input = _prevInput;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates the projection matrix.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user