一、模拟衣服材料
首先我们来观察下面衣服材质
第一个图是棉毛织物,第二个图是丝绸,m黄线表示表面最高的位置,b蓝线表示表面边缘位置。我们可以看出棉毛织物的m线比较亮,b线比较暗,而丝绸的m线比较暗,b线是比较亮的,所以下面我们要使用菲尼尔效果模拟不同布料的效果。
神秘海域2的衣服光照公式,这里感谢John Hable和Ben Cloward的分享。
二、打开UE,新建材质,打开Shader Graph
Camera Vector是由物体顶点指向摄像机的向量,它会一直朝向你的眼睛,在Shader Graph6-Dot Product节点(上)中讲过了,PixelNormalWS为物体像素法线方向。
它的效果与之前的效果的一样的,因为我们的两个参数都是1,下面我们改一下参数值。先将Power的Exp的值改为4,出现下面第2个图效果,继续修改Multiply的参数B改为4,出现下面第3个图效果,第一个图是两个参数都是1的情况。
我们发现参数1控制内部光亮的范围,参数2控制内部光亮的强度。现在内部的光亮有了,然后我们需要加个外部的光亮。
修改一下Shader代码,添加外部效果,外部效果我们需要多加一个OneMinus节点,最后还要使用Add节点将两个效果叠加,下面我们的参数都改为4的效果。
三、下面我们添加一个布料的Texture,测试一下我们的Shader。注意这里我们把参数调整为参数1=1,参数2=0.5,也就是内部亮度变暗,发光的范围变小。参数3=3,参数4=1.5,也就是外部不发光的部分变大,亮度变暗。
不打光的情况是图一,打光的情况是图二。
在UE中Material左上角Lit为打光,Unlit为不打光。
文章来源:https://www.toymoban.com/news/detail-406168.html
这里面我们引入两个贴图,一个是布料的Texture,一个是布料的Normal。这里需要注意的是,要将布料的Normal转换为世界坐标,才可以与Camera Vector进行点积运算。最后我们的布料Texture要与内外光圈叠加的结果相乘,然后把Normal连接到Normal上。文章来源地址https://www.toymoban.com/news/detail-406168.html
到了这里,关于Shader Graph6-Dot Product节点(下)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!