diff --git a/extensions/include/extensions/thirdpersoncamera/orbitcamera.h b/extensions/include/extensions/thirdpersoncamera/orbitcamera.h index 65ac97c3..e60b1351 100644 --- a/extensions/include/extensions/thirdpersoncamera/orbitcamera.h +++ b/extensions/include/extensions/thirdpersoncamera/orbitcamera.h @@ -54,6 +54,7 @@ class OrbitCamera { static constexpr float MIN_PITCH = 0.05f; static constexpr float MAX_PITCH = 1.4f; static constexpr float MIN_DISTANCE = 1.5f; + static constexpr float SWITCH_TO_FIRST_PERSON_DISTANCE = 0.5f; static constexpr float MAX_DISTANCE = 15.0f; private: diff --git a/extensions/src/thirdpersoncamera/inputhandler.cpp b/extensions/src/thirdpersoncamera/inputhandler.cpp index 2a6fbbc9..2c87c000 100644 --- a/extensions/src/thirdpersoncamera/inputhandler.cpp +++ b/extensions/src/thirdpersoncamera/inputhandler.cpp @@ -91,7 +91,7 @@ void InputHandler::HandleSDLEvent(SDL_Event* p_event, OrbitCamera& p_orbit, bool } break; } - if (p_orbit.GetOrbitDistance() <= OrbitCamera::MIN_DISTANCE && p_event->wheel.y > 0) { + if (p_orbit.GetOrbitDistance() <= OrbitCamera::SWITCH_TO_FIRST_PERSON_DISTANCE && p_event->wheel.y > 0) { m_wantsAutoDisable = true; break; } @@ -215,7 +215,7 @@ void InputHandler::HandleSDLEvent(SDL_Event* p_event, OrbitCamera& p_orbit, bool break; } - if (p_orbit.GetOrbitDistance() <= OrbitCamera::MIN_DISTANCE) { + if (p_orbit.GetOrbitDistance() <= OrbitCamera::SWITCH_TO_FIRST_PERSON_DISTANCE) { float totalDelta = newDist - m_touch.gesturePinchDist; if (totalDelta > PINCH_TRANSITION_THRESHOLD) { m_wantsAutoDisable = true; diff --git a/extensions/src/thirdpersoncamera/orbitcamera.cpp b/extensions/src/thirdpersoncamera/orbitcamera.cpp index bc85815b..80cdc75e 100644 --- a/extensions/src/thirdpersoncamera/orbitcamera.cpp +++ b/extensions/src/thirdpersoncamera/orbitcamera.cpp @@ -117,8 +117,8 @@ void OrbitCamera::ClampPitch() void OrbitCamera::ClampDistance() { - if (m_orbitDistance < MIN_DISTANCE) { - m_orbitDistance = MIN_DISTANCE; + if (m_orbitDistance < SWITCH_TO_FIRST_PERSON_DISTANCE) { + m_orbitDistance = SWITCH_TO_FIRST_PERSON_DISTANCE; } if (m_orbitDistance > MAX_DISTANCE) { m_orbitDistance = MAX_DISTANCE;