Update
This commit is contained in:
28
Assets/Scripts/Camera Controller/CameraDynamicFOV.cs
Normal file
28
Assets/Scripts/Camera Controller/CameraDynamicFOV.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace OnlyScove.Scripts
|
||||
{
|
||||
[System.Serializable]
|
||||
public class CameraDynamicFOV
|
||||
{
|
||||
[Header("Dynamic FOV")]
|
||||
[SerializeField] private bool useDynamicFOV = true;
|
||||
[SerializeField] private float baseFOV = 60f;
|
||||
[SerializeField] private float sprintFOV = 70f;
|
||||
[SerializeField] private float fovSmoothTime = 5f;
|
||||
|
||||
public void HandleDynamicFOV(Camera cam, InputReader inputReader)
|
||||
{
|
||||
if (!useDynamicFOV || cam == null || inputReader == null) return;
|
||||
|
||||
float targetFOV = baseFOV;
|
||||
|
||||
if (inputReader.MoveInput.magnitude > 0.1f && inputReader.IsSprintHeld)
|
||||
{
|
||||
targetFOV = sprintFOV;
|
||||
}
|
||||
|
||||
cam.fieldOfView = Mathf.Lerp(cam.fieldOfView, targetFOV, fovSmoothTime * Time.deltaTime);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user