Files
Dontback/Assets/Scripts/Camera/CameraPostProcessing.cs
Eicy 6d3f85829b +物品展示
todo 玩家背包
2024-09-28 18:06:49 +08:00

42 lines
1.5 KiB
C#

using Event;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
namespace Camera
{
public class CameraPostProcessing : MonoBehaviour
{
private UnityEngine.Camera _camera;
private PostProcessVolume _processVolume;
private void Awake()
{
_camera = GetComponent<UnityEngine.Camera>();
_processVolume = GetComponent<PostProcessVolume>();
}
private void OnEnable()
{
EventManager.Instance.PlayerRunning += PostProcess;
EventManager.Instance.PlayerRunStop += ProcessingStop;
}
private void OnDisable()
{
EventManager.Instance.PlayerRunning -= PostProcess;
EventManager.Instance.PlayerRunStop -= ProcessingStop;
}
private void PostProcess()
{
_camera.fieldOfView = Mathf.Lerp(_camera.fieldOfView, 90f, Time.deltaTime * 10f);
_processVolume.profile.GetSetting<ChromaticAberration>().intensity.value = Mathf.Lerp(
_processVolume.profile.GetSetting<ChromaticAberration>().intensity.value, 1f, Time.deltaTime * 10f);
}
private void ProcessingStop()
{
_processVolume.profile.GetSetting<ChromaticAberration>().intensity.value = Mathf.Lerp(
_processVolume.profile.GetSetting<ChromaticAberration>().intensity.value, 0f, Time.deltaTime * 10f);
_camera.fieldOfView = Mathf.Lerp(_camera.fieldOfView, 60f, Time.deltaTime * 10f);
}
}
}