中文技术直播第二期,材质编辑中向量运用(总结)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/zhangxiaofan666/article/details/99677548

1 Object Postion的运用

如果将该阶段放到base color上

那么移动物体发现物体颜色会根据它的位置发生变化

来用下SpeedTreeColorVariation节点

调整变量的值发现不同位置的叶子的颜色是不一样的

来研究下SpeedTreeColorVariation这个材质函数

它就是将物体的位置拿出来乘以一个值,这里PerInstanceRandom是每个Instance都会给出一个随机值

二 VertexNormalWS节点

顶点法线的信息,如果mask出rgb信息分别得到顶点法线的xyz三个值

如果将下面这段逻辑作为basecolor的话,可以看到,mask出了顶点法线的z值,减去一个参数,乘以一个参数,同它来作为Lerp从白色到草色的Alpha,如果顶点法线朝上,Alpha越大,越靠近B的值,也即白色,反之,草色

效果:雪地中的草

顶点法线朝上的就是白色否则就是草的颜色

同理还有个PixelNormalWS,这个是像素顶点,这个应该更加精细吧

三 Dot节点

如果相机向量和像素法线点积,外侧点积为0,因为垂直,黑色,中心点积为1,白色,内白外黑

取反后就内黑外白

在这段逻辑中,明显有了更丰富的变化

在原来的纯白色节点改成了菲涅尔,作为Alpha,从蓝Lerp到白,细节更丰富

四 如何用Lerp来混合三种颜色

混合两种颜色比较容易,用一张噪声来做alpha

这样做:

第一个lerp混红和绿,让一个TexCoord的R通道中0到0.5的值用于混合红和绿,0.5到1混合蓝

如果把纹理的R通道改成一张噪声纹理,效果就变了

五 做出叶子的流动自发光

先将这段逻辑放到EmissiveColor上,由于地板是个2040*2040大小的,使用了绝对世界位置

效果如下

再将Panner加进来,就出现了流动效果

效果

六 Distance

使用Distance用来取得两个坐标的距离

在视频中

七 制作战争迷雾效果

可以在蓝图中给材质设置参数,每一帧去更新参数(主角位置等等)

只不过设置参数完后,将材质给到渲染目标中

将这个材质放到地板上这个TextureSample是上面那个RT渲染目标

效果如下:

八 将该效果应用到树叶中

我们把上面流动叶子材质的这个TextureSample改成这个渲染目标

效果

将去反的节点断掉

效果

九 将燃烧后的叶子掉落下来

做下叶子的offset

原理:用一个噪声混合两个z方向为负的4维向量,减absuloteWorldPosition乘以(0,0,-1),再用连到Lerp的B节点,A节点是0,Alpha是AbsoluteWorldPosition位置除以地板宽度,Saturate,也即在人物附近的叶子,就会掉的多,否则掉的少

选择Subsurface次表明,模拟雪地透光效果

将这段逻辑连接到SubSurfaceColor上

最终效果:

猜你喜欢

转载自blog.csdn.net/zhangxiaofan666/article/details/99677548
今日推荐