动态积雪材质


    看到某个材质教程,动手自己做了下,记录下以供备用。附上过程和自己的理解。觉得笔者理解有误请指出..thx.

1.随便建个工程.选择带有初始素材包.

2.新建个材质,双击编辑,上图

动态积雪材质_第1张图片

做一个texture转化为参数..嗯...默认选择一张叫T_CobbleStone_Rough_D的贴图(贴图三通道均一致)。图中节点主要是控制SnowAmount参数,控制贴图绿色通道(当然其他通道也一样)顶点颜色变化,原本贴图越暗的经过上图一系列节点后输出越明,可以理解雪先积起来的地方。比如调节参数到1.5:积雪范围变大...

动态积雪材质_第2张图片

3.雪只积在上面..所以下一步选出顶部的部分。上图

动态积雪材质_第3张图片

VertexNormalWS输出的节点表示顶点的法线..嗯..看图理解吧

动态积雪材质_第4张图片

上表面的法线方向是向上(0,0,1)用颜色表示就是蓝色,其他3个看不见的表面均为黑色,红色对面(-1,0,0),绿色对面(0,-1,0),底面(0,0,-1)  -1在UE4里表现为黑色。用VertexNormalWS和(0,0,1)相乘,得到只有上表面有颜色的结果。过滤出蓝色通道和第2步结果相乘.使第二部的结果只影响到上表面

动态积雪材质_第5张图片

4.把第三步的结果作为alpha和原贴图和白色做个线性插值运行,填充黑色部分贴图,加上个幂运行控制对比度连到基础颜色材质上。这样基本颜色就完成了~~~~

动态积雪材质_第6张图片

5.材质的金属部分由1的结果经0~0.3的限制连上,表示雪经过光的反射能看出一点金属的光泽

粗糙度由1减去第3步的结果,限制0.2到1

动态积雪材质_第7张图片

6.接下来法线部分..默认法线贴图参数为T_CobbleStone_Rough_N。左边箭头部分A为第3部结果,意义为使积雪部分的法线呈现更多的细节..

动态积雪材质_第8张图片

7.最后的部分:上边箭头A为第3步结果前面一步,表示只显示上表面,找一张noise贴图,这里用T_Smoke_Tiled_D,表示上表面位移的强度。加入一个高度的参数:Tessellatioin height。要点亮多边形细分乘数和世界位移,需要选中材质,选择图中铺嵌模式,Crack Free Displacement打上勾。连接位移造成的空隙

动态积雪材质_第9张图片


动态积雪材质_第10张图片

需要注意的是下面的箭头要乘上顶点法线方向或者(0,0,1)。因为世界位移默认会造成xyz轴都位移的情况,本例只需要在z轴位移。如果不加这个节点,Tessellatioin height调到100,和不勾选Crack Free Displacement,和正常结果对比...

动态积雪材质_第11张图片


动态积雪材质_第12张图片
动态积雪材质_第13张图片

附上整个节点图,虽然看不大清楚...

动态积雪材质_第14张图片

以该材质建个材质实例...选个结果图

动态积雪材质_第15张图片

当高度调的很高时..顶部会出现刀片状..应该是noise贴图影响的..

动态积雪材质_第16张图片

你可能感兴趣的:(动态积雪材质)