Unity Shader 之 简单实现沙漠干旱热浪的效果

2025-05-07 15:23:25

1、打开Unity,新建一个空工程,在场景中添加一个Cube,具体如下图

Unity Shader 之 简单实现沙漠干旱热浪的效果

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

Unity 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自旋转使用,双击脚本你进行编辑代码,具体如下图

Unity Shader 之 简单实现沙漠干旱热浪的效果Unity Shader 之 简单实现沙漠干旱热浪的效果Unity Shader 之 简单实现沙漠干旱热浪的效果Unity Shader 之 简单实现沙漠干旱热浪的效果Unity Shader 之 简单实现沙漠干旱热浪的效果
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