This commit is contained in:
2024-10-16 00:03:41 +08:00
commit 897058435c
5033 changed files with 1009728 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
using Framework.Timer;
using Unity.Mathematics;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
public class VolumeEffectUtils : MonoBehaviour
{
public VolumeProfile volumeProfile;
#region ChromaticAberration Utils
private TimeHandler _aberrationHandler;
private float _aberrationBaseIntensity;
private float _aberrationTargetIntensity;
public void SetAberration(float intensity , float time)
{
this._aberrationHandler?.Kill();
this._aberrationTargetIntensity = intensity;
if (this.volumeProfile.TryGet(out ChromaticAberration aberration))
{
this._aberrationBaseIntensity = aberration.intensity.value;
aberration.active = this._aberrationBaseIntensity != 0 || this._aberrationTargetIntensity != 0;
this._aberrationHandler = GameUpdateMgr.Instance.CreateTimer(time , UpdateAberration , f =>
{
aberration.intensity.value = math.lerp(this._aberrationBaseIntensity , this._aberrationTargetIntensity , f);
});
}
}
private void UpdateAberration()
{
if (this.volumeProfile.TryGet(out ChromaticAberration aberration))
{
aberration.intensity.value = this._aberrationTargetIntensity;
aberration.active = aberration.intensity.value != 0;
}
}
#endregion
}