diff --git a/UnityEditorPackage/Runtime/CinematicUnityExplorer.STANDALONE.Mono.dll b/UnityEditorPackage/Runtime/CinematicUnityExplorer.STANDALONE.Mono.dll index 84bfc69..c8854a2 100644 Binary files a/UnityEditorPackage/Runtime/CinematicUnityExplorer.STANDALONE.Mono.dll and b/UnityEditorPackage/Runtime/CinematicUnityExplorer.STANDALONE.Mono.dll differ diff --git a/src/UI/Panels/FreeCamPanel.cs b/src/UI/Panels/FreeCamPanel.cs index ca5a3e0..ceade20 100644 --- a/src/UI/Panels/FreeCamPanel.cs +++ b/src/UI/Panels/FreeCamPanel.cs @@ -350,18 +350,18 @@ namespace UnityExplorer.UI.Panels if (!cameraPathMover) cameraPathMover = ourCamera.gameObject.AddComponent(); + string currentScene = SceneManager.GetActiveScene().name; + if (ConfigManager.Reset_Camera_Transform.Value || lastScene != currentScene){ + ResetCameraTransform(); + } + lastScene = currentScene; + GetFreecam().transform.position = (Vector3)currentUserCameraPosition; GetFreecam().transform.rotation = (Quaternion)currentUserCameraRotation; SetFOV(currentUserCameraFov); ourCamera.gameObject.SetActive(true); ourCamera.enabled = true; - - string currentScene = SceneManager.GetActiveScene().name; - if (lastScene != currentScene || ConfigManager.Reset_Camera_Transform.Value){ - OnResetPosButtonClicked(); - } - lastScene = currentScene; } internal static void EndFreecam() @@ -916,21 +916,27 @@ namespace UnityExplorer.UI.Panels BeginFreecam(); } - static void OnResetPosButtonClicked() + static void ResetCameraTransform() { currentUserCameraPosition = originalCameraPosition; currentUserCameraRotation = originalCameraRotation; + currentUserCameraFov = originalCameraFOV; - if (inFreeCamMode && ourCamera) - { - SetCameraPosition((Vector3)currentUserCameraPosition, true); - SetCameraRotation((Quaternion)currentUserCameraRotation, true); - ourCamera.fieldOfView = originalCameraFOV; - } + SetCameraPosition((Vector3)currentUserCameraPosition, true); + SetCameraRotation((Quaternion)currentUserCameraRotation, true); + ourCamera.fieldOfView = originalCameraFOV; positionInput.Text = ParseUtility.ToStringForInput(originalCameraPosition); } + static void OnResetPosButtonClicked() + { + if (inFreeCamMode && ourCamera) + { + ResetCameraTransform(); + } + } + void PositionInput_OnEndEdit(string input) { EventSystemHelper.SetSelectedGameObject(null);