【UE 材质】力场护盾和冲击波效果

目录

效果

步骤

一、制作力场护盾材质

二、制作冲击波材质效果 

三、制作冲击波粒子效果

四、制作震动效果


效果

步骤

一、制作力场护盾材质

1. 首先新建一个第一人称角色游戏模板

2. 新建一个材质,用于作为力场护盾的材质,这里命名为“Mat_forcefield”

【UE 材质】力场护盾和冲击波效果_第1张图片

打开“Mat_forcefield”,设置混合模式为“半透明”,着色模型为“无光照”,勾选双面(因为希望在力场护盾里面也能看见材质效果)

【UE 材质】力场护盾和冲击波效果_第2张图片

在该材质中添加“Fresnel”节点,通过该节点我们可以得到边缘为1、相机观察的中心为0的输出结果

【UE 材质】力场护盾和冲击波效果_第3张图片

【UE 材质】力场护盾和冲击波效果_第4张图片

我们可以通过给“ExponentIn”引脚传值来控制“Fresnel”的边缘效果,该值越小边缘效果越明显

【UE 材质】力场护盾和冲击波效果_第5张图片

我们继续通过“Lerp”节点来混合两种颜色

("Lerp" 节点用来混合两种颜色,这对于实现颜色渐变、混合效果或过渡效果非常有用。通常,我们会将两种颜色连接到 "A" 和 "B" 输入,然后使用 "Alpha" 输入来指定混合的权重。)

【UE 材质】力场护盾和冲击波效果_第6张图片

为了显示被赋予材质的物体与其他物体交叉时产生边界线的效果,我们可以使用“DepthFade”节点,如果此时我们做如下连接:

【UE 材质】力场护盾和冲击波效果_第7张图片

可以看到被赋予材质的物体在于其他物体相交时会有消隐的效果

【UE 材质】力场护盾和冲击波效果_第8张图片

并且如果输入的“FadeDistance”值越大,消隐的距离就越多

【UE 材质】力场护盾和冲击波效果_第9张图片

如下,此时我们就可以看到交叉的部分有一个边缘效果

【UE 材质】力场护盾和冲击波效果_第10张图片

【UE 材质】力场护盾和冲击波效果_第11张图片

调整透明度:

【UE 材质】力场护盾和冲击波效果_第12张图片 【UE 材质】力场护盾和冲击波效果_第13张图片

如果觉得边缘效果太明显,可以给“FadeDistance”输入一个值

【UE 材质】力场护盾和冲击波效果_第14张图片

【UE 材质】力场护盾和冲击波效果_第15张图片

3. 下面我们想把纹理也结合到材质上

首先找到模板工程自带的纹理“T_Tech_Hex_Tile_M”

【UE 材质】力场护盾和冲击波效果_第16张图片

将该纹理应用到材质中

【UE 材质】力场护盾和冲击波效果_第17张图片

如果我们希望纹理UV平铺次数增加,可以添加如下节点,这里我们设置平铺次数为10,可以看到纹理密度增加了10倍

【UE 材质】力场护盾和冲击波效果_第18张图片

如果我们认为纹理太清晰,我们可以通过乘上一个0~1之间的数来调整纹理的不透明度

【UE 材质】力场护盾和冲击波效果_第19张图片

二、制作冲击波材质效果 

1. 新建一个actor蓝图类,用于表示力场护盾蓝图,命名为“BP_ForceField”

【UE 材质】力场护盾和冲击波效果_第20张图片

打开“BP_ForceField”,先添加一个球形碰撞组件

【UE 材质】力场护盾和冲击波效果_第21张图片

将该组件指定为新的根组件

【UE 材质】力场护盾和冲击波效果_第22张图片

再添加一个球形的静态网格体,调整缩放使其正好能够被球形碰撞组件包裹

【UE 材质】力场护盾和冲击波效果_第23张图片

给球形静态网格体赋予我们步骤一创建的材质

