看到某个材质教程,动手自己做了下,记录下以供备用。附上过程和自己的理解。觉得笔者理解有误请指出..thx.
1.随便建个工程.选择带有初始素材包.
2.新建个材质,双击编辑,上图

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

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

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

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

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

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

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

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

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


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



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

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

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