oulehui 发表于 2020-11-25 16:48

Unreal | 又是例子



上回说到制作室内的灰尘效果,(传送门unreal|粒子系统)我们已经完整的在场景里面加上灰尘粒子,并且调节了他的发射属性等,如图效果;




接下来我们来处理材质方面的效果。
1新建材质球   

我们在项目中新建一个材质material,并且取一个好听的名字M_Dust.然后双击打开,为了便于观看,我们将材质显示方式改为面片





在材质里面添加节点particular color,这个节点实际上是用来加载我们在particular里面设置的粒子效果的。我们可以在粒子中设置alpha或者transparency,设置的结果都将用在节点中产生效果。






比如,现在我们将particular color连接到材质的base color以后,




在粒子窗口中,选择required节点,然后在左边属性面板中加载我们材质球的名字M_Dust,然后保存材质和粒子设置。




回到场景窗口,就可以看到粒子已经有了我们新建的材质效果




2创建节点RadialGradientExponential
我们直接把这个节点连接到basecolor上面,就会在预览视图里面看到他会让我们的粒子一个径向边缘模糊的渐变效果




然后切换到场景里面的时候如图;




但是如果直接连接到basecolor的话,粒子里面的属性就没有办法通过particular来进行传递,所以我们只能将节点RadialGradientExponential连接到材质的Opacity中,默认情况下材质的Opacity没有暴露出来,需要在左边属性面板里面将Blend Mode更改为Translucent








3粒子属性Color Over Life
这个粒子属性里面有两个主要的参数,一个是Color Over Life,另外一个是Alpha Over Life,对应的就是节点里面particular color的rgb通道和alpha通道。




打开Color Over Life->Distribution->ConstantCurve->Points;里面有两个数字属性0和1,0表示在粒子出生的时候,可以在下面设置大小以及颜色;1表示粒子在消失的时候的大小和颜色等属性。




比如现在我们设置粒子的出生颜色为红色(1,0,0)




然后在场景里面粒子就会呈现出从红色出现到白色消失的一个过程




但是我们现在重点调节的不是color的设置,而是alpha的设置。如果我们想用粒子里面的alpha属性来控制粒子的渐入渐出,就需要结合材质里面的节点RadialGradientExponential。

将RadialGradientExponential和particular color的alpha相乘,然后输出到Opacity中,就可以得到当粒子出生时,particular color的值为0,然后乘上RadialGradientExponential以后的值也为0,即出生时是透明的,然后等到后面alpha的值变为1后,透明度又变成了1.到粒子死亡的时候,透明度又变回0.




然后我们在粒子属性里面,给粒子多加一个状态,让它在透明度变换上面他有更多过程,0(0,0)1(0.2,1)2(1,0)




4Initial Size
适当调节初始粒子的大小Max(1,25,25)Min(3,25,25)




5Spawn
减小Constant的值到10,会减小时间段内出生的粒子数量




如果我们想要粒子一出生就会有一个状态的话,那需要先在Emitters的黑色窗口上面点一下,然后就会出来Emitters的属性,我们设置Warmup的值为1




现在看场景里粒子就有一个比较好的运动状态了
6Distance
粒子运动状态完整以后,如果想要让我们拉近摄像机的时候,粒子消失,完后拉远的时候粒子又出现,就需要制作一个根据距离变换的opacity的效果。
首先新建一个distance blend的节点,这个节点就可以结合不同的距离设置,并且右键将此节点设置为Start Previewing Node,这样子我们就可以在预览里面直接看到这个节点的效果




我们在view里面拉远摄像机,就可以看到默认状态下,随着距离的增加,从某一段距离开始,粒子会从黑色变成白色状态








但是这个变化的距离是默认的,我们需要给手动输入一个blend的距离为200,start diffuse的距离为-100,并将最后的值与上面透明组变换值做一个乘法,然后输入到opacity中




最后我们就可以在场景里面观察效果啦(假装是动图)




随后我们可以根据最后的效果进行一些数值调整
这个场景的内容就完结撒花啦!祝在看的各位明天都能过个节
- End -
页: [1]
查看完整版本: Unreal | 又是例子