【UE】一个扫描效果(不使用后期处理体积)

效果

步骤

一、制作扫描效果

  1. 在3dsmax中新建一个圆形

设置半径为50mm,勾选"自适应"

转换为可编辑多边形

导出

  1. 打开虚幻编辑器,导入制作好的模型
  1. 创建一个材质,这里命名为"M_Sphere"

打开"M_Sphere",添加一个"VectorToRadialValue"节点,

此时预览"VectorToRadialValue"节点效果如下:

"VectorToRadialValue"节点的引脚"LinearDistance"输出结果如下

我们可以通过"Power"节点将渐变范围扩大

将材质的混合模式改为"半透明",着色模型改为"无光照"

更改一下颜色:

降低不透明度

  1. 打开之前导入的圆形静态网格体,设置材质为"M_Sphere"
  1. 新建一个actor蓝图类,这里命名为"BP_scan"

打开"BP_scan",添加一个静态网格体组件,静态网格体设置为"circle"

接下来在事件图表中添加圆形波纹从小变大的逻辑,主要通过"设置场景范围3D"节点实现:

由于是在一定时间范围内变化,就需要添加一个时间轴节点

双击打开时间轴节点,添加两个关键点,分别是(0,0)和(5,1),此时输出的Alpha就会在5秒内从0变为1

将输出的Alpha乘100,表示Alpha就会在5秒内从0变为100,从而圆形网格体就会在1秒内放大100倍

  1. 打开玩家控制的蓝图"FirstPersonCharacter"

添加一个新图表,这里命名为"扫描系统"

在新图表真牛逼添加如下节点,表示当按下1键时,会在玩家位置处生成"BP_Scan",生成"BP_Scan"后,"BP_Scan"自己会在1秒内放大100倍

此时效果如下:

可以看到扫描波纹扩散后并没有消失,我们需要在蓝图"BP_scan"中设置延迟一段时间后波纹消失

如果希望能够一次产生两次扫描效果,我们可以在角色蓝图的新图表中设置生成一次"BP_scan"后延迟0.3s再生成一次

二、制作小型冲击波效果

  1. 打开"BP_scan",添加一个球体组件

设置球体的材质同样为"M_Sphere"

在事件图表中设置球体也会被放大

设置两个静态网格体的碰撞预设均为"NoCollision"

  1. 接下来修改下"BP_scan"中球体的材质,先复制一份材质"M_Sphere"

该材质节点如下

  1. 将材质"M_Sphere_2"给到"BP_scan"的球体

对球体和圆形分别设置放大过程,在开始时设置球体可视

0.5s后设置隐藏球体

  1. 为了让球体的顶部和底部渐变消失,打开材质"M_Sphere_2",首先添加如下节点

将参数"Desity"的默认值修改为3,继续添加如下节点

为了让球体一直面对着玩家,我们需要在"BP_scan"中设置球体的旋转

效果如文章开头所示。

参考视频链接

https://www.bilibili.com/video/BV1Ty4y1P7j9/?spm_id_from=333.337.search-card.all.click&vd_source=36a3e35639c44bb339f59760641390a8

相关推荐
ue星空8 小时前
UE5滚轮控制目标臂长度调整相机距离
ue5·游戏引擎·虚幻
qq_428639618 小时前
虚幻基础:ue引擎的碰撞
虚幻
OSwich16 小时前
【虚幻C++笔记】接口
c++·笔记·虚幻
woshihedayu2 天前
虚幻引擎使用AI行为树控制角色移动,没有播放动画蓝图的问题
游戏引擎·虚幻
charon87782 天前
虚幻引擎 Anim To Tex| RVT | RT
虚幻·技术美术
北冥没有鱼啊3 天前
UE 使用事件分发器设计程序
游戏·ue5·ue4·游戏开发·虚幻
笑鸿的学习笔记5 天前
虚幻引擎5-Unreal Engine笔记之“将MyStudent变量设置为一个BP_Student的实例”这句话如何理解?
笔记·ue5·虚幻
qq_428639616 天前
虚幻基础:碰撞&帧运算
游戏引擎·虚幻
努力的小钟7 天前
虚幻引擎UActorComponent的TickComponent详解
游戏引擎·虚幻
维度攻城狮8 天前
高效创建工作流,可实现类似unreal engine的蓝图效果,内部使用多线程高效执行节点函数
python·游戏引擎·开源软件·虚幻·graph·工作流