From ffc15fb3b18b5d058972fef839139d9decbce416 Mon Sep 17 00:00:00 2001 From: geondo55 <102933884+geondo55@users.noreply.github.com> Date: Thu, 26 Jun 2025 11:25:16 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B9=B4=EB=A9=94=EB=9D=BC=20=EA=B0=80?= =?UTF-8?q?=EC=86=8D=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Camera/CameraMoveSettings.cs | 8 ++-- .../Camera/CameraZoomSettings.cs | 23 +++++++--- .../Camera/RTFocusCamera.cs | 43 ++++++++++--------- 3 files changed, 43 insertions(+), 31 deletions(-) diff --git a/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraMoveSettings.cs b/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraMoveSettings.cs index e17aabd5..c7099485 100644 --- a/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraMoveSettings.cs +++ b/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraMoveSettings.cs @@ -11,12 +11,12 @@ namespace RTG { private static readonly float _minMoveSpeed = 1e-1f; - [SerializeField] - private float _moveSpeed = 6.0f; - [SerializeField] - private float _accelerationRate = 15.0f; + private float _moveSpeed = 30.0f; + private float _moveFastSpeed = 60.0f; + private float _accelerationRate = 0f; public float MoveSpeed { get { return _moveSpeed; } set { _moveSpeed = Mathf.Max(_minMoveSpeed, value); } } + public float MoveFastSpeed { get { return _moveFastSpeed; } set { _moveFastSpeed = Mathf.Max(_minMoveSpeed, value); } } public float AccelerationRate { get { return _accelerationRate; } set { _accelerationRate = Mathf.Max(0.0f, value); } } diff --git a/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraZoomSettings.cs b/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraZoomSettings.cs index f404614c..b532de46 100644 --- a/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraZoomSettings.cs +++ b/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/CameraZoomSettings.cs @@ -22,6 +22,10 @@ namespace RTG [SerializeField] private float _perspStandardZoomSensitivity = 10.0f; [SerializeField] + private float _orthoFastZoomSensitivity = 30.0f; + [SerializeField] + private float _perspFastZoomSensitivity = 30.0f; + [SerializeField] private float _orthoSmoothZoomSensitivity = 5.0f; [SerializeField] private float _perspSmoothZoomSensitivity = 5.0f; @@ -37,6 +41,8 @@ namespace RTG public CameraZoomMode ZoomMode { get { return _zoomMode; } set { _zoomMode = value; } } public float OrthoStandardZoomSensitivity { get { return _orthoStandardZoomSensitivity; } set { _orthoStandardZoomSensitivity = Mathf.Max(value, 1e-3f); } } public float PerspStandardZoomSensitivity { get { return _perspStandardZoomSensitivity; } set { _perspStandardZoomSensitivity = Mathf.Max(value, 1e-3f); } } + public float OrthoFastZoomSensitivity { get { return _orthoFastZoomSensitivity; } set { _orthoFastZoomSensitivity = Mathf.Max(value, 1e-3f); } } + public float PerspFastZoomSensitivity { get { return _perspFastZoomSensitivity; } set { _perspFastZoomSensitivity = Mathf.Max(value, 1e-3f); } } public float OrthoSmoothZoomSensitivity { get { return _orthoSmoothZoomSensitivity; } set { _orthoSmoothZoomSensitivity = Mathf.Max(value, 1e-3f); } } public float PerspSmoothZoomSensitivity { get { return _perspSmoothZoomSensitivity; } set { _perspSmoothZoomSensitivity = Mathf.Max(value, 1e-3f); } } public float OrthoZoomSmoothValue { get { return _orthoZoomSmoothValue; } set { _orthoZoomSmoothValue = Mathf.Max(value, 1e-3f); } } @@ -49,16 +55,19 @@ namespace RTG return camera.orthographic ? OrthoZoomSmoothValue : PerspZoomSmoothValue; } - public float GetZoomSensitivity(Camera camera) + public float GetZoomSensitivity(Camera camera, bool isFast) { - if (_zoomMode == CameraZoomMode.Standard) return camera.orthographic ? OrthoStandardZoomSensitivity : PerspStandardZoomSensitivity; - else - if (_zoomMode == CameraZoomMode.Smooth) return camera.orthographic ? OrthoSmoothZoomSensitivity : PerspSmoothZoomSensitivity; - + if (_zoomMode == CameraZoomMode.Standard) + { + if(camera.orthographic) + return isFast ? OrthoFastZoomSensitivity : OrthoStandardZoomSensitivity; + else + return isFast ? PerspFastZoomSensitivity : PerspStandardZoomSensitivity; + } + //if (_zoomMode == CameraZoomMode.Smooth) return camera.orthographic ? OrthoSmoothZoomSensitivity : PerspSmoothZoomSensitivity; return 0.0f; } - - + protected override void RenderContent(UnityEngine.Object undoRecordObject) { diff --git a/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/RTFocusCamera.cs b/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/RTFocusCamera.cs index 3ede2e83..0348c6d5 100644 --- a/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/RTFocusCamera.cs +++ b/Assets/Scripts/ExternalAssets/Runtime Transform Gizmos/Runtime Package Common/Camera/RTFocusCamera.cs @@ -349,8 +349,10 @@ namespace RTG void GetInput() { - float moveAmount = (_moveSettings.MoveSpeed + _currentAcceleration) * Time.deltaTime; - + float moveSpeed = RTInput.GetKey(KeyCode.LeftShift) ? _moveSettings.MoveFastSpeed : _moveSettings.MoveSpeed; + + float moveAmount = (moveSpeed + _currentAcceleration) * Time.deltaTime; + Debug.Log("moveSpeed " + moveAmount); Vector3 moveVector = Vector3.zero; _moveDirFlags[(int)MoveDirection.Forward] = Hotkeys.MoveForward.IsActive(); _moveDirFlags[(int)MoveDirection.Backwards] = !_moveDirFlags[(int)MoveDirection.Forward] && Hotkeys.MoveBack.IsActive(); @@ -465,19 +467,20 @@ namespace RTG return; float mouseScroll = RTInput.MouseScroll(); + bool isFast = RTInput.GetKey(KeyCode.LeftShift); if (Mathf.Approximately(mouseScroll, 0.0f)) return; if (_zoomSettings.ZoomMode == CameraZoomMode.Standard) { - Zoom(CalculateScrollZoomAmount(mouseScroll)); + Zoom(CalculateScrollZoomAmount(mouseScroll, isFast)); //마우스 포인터위치로 } - else - { - StopCamTransform(); - StartCoroutine(_genricCamTransformCrtn = DoSmoothZoom(mouseScroll)); - } + //else + //{ + // StopCamTransform(); + // StartCoroutine(_genricCamTransformCrtn = DoSmoothZoom(mouseScroll)); + //} } public void SliderZoomInOut(int value) @@ -558,9 +561,9 @@ namespace RTG return _targetTransform.position + _targetTransform.forward * _focusPointOffset; } - private float CalculateScrollZoomAmount(float deviceScroll) + private float CalculateScrollZoomAmount(float deviceScroll, bool isFast) { - float zoomAmount = deviceScroll * _zoomSettings.GetZoomSensitivity(TargetCamera); + float zoomAmount = deviceScroll * _zoomSettings.GetZoomSensitivity(TargetCamera, isFast); if (_zoomSettings.InvertZoomAxis) zoomAmount *= -1.0f; @@ -722,18 +725,18 @@ namespace RTG } } - private IEnumerator DoSmoothZoom(float deviceScroll) - { - float zoomAmount = CalculateScrollZoomAmount(deviceScroll); + //private IEnumerator DoSmoothZoom(float deviceScroll) + //{ + // float zoomAmount = CalculateScrollZoomAmount(deviceScroll); - while(!Mathf.Approximately(zoomAmount, 0.0f)) - { - Zoom(zoomAmount); - zoomAmount = Mathf.Lerp(zoomAmount, 0.0f, _zoomSettings.GetZoomSmoothValue(TargetCamera) * Time.deltaTime); + // while(!Mathf.Approximately(zoomAmount, 0.0f)) + // { + // Zoom(zoomAmount); + // zoomAmount = Mathf.Lerp(zoomAmount, 0.0f, _zoomSettings.GetZoomSmoothValue(TargetCamera) * Time.deltaTime); - yield return null; - } - } + // yield return null; + // } + //} private IEnumerator DoConstantRotationSwitch(Quaternion targetRotation) { -- 2.48.1.windows.1