溶解特效制作

概述

本文中可以学到4个之前暂时跳过的全新知识点

  • 材质参数集资产1
  • 材质中的”已遮罩”混合模式2
  • 材质中的if节点以及过场动画中的”材质参数轨道”3

总之都是干货啦,开始吧~

具体操作

首先,先准备好溶解特效的蒙版贴图

将贴图导入后,新建一个材质参数集资产并起名为”溶解参数集”

4

5

打开参数集,添加一个标量参数,起名为“Alpha”,意为不透明度,1为正常,0为完全溶解消失。6

材质参数集的作用就是可以在游戏运行时改变材质中的一些数值,可以产生材质的动态变化。

随后打开要被做成溶解特效的材质,以金币材质为例,

7

看上去相当复杂,但不用管,只需稍加改造即可。

首先去细节面板,将混合模式改为“已遮罩”

8

混合模式 用途
不透明 普通不透明的材质
已遮罩 相当于材质只覆盖了表面的一层,可以修改局部的不透明度
半透明 常用于玻璃水面等材质,可以有折射特效,但只能对整体进行不透明度的修改

然后将“溶解参数集”拖入,参数名选择Alpha

10

将贴图拖入,并建一个if节点,按如下摆放并与“不透明蒙版”相连

9

解释:贴图是一张黑白图,黑白图的RGB为同一个数,而不透明蒙版中输入0为全透明,1为完全不透明,因此可在运行时调整Alpha(从0到1),使贴图蒙版中红色(因是黑白图,所以取哪个都是一样,因为要浮点与浮点才能比较,所以只能取其中一个值,而不能取RGB,因为RGB是向量Vector类型的变量)大于等于那个值的部分显示(蒙版输入1)小于那个值的部分消失(蒙版输入0)。TexCoord之前有提过,按T加左键,用于缩放贴图的密度,UV数字越大密度越高,案例中将U和V都设置成了4。

if节点的作用:

输入 说明
A 输入一个浮点值
B 输入一个浮点值
A>B A>B时输出的内容(不一定只能是浮点,可为任意类型)
A==B A=B时输出的内容(不一定只能是浮点,可为任意类型)
A<B A<B时输出的内容(不一定只能是浮点,可为任意类型)

到此就建立完毕了,所有套用了这个材质或者所有以这个材质为父类建立的材质实例的物体都会应用溶解的效果

使用

过场动画中的使用

建立一个过场动画,添加一条材质参数集轨道,选择之前建立的“溶解参数集”

11

随后添加一个Alpha轨道

12

添加一些关键帧(如图分别为0,1,0)

13

拖动时间轴可以看到物体溶解然后复原

14

蓝图中的使用

在蓝图中调用这个节点“设置标量参数值”,Collection输入创建的参数集,Parameter Name输入要改变的参数,Parameter Value输入值

15