using System.Collections; using System.Collections.Generic; using UnityEngine; namespace BF { public class PostEffectRadialBlur : AbsPostEffect { public Material RadialBlurMaterial { get; private set; } public float BlurRadius = 0.02f; public Vector2 RadialCenter = new Vector2(0.5f, 0.5f); public PostEffectRadialBlur() { RadialBlurMaterial = BFMain.Instance.RenderMgr.RadialBlurMat; } public void SetBlurRadius(float blurRadius) { BlurRadius = blurRadius; RefreshBlurRadius(); } public void RefreshBlurRadius() { RadialBlurMaterial.SetFloat("_BlurRadius", BlurRadius); } public void SetRadialCenter(Vector2 value) { RadialCenter = value; RefreshRadialCenter(); } public void RefreshRadialCenter() { RadialBlurMaterial.SetVector("_RadialCenter", RadialCenter); } public override PostEffectContext OnRenderImage(PostEffectContext context) { var src = context.src; var dest = context.dest; RadialBlurMaterial.SetFloat("_BlurRadius", BlurRadius); RadialBlurMaterial.SetVector("_RadialCenter", RadialCenter); Graphics.Blit(src, dest, RadialBlurMaterial, 0); return context; } } }