UE5使用CameraShake相机震动提升游戏体验

在UE中使用CameraShake,主要是为了通过屏幕震动增强玩家的沉浸感和对游戏事件的感知,让操作反馈更真实、更具冲击力。在游戏中的角色被炮弹击中,被击飞,可以通过CameraShake来提升体验。

创建CameraShake

我们创建一个蓝图类,选择摄像机晃动基础

单一实例,勾选后,只会存在一个实例,不会出现多个相同的震动叠加的效果

Perlin 噪点摄像机晃动模式(最常用)使用 Perlin Noise(连续随机噪声)每一帧是平滑变化的,没有明显周期 适合:枪、爆炸、受击

合成摄像机晃动模式(工程级利器)把多个 Camera Shake 组合在一起,像 Layer / Stack,适合:第一 / 第三人称主摄像机,大型项目

序列摄像机晃动模式(演出专用)使用 Camera Animation Sequence 本质就是:播放一段预先做好的摄像机动画 适合:Boss / 过场 / 地震

波振荡器摄像机晃动模式(老派,但很"准")周期性非常明显"一上一下、一左一右"有节奏感 适合:呼吸晃动,心跳等

如果做战斗相机震动,推荐使用Perlin 噪点摄像机晃动模式,接下来,我们查看对应的配置项

Location,Rotation和FOV都包含振幅和频率,振幅就是幅度范围的意思相当于强度,频率就是抖动的速度

位置可以理解为相机的位置偏移,Rotation可以理解为相机的摇头,FOV相当于视角的变动

Timing是震动的生命周期

应用相机震动

我们需要上面的节点来调用即可实现相机震动效果

Epicenter相当于震源中心

Inner Radius 如果相机和震源中心的距离小于内半径,将会体验完整版本的震动效果

Outer Radius 如果相机和震源中心的距离大于外半径,将不会触发震动效果

Falloff 如果相机和震源中心的距离在内半径和外半径的中间区域,那么将根据设置的衰减值体验到一个减弱版本的震动效果

Orient Shake Towards Epicenter(朝向震源)不勾选,抖动方向由Shake定义,如果勾选,摄像机的抖动方向会指向 Epicenter,适合冲击波,爆炸等效果。

在蒙太奇里添加相机震动

如果你想在蒙太奇里添加震动效果,如何添加呢,我们需要通过动画通知实现。

先创建一个动画通知

重载已接收通知事件

在接收通知里,我们调用播放相机震动的节点,为了增加通用性,我们将参数都设置为变量,并公开

在动画蒙太奇里,我们像加其它通知一样,将当前通知添加

选中后,在右侧就可以配置对应的参数

相关推荐
深海潜水员17 小时前
【从零开始的C#游戏开发课程】- FarmStory1.0 日志系统和游戏资源的管理
游戏·c#·monogame
LabVIEW开发18 小时前
LabVIEW 机器视觉 让 FDM 3D 打印缺陷检出率达到 100%
数码相机·labview·labview知识·labview功能·labview程序
我还记得那天19 小时前
C语言随机数生成机制与猜数字游戏实现
c语言·开发语言·游戏
Swift社区19 小时前
鸿蒙游戏如何实现多端一致性?
游戏·华为·harmonyos
德迅云安全-上官19 小时前
游戏盾的原理解析与游戏盾的优势特点
游戏
小白不白11119 小时前
Invoke的用法
开发语言·人工智能·数码相机·计算机视觉·c#
张学徒20 小时前
Godot 4.x 中导入Excel文件的最简单的方式
游戏·godot·gdscript·游戏开发
Swift社区20 小时前
鸿蒙游戏如何实现稳定 60FPS?
游戏·华为·harmonyos
德迅云安全杨德俊21 小时前
游戏盾的原理解析与游戏盾的优势特点
安全·游戏·ddos