Skip to content

Commit 79efc7e

Browse files
committed
修订文章 《高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现》
修订文章 《高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现》
1 parent 4896596 commit 79efc7e

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

  • Content/高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现

‎Content/高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现/README.md‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<br>
1515

16-
本文对十种主流故障艺术(Glitch Art)系列后处理算法的原理和实现方式进行了总结,对故障艺术风格的算法实现要点进行了提炼,并提供了对应算法在Unity引擎下的一个或多个版本的实现源码。
16+
而本文,对十种主流故障艺术(Glitch Art)系列后处理算法的原理和实现方式进行了总结,对故障艺术风格的算法实现要点进行了提炼,并提供了对应算法在Unity引擎下的一个或多个版本的实现源码。
1717

1818
这十种故障艺术(Glitch Art)后处理特效分别为:
1919

@@ -377,7 +377,7 @@ half displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0);
377377

378378
接着,使用如下代码,将均匀渐变线条转为随机梯度的等宽线条:
379379

380-
float uv_randomTrunc = 6.0 * trunc(_TimeX, 24.0 * uv_trunc);
380+
float uv_randomTrunc = 6.0 * trunc(_TimeX, 24.0 * uv_trunc);
381381

382382
![](media/2ef9438939a81cafa257cffbdbe493a9.gif)
383383

@@ -643,12 +643,9 @@ Glitch)的主要思路,在于用noise去扰动原先场景图的颜色值。
643643
}
644644

645645

646-
渲染表现如下:
647646

648-
![](media/cf20339e06bc8a52c2c6573dd9261682.gif)
647+
最终,将noise扰动和随机灰度抖动两个特性相结合,得到Glitch Analog Noise最终的渲染表现:
649648

650-
最终,将noise扰动和随机灰度抖动两个特性相结合,得到Glitch Analog
651-
Noise最终的渲染表现:
652649

653650
![](media/9c0fad40cdfd5f8a9891274b3c562cc5.gif)
654651

@@ -664,6 +661,8 @@ Noise最终的渲染表现:
664661

665662

666663

664+
![](media/48.gif)
665+
667666
屏幕跳跃故障(Screen Jump Glitch)的算法原理在于取经过时间校正后的uv数值的小数部分,并于原始uv插值,得到均匀梯度式扰动屏幕空间uv,再用此uv进行采样即可得到跳动画面的表现。核心实现Shader代码如下:
668667

669668
half4 Frag_Vertical(VaryingsDefault i): SV_Target
@@ -835,7 +834,7 @@ OK,回到我们的波动抖动故障(Wave Jitter Glitch)后处理中来。
835834

836835
![](media/2e43dee0491aaba8ee822bcf2ee45312.gif)
837836

838-
波动抖动故障 ( Glitch Tile Jitter) 后处理特效可调参数也比较丰富,XPL内实现的此特效的可调参数面板如下:
837+
波动抖动故障(Wave Jitter Glitch 后处理特效可调参数也比较丰富,XPL内实现的此特效的可调参数面板如下:
839838

840839
![](media/7921e7f2d840a0ab22ffc5c203c5a0f1.png)
841840

4.01 MB
Loading

0 commit comments

Comments
 (0)