【UE 材质】力场护盾和冲击波效果_第24张图片

在事件图表中添加一个球形组件命中时的事件

【UE 材质】力场护盾和冲击波效果_第25张图片

我们可以先测试一下当子弹击中actor时会不会有打印信息:

【UE 材质】力场护盾和冲击波效果_第26张图片

可以看到是有打印信息的

【UE 材质】力场护盾和冲击波效果_第27张图片

2. 这里额外提一句,如果想要类似于曳光弹的效果,最简单的方法是将子弹的材质换成自发光材质,然后拉伸一下:

【UE 材质】力场护盾和冲击波效果_第28张图片

3. 回到材质“Mat_forcefield”,添加如下节点,我们给主要给“SphereMask”节点传入两个位置(一个是本材质的世界位置,另一个是自定义的参数位置)和一个半径参数,表示在本材质基础上创建一个圆心是“pos”,半径是“半径”的球体,球体和材质相交的圆形部分会被新的材质代替

【UE 材质】力场护盾和冲击波效果_第29张图片

【UE 材质】力场护盾和冲击波效果_第30张图片

【UE 材质】力场护盾和冲击波效果_第31张图片

4. 打开蓝图“BP_ForceField”,添加如下节点,表示在子弹命中立场护盾(本acotr)时,我们创建了一个动态材质实例来替换命中区域的材质,并且设置材质“Mat_forcefield”中的参数“pos”和“半径”

,其中参数“pos”的值由检测到的碰撞点的位置决定,参数“半径”由用户自己设置

【UE 材质】力场护盾和冲击波效果_第32张图片

此时当子弹碰到力场护盾后就会在命中区域替换新材质

 

如果我们想让新加在力场护盾上的材质有一个渐变的效果,如下:

 为了实现如上效果,我们需要在蓝图“BP_ForceField”中继续添加一个时间轴节点

【UE 材质】力场护盾和冲击波效果_第33张图片

时间轴内容如下:

【UE 材质】力场护盾和冲击波效果_第34张图片

5. 回到材质“Mat_forcefield” 中,添加一个“Sine”节点

【UE 材质】力场护盾和冲击波效果_第35张图片【UE 材质】力场护盾和冲击波效果_第36张图片

此时效果如下:

如果我们将“Sine”节点的句号键设置为0.5

【UE 材质】力场护盾和冲击波效果_第37张图片

此时击中的效果如下: 

【UE 材质】力场护盾和冲击波效果_第38张图片

如果我们希望击中时叠加一个效果,我们可以继续在材质“Mat_forcefield” 添加如下节点 

【UE 材质】力场护盾和冲击波效果_第39张图片

【UE 材质】力场护盾和冲击波效果_第40张图片 【UE 材质】力场护盾和冲击波效果_第41张图片

此时击中力场护盾的效果如下:

【UE 材质】力场护盾和冲击波效果_第42张图片

再添加一个“Max”节点

【UE 材质】力场护盾和冲击波效果_第43张图片

【UE 材质】力场护盾和冲击波效果_第44张图片

再将限制范围改到0~15

【UE 材质】力场护盾和冲击波效果_第45张图片

此时击中效果如下

【UE 材质】力场护盾和冲击波效果_第46张图片

 三、制作冲击波粒子效果

1. 新建一个级联粒子系统,这里命名为“P_Debri”

2. 再新建一个材质,这里命名为“Mat_dot”

【UE 材质】力场护盾和冲击波效果_第47张图片

打开材质“Mat_dot”,设置混合模式为“半透明”,着色模型为“无光照”

【UE 材质】力场护盾和冲击波效果_第48张图片

添加如下节点,其中"RadialGradientExponential" 材质函数节点用于创建径向梯度效果。这个节点通常用于创建径向渐变效果,其中颜色或其他属性从一个中心点向外扩散,呈指数级衰减。

【UE 材质】力场护盾和冲击波效果_第49张图片

