camera
This commit is contained in:
@@ -9,6 +9,7 @@ namespace OnlyScove.Scripts
|
||||
[Header("Dynamic FOV")]
|
||||
[SerializeField] private bool useDynamicFOV = true;
|
||||
[SerializeField] private float tpvSprintFOV = 70f; // Renamed from sprintFOV for clarity
|
||||
[SerializeField] private float fpvSprintFOV = 95f; // Target FOV for sprinting in FPV
|
||||
[SerializeField] private float fovSmoothTime = 5f;
|
||||
|
||||
private float _currentTpvBaseFOV; // Stored from CameraController
|
||||
@@ -26,12 +27,16 @@ namespace OnlyScove.Scripts
|
||||
{
|
||||
if (!useDynamicFOV || cam == null || inputReader == null) return;
|
||||
|
||||
float targetFOV = (viewMode == CameraViewMode.ThirdPerson) ? _currentTpvBaseFOV : _currentFpvFOV;
|
||||
bool isSprinting = inputReader.MoveInput.magnitude > 0.1f && inputReader.IsSprintHeld;
|
||||
float targetFOV;
|
||||
|
||||
// Apply sprint FOV only in TPV
|
||||
if (viewMode == CameraViewMode.ThirdPerson && inputReader.MoveInput.magnitude > 0.1f && inputReader.IsSprintHeld)
|
||||
if (viewMode == CameraViewMode.ThirdPerson)
|
||||
{
|
||||
targetFOV = tpvSprintFOV;
|
||||
targetFOV = isSprinting ? tpvSprintFOV : _currentTpvBaseFOV;
|
||||
}
|
||||
else // FirstPerson
|
||||
{
|
||||
targetFOV = isSprinting ? fpvSprintFOV : _currentFpvFOV;
|
||||
}
|
||||
|
||||
cam.fieldOfView = Mathf.Lerp(cam.fieldOfView, targetFOV, fovSmoothTime * Time.deltaTime);
|
||||
|
||||
Reference in New Issue
Block a user