UE5 材质 闪耀积雪
纹理
这里使用的是snow texture,可以在各大素材网站上下载,一般其中包含以下几种纹理
这里我用到了法线纹理、环境光遮蔽纹理、粗糙度纹理,并对他们进行了通道打包,最终生成两个纹理图,一个是normal图,另一个纹理图的RG通道存储法线图的RG信息,B通道存储环境光遮蔽图的信息,A通道存储粗糙度图的信息。需要注意的是因为在UE中,uv空间是这样的——v轴正方向指向下。因此G通道需要进行“反相“
以及一张用于实现雪闪闪发光特效的纹理图,该图可用PS自己制作,流程如下:
- 更改图层颜色,值为(127,127,127)
- 添加noise
- 调整色阶
- 设置分辨率为512x512
实现
闪闪发光的效果
注意下面这种实现可以让纹理固定在屏幕空间的固定位置,会随着视角移动,而不是像上面那样像一个贴纸而已
-
这里存在一个问题——背对着光线,也存在大量闪闪发光的效果,这并不合理,因此需要实现一个光方向的mask。改动如下
法线
为什么这里需要用到两次normal map呢?因为我对纹理图进行了缩放,将NAR图从4k缩放至1024,将normal图缩放至512,这样肯定会损失许多细节,而为了弥补进行则需要做上图的操作
上色
将颜色定为0.88
-
但仔细观察可以法线闪闪发光的效果没有了,这是因为颜色过于强势,需要加强效果的对比度
解决方案如下
-
菲涅尔
但雪也存在明显的透明度,这与角度有关,因此还需使用菲涅尔方程
reference
https://www.youtube.com/watch?v=TCz-fKJS3wI&list=PL78XDi0TS4lGqHdLQGR2GHne85i9PebbN&index=2