![a3dd1e4ce3598070dcf1baf59ab29331.png](https://img-blog.csdnimg.cn/img_convert/a3dd1e4ce3598070dcf1baf59ab29331.png)
上篇讲完地面的材质,本篇来实现动态积雪效果。
物体上的积雪材质
新建一个材质,名为M_CobbleStone_Snow。
导入Starter Content內容包,里面有我们接下来要使用的贴图。
为了体现物体表面上的积雪效果,这里在材质属性中使用世界位移以及多边形细分乘数。
在Tessellation中启动Flat Tessellation。
![422e5a522bae654fbf0d13f3b5507862.png](https://img-blog.csdnimg.cn/img_convert/422e5a522bae654fbf0d13f3b5507862.png)
基本颜色,这里我使用的鹅卵石贴图,T_CobbleStone_Pebble_D。
![129930cd1591630a9402c7409ea1486b.png](https://img-blog.csdnimg.cn/img_convert/129930cd1591630a9402c7409ea1486b.png)
粗错度
![01df6df9bf326407c9933e1a1b7170f6.png](https://img-blog.csdnimg.cn/img_convert/01df6df9bf326407c9933e1a1b7170f6.png)
法线
![cc80a62a31329032c21f668b719abcdc.png](https://img-blog.csdnimg.cn/img_convert/cc80a62a31329032c21f668b719abcdc.png)
世界偏移
![190e56733bc68e49b65725f9f01eebba.png](https://img-blog.csdnimg.cn/img_convert/190e56733bc68e49b65725f9f01eebba.png)
雪的数量,这里添加了一个标量,为接下来做准备
![55fa0265f87eac60d897b3f4278275a7.png](https://img-blog.csdnimg.cn/img_convert/55fa0265f87eac60d897b3f4278275a7.png)
雪的覆盖范围,这里添加了一个标量,为接下来做准备
![cbe2ac3f4dfe83b030a03fd1f0a55dcb.png](https://img-blog.csdnimg.cn/img_convert/cbe2ac3f4dfe83b030a03fd1f0a55dcb.png)
![9e35f6d8e3046404519dcea4178e9ad5.png](https://img-blog.csdnimg.cn/img_convert/9e35f6d8e3046404519dcea4178e9ad5.png)
Clamp节点的值作为BaseColor、Normal等节点的Alpha
多边形细分乘数
![02817c73e2f65e3096200980af9ca559.png](https://img-blog.csdnimg.cn/img_convert/02817c73e2f65e3096200980af9ca559.png)
完整如下
![981f0f698a8b455763381363ce9e9c1f.png](https://img-blog.csdnimg.cn/img_convert/981f0f698a8b455763381363ce9e9c1f.png)
接下来,使用刚才创建好的材质创建一个材质实例,并给场景中Mesh使用该材质实例。
在场景中体现动态效果。
首先,给要产生积雪的效果的物体添加一个Actor Tag,在Details中可以看到。
Tag中输入:Snow
![1107e3bfdf592b3401b474f78027af6b.png](https://img-blog.csdnimg.cn/img_convert/1107e3bfdf592b3401b474f78027af6b.png)
打开关卡蓝图,在这里对材质中的参数进行更新,达到一个动态积雪的效果。
在BeginPlay事件中,使用创建动态材质实例节点对地面和物体进行初始化。
![bc89aacd5e2d2c34e91c651ac0744d31.png](https://img-blog.csdnimg.cn/img_convert/bc89aacd5e2d2c34e91c651ac0744d31.png)
调用事件SnowFall和Create and Set Mat
![15ba18600e64bcfe7f95ae9a82ef9e7d.png](https://img-blog.csdnimg.cn/img_convert/15ba18600e64bcfe7f95ae9a82ef9e7d.png)
SnowFall事件,这里添加了一个时间轴,使雪的数值随时间变化,达到积雪的效果。
![d4e29a3064e613a4efb1f4cb987f7357.png](https://img-blog.csdnimg.cn/img_convert/d4e29a3064e613a4efb1f4cb987f7357.png)
![80d62b00b3d919abdf76040252e16207.png](https://img-blog.csdnimg.cn/img_convert/80d62b00b3d919abdf76040252e16207.png)
时间轴,添加Float track ,设置下雪量和覆盖范围的参数
![349696e230d6d6008f5ebd293a4c585c.png](https://img-blog.csdnimg.cn/img_convert/349696e230d6d6008f5ebd293a4c585c.png)
Create And Set Mat事件,用来设置参数的一个事件。
![26d3783faab1500d14824df5d6b71fb1.png](https://img-blog.csdnimg.cn/img_convert/26d3783faab1500d14824df5d6b71fb1.png)
![0d16185c0fac3ad8255876ef1eb7b71b.png](https://img-blog.csdnimg.cn/img_convert/0d16185c0fac3ad8255876ef1eb7b71b.png)
![fd93982f2d31993ce40cec8bfec5d260.png](https://img-blog.csdnimg.cn/img_convert/fd93982f2d31993ce40cec8bfec5d260.png)
点击播放,配合空中雪花的飘落,我们就可以看到一个降雪——》积雪的效果了。
积雪材质这部分的教程到此告一段落了,虚幻引擎的材质真的很复杂,我也在不断的学习中,希望能给大家带来帮助。
帅/美的人——》
![364ad76d651d89dbcaf82a1f67d16add.png](https://img-blog.csdnimg.cn/img_convert/364ad76d651d89dbcaf82a1f67d16add.png)