这是我们要实现的效果
全屏的效果我们可以直接使用OnRenderImage方法挂载在Camera上,它会在所有的渲染完成后调用,可以用来处理最终图像。
void OnRenderImage(RenderTexture sourceTexture, RenderTexture destTexture)
sourceTexture是原渲染纹理,destTexture是目标纹理
扭曲的原理就是移动uv值来实现,我用了一张噪音图来获取随机的偏移量
shader代码如下
_DistortTimeFactor是控制采样噪音图的幅度
_LuminosityAmount是控制扭曲程度
Shader "Custom/ImageEffect" {
Properties
{
_MainTex("Base (RGB)", 2D) = "white&