3. 打开粒子系统“P_Debri”,在“必需”模块中设置材质为“Mat_dot”

【UE 材质】力场护盾和冲击波效果_第50张图片

设置“初始速度”模块中的起始速度如下所示

【UE 材质】力场护盾和冲击波效果_第51张图片

设置“生成”模块中比率为50

【UE 材质】力场护盾和冲击波效果_第52张图片

设置“生命内颜色”模块中的颜色为(22,2,0.1)

【UE 材质】力场护盾和冲击波效果_第53张图片

在“必需”模块中设置“屏幕对齐”为“PSA速度”

【UE 材质】力场护盾和冲击波效果_第54张图片

在“初始大小”模块中,设置起始大小如下

【UE 材质】力场护盾和冲击波效果_第55张图片

添加一个“加速度/生命”模块

【UE 材质】力场护盾和冲击波效果_第56张图片

在该模块中我们添加三个点

【UE 材质】力场护盾和冲击波效果_第57张图片 【UE 材质】力场护盾和冲击波效果_第58张图片

【UE 材质】力场护盾和冲击波效果_第59张图片

【UE 材质】力场护盾和冲击波效果_第60张图片

这样就能使粒子在z轴方向上首先以500大小的加速度发射出去,然后在0.5处时加速度逐渐变为-200,最后,加速度到达-20000,效果如下:

【UE 材质】力场护盾和冲击波效果_第61张图片

在“生成”模块中,设置生成比率为0

【UE 材质】力场护盾和冲击波效果_第62张图片

 在“爆发”选项中,添加一个喷发列表,数量设为50

【UE 材质】力场护盾和冲击波效果_第63张图片

此时效果如下:

【UE 材质】力场护盾和冲击波效果_第64张图片

再添加一组元素

【UE 材质】力场护盾和冲击波效果_第65张图片

此时效果如下:

【UE 材质】力场护盾和冲击波效果_第66张图片

为了让粒子只播放一次,我们需要在“必需”模块中设置“发射器循环”为1。(0表示无限循环)

【UE 材质】力场护盾和冲击波效果_第67张图片

我们复制一份发射器

【UE 材质】力场护盾和冲击波效果_第68张图片

在新发射器中,设置“生命内颜色”模块的颜色如下:

【UE 材质】力场护盾和冲击波效果_第69张图片

在两个发射器的“必需”模块中,设置他们在Y轴方向上的旋转值为90°

【UE 材质】力场护盾和冲击波效果_第70张图片

【UE 材质】力场护盾和冲击波效果_第71张图片

4. 为了能够在子弹击中力场护盾时触发粒子,在蓝图“BP_ForceField”的事件图表中添加如下节点

【UE 材质】力场护盾和冲击波效果_第72张图片

其中,粒子生成时的位置由碰撞点获得:

【UE 材质】力场护盾和冲击波效果_第73张图片

粒子的生成方向由“Impact Normal”提供

【UE 材质】力场护盾和冲击波效果_第74张图片

此时效果如下:

可以看出两段粒子效果间隔的比较久

我们这里对两个发射器中的“生成”模块做如下修改,将第二个喷发列表成员的时间由0.5改为0.1

【UE 材质】力场护盾和冲击波效果_第75张图片

如果觉得粒子发射后下降的太快了,我们需要将两个发射器中的“加速度/生命”模块中的如下值有-20000改为-5000

【UE 材质】力场护盾和冲击波效果_第76张图片

 

四、制作震动效果

1. 打开材质“Mat_forcefield”,添加如下节点

【UE 材质】力场护盾和冲击波效果_第77张图片

【UE 材质】力场护盾和冲击波效果_第78张图片

【UE 材质】力场护盾和冲击波效果_第79张图片

最终效果如下

参考视频链接:

https://www.youtube.com/watch?v=hQeJETEUzE4&t=503s

你可能感兴趣的:(#,虚幻4,材质学习,#,虚幻4,粒子特效,虚幻4,材质,UE)