@@ -220,7 +220,7 @@ Split后处理特效,以满足不同情形下RGB颜色抖动风格的需要。
220220
221221对于基础版本的实现,第一步,基于uv和噪声函数生成方格块。可以使用floor方法(对输入参数向下取整)以及低成本的噪声生成函数randomNoise进行实现,代码仅需一句:
222222
223- half2 block = randomNoise(floor(i.texcoord * _ BlockSize));
223+ half2 block = randomNoise(floor(i.texcoord * _BlockSize));
224224
225225基于这句代码可以生成随机强度的均匀Block图块:
226226
@@ -240,11 +240,11 @@ half displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0);
240240
241241第三步,将经过强度二次筛选的Block图块强度值,作为噪声强度的系数,分别对G和B颜色通道进行采样。实现如下:
242242
243- half ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).r;
244- half ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + float2(displaceNoise * 0.05 * randomNoise(7.0), 0.0)).g;
245- half ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - float2(displaceNoise * 0.05 * randomNoise(13.0), 0.0)).b;
243+ half ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).r;
244+ half ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + float2(displaceNoise * 0.05 * randomNoise(7.0), 0.0)).g;
245+ half ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - float2(displaceNoise * 0.05 * randomNoise(13.0), 0.0)).b;
246246
247- return half4(ColorR, ColorG, ColorB, 1.0);
247+ return half4(ColorR, ColorG, ColorB, 1.0);
248248
249249
250250可以得到如下基础的错位图块故障(Image Block Glitch)的渲染表现:
0 commit comments