UE5 材质 闪耀积雪

发布时间 2023-08-26 00:29:45作者: 爱莉希雅

纹理

这里使用的是snow texture,可以在各大素材网站上下载,一般其中包含以下几种纹理

image-20230825163116761

这里我用到了颜色纹理、法线纹理、环境光遮蔽纹理、粗糙度纹理,并对他们进行了通道打包,最终生成两个纹理图,一个是颜色纹理,另一个纹理图的RG通道存储法线图的RG信息,B通道存储环境光遮蔽图的信息,A通道存储粗糙度图的信息。需要注意的是因为在UE中,uv空间是这样的——v轴正方向指向下。因此G通道需要进行“反相“

image-20230825171005429
以及一张用于实现雪闪闪发光特效的纹理图,该图可用PS自己制作,流程如下:

  1. 更改图层颜色,值为(127,127,127)
    image-20230825170556079
  2. 添加noise
    image-20230825170645591
    image-20230825170706580
  3. 调整色阶
    image-20230825170912723image-20230825170858120
  4. 设置分辨率为512x512

image-20230825171031156

实现

闪闪发光的效果

image-20230825171425925

注意下面这种实现可以让纹理固定在屏幕空间的固定位置,会随着视角移动,而不是像上面那样像一个贴纸而已

  • 这里存在一个问题——背对着光线,也存在大量闪闪发光的效果,这并不合理,因此需要实现一个光方向的mask。改动如下

    image-20230825181729874

法线

image-20230825234559337

为什么这里需要用到两次normal map呢?因为我对纹理图进行了缩放,将NAR图从4k缩放至1024,将normal图缩放至512,这样肯定会损失许多细节,而为了弥补进行则需要做上图的操作

image-20230825234925324

上色

将颜色定为0.88

image-20230825235218094

  • 但仔细观察可以法线闪闪发光的效果没有了,这是因为颜色过于强势,需要加强效果的对比度

    解决方案如下
    image-20230825235421577
    image-20230825235433816

  • 菲涅尔
    但雪也存在明显的透明度,这与角度有关,因此还需使用菲涅尔方程
    image-20230826000643617
    image-20230826000659956

reference

https://www.youtube.com/watch?v=TCz-fKJS3wI&list=PL78XDi0TS4lGqHdLQGR2GHne85i9PebbN&index=2