欢迎光临散文网 会员登陆 & 注册

URP | 深度屏幕雾效

2022-04-18 21:00 作者:那个人真狗  | 我要投稿


效果

  • 简单效果

  • 增加贴图效果

目的

  • 使用深度和贴图模拟雾效。

  • 使用贴图不同通道制作云雾效果。

制作思路

准备部分

  • 创建一个场景,在场景中增加一个模型片

  • 定义3个控制属性

柔和大小,雾的颜色,控制在柔和一点。


  • 在顶点着色器阶段计算

齐次空间转换到屏幕空间。

  • 片元着色器阶段

这里和上面的方法都一样。详细查看深度。

  • 输出

  • 效果

  • 属性调整

全部代码

云雾效果

  • 制作思路,使用一张贴图,调整不同的UV实现不同的平铺方式,在叠加。就可以实现不一样的纹理。

  • 让俩层纹理不同的UV速度移动,模拟云层的运动。

准备素材

  • 准备一张云雾贴图

制作Shader

  • 在上面的基础上增加贴图。

  • 因为需要UV动画,把前面的UV移动速度的函数复制过来。

  • 定义一个Vector类的的变量,控制俩套UV的不同的移动速度。

_Niose_R_Tiling   _Niose_G_Tiling  控制平铺次数。

  • 定义俩套贴图,读取不同通道。

  • 在把俩套贴图混合

_Blend 控制俩个纹理的混合。

  • 效果

  • 深度和纹理一起输出看一下效果

  • 效果

目前边缘有切边效果,我们增加遮罩。

  • 整体贴图效果

  • 这样我们使用Alpha通道作遮罩通道。


  • 效果

总结

  • 深度的第一种的方法适合制作类似纪念碑谷这个风格的深度雾效。

  • 使用一张贴图不同通道实现不同纹理,这样的方式时候灰度图,带有颜色不能这样使用。

    这样还有一个问题,如果修改需要打开PS在PS里修改效果。

资料参考

unity urp 实现类似纪念碑谷内的雾_哔哩哔哩_bilibili


URP | 深度屏幕雾效的评论 (共 条)

分享到微博请遵守国家法律