Unity Shader 之 简单实现沙漠干旱热浪的效果
1、打开Unity,新建一个空工程,在场景中添加一个Cube,具体如下图

2、在工程中导入一张云图,作为噪点热浪渲染图,新建一个shader,并且,打开进行编辑,具体如下图

3、HotWave.shader 的具体代码和说明如下:Shader "Custom/HotWave" { Properties { _MainTex("Base (RGB)", 2D) = "white" {} _NoiseTex("Noise (RGB)", 2D) = "white" {} _LuminosityAmount("GrayScale Amount", Range(0.0, 1.0)) = 1.0 _DistortTimeFactor("DistortTimeFactor", Range(0,1)) = 1 } SubShader { Pass{ CGPROGRAM #pragma vertex vert_img #pragma fragment frag #include "UnityCG.cginc" uniform sampler2D _MainTex; uniform sampler2D _NoiseTex; fixed _LuminosityAmount; float _DistortTimeFactor; fixed4 frag(v2f_img i) : COLOR { float4 noise = tex2D(_NoiseTex, i.uv - _Time.xy * _DistortTimeFactor); float2 offset = noise.xy * _LuminosityAmount; return tex2D(_MainTex, i.uv + offset); } ENDCG } } FallBack "Diffuse"}
4、回到Unity,在新建两个脚本,控制shader和Cube自旋转使用,双击脚本你进行编辑代码,具体如下图




