购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.8 溶解材质制作

如图2-123所示,游戏特效制作中,物体溶解是一种特殊效果,它不同于传统物体整体的淡入淡出,而是使物体任意部分开始重新组合,或是将完整的物体随机解体。由于溶解材质常用来表现物体被撕碎,因此这种材质效果也可以称为“撕裂材质”。溶解材质原理是对物体Opacity透明通道进行调节,使纹理透明通道最后全部输出白色或全部输出黑色。透明通道中输入黑色代表透明,白色代表不透明。如果材质透明通道中输入数据全部是黑色,这个物体也就完全“消失”了。

如图2-124所示,是溶解材质的基础节点示意图,包含基本的材质溶解思路。属性值为1的一维常量连接材质Base Color作为物体的基本颜色,添加If条件判断表达式,示例中将纹理表达式的Alpha通道与If表达式的A节点进行连接(纹理尽量使用黑白贴图),连接点使用单通道,不要使用RGB混合通道。添加Time、Sine与Abs三个表达式输出曲线数值,连接If表达式的B节点,目的是在B节点输入随时间变化而不断变化的数值,与A节点纹理表达式的图案数据进行对比。If表达式的条件判断节点添加两个一维常量,分别赋值1与0,需要If表达式根据A与B节点的数值判断结果,输出白色或是黑色。

图2-123

图2-124

If表达式将A节点纹理图案与B节点的变化数值进行对比,如果纹理图案中的像素矩阵数值比B节点输入的数值大,由于满足A>=B的条件,数值为1的常量表达式生效,所以大于B节点数据的部分便会显示白色;反之,满足A<B的条件,数值为0的常量表达式生效,结果显示黑色。打开If表达式的预览,可以看到不同时间段内A、B输入点数据对比的结果。If表达式的结果连接到材质Opacity透明通道,单击工具栏Apply按钮应用材质,在场景中将这个材质赋予一个物体就能够看到这个材质的表现效果了。

刚开始学习材质的时候可以依照着案例的连线来制作,有些连接是纯公式型的,也就是只有一种标准材质连线方式。做的东西多了,也就能够理解为什么要这样连接材质节点了。

接着来解析一个进阶案例,溶解的边缘部分添加高亮边缘。这种溶解时边缘高亮的表现方式是溶解材质制作中最常用的,如图2-125所示。

图2-125

这个案例中,如图2-126所示,保留了刚刚介绍的基础溶解材质节点部分(框选区),使读者能够利用上个案例的基础材质节点来进阶制作。在基础溶解表达式组旁边新建一个If条件判断表达式,把纹理表达式与动态数据(Time、Sine、Abs)的结果连接到新的If表达式A与B节点。区别是纹理表达式在连接第二个If表达式以前,与数值为0.05的常量表达式做了个减法运算,相减结果连接到新If表达式的A节点。这样可以使纹理表达式的数据在两个If表达式中有0.05差值。读者可以把它看作两个人在赛跑,第一名与第二名之间有0.05秒的间隔时间。

图2-126

将两个If表达式使用Subtract(减法)表达式连接,相减结果保留了两个If表达式之间0.05的差值纹理,而两个If表达式叠加的纹理部分被抹去了。就像两个在赛跑的人,他们跑过的路程全部抹去,只保留两人之间的距离。这个0.05的常量数值,就是两人间的距离。常量数值是可以自行修改的,这个常量数值的作用是调整边缘发光带的大小。添加一个乘法表达式,把两个If表达式相减的结果,连接到乘法表达式的A节点,建立一个三维矢量,属性中把它的R、G、B通道数值分别设置为0、1、20,将三维矢量连接到乘法表达式B节点。

两个If相减的结果与三维矢量进行相乘的作用是给溶解边缘做上色与高亮。新建一个三维矢量表达式,把它的R、G、B通道分别赋值3、0.5、0。新建一个Add加法表达式,把刚才建立的三维矢量连接到Add表达式的A节点,把连接了If相减结果与三维矢量的乘法表达式连接到Add表达式的B节点,最后连接Add表达式的结果到材质自发光Emissive Color通道。在预览窗口中可以看到材质当前的表现形态。读者可以尝试以这组材质节点为基础,在溶解动画的细节上进行个性化处理。 Ptd8Xs+doIKL0qD2lWHV9Ap0jXEckS2ktdLxES/TpZ1gjVKw3hEX5n1hafYGfldy

点击中间区域
呼出菜单
上一章
目录
下一章
×