【UE5】监控摄像头效果(下)

目录

效果

步骤

一、多摄像机视角切换

二、摄像头自动旋转巡视

三、摄像头跟踪拍摄


效果

步骤

一、多摄像机视角切换

1. 打开玩家控制器“MyPlayerController”,添加一个变量,命名为“BP_SecurityCameraArray”,类型为“BP_SecurityCamera”的对象引用且是数组类型

添加一个新函数,这里命名为“HasCamera”

该函数判断数组“BP_SecurityCameraArray”是否为空

添加一个整型变量,命名为“BP_SecurityCameraIndex”

添加两个新函数,分别命名为“NextCamera”和“PriviousCamera”,表示用于获取下一个/上一个的相机索引

函数“NextCamera”逻辑如下,判断当前的相机索引是否超过相机总数,如果超过了就返回第一个相机,没有就加1

函数“PriviousCamera”逻辑如下

添加一个新函数,命名为“SetViewTargetAsActiveCamera”,设置当前视图目标为当前相机索引对应的摄像机视角

2. 打开“BP_ThirdPersonCharacter”,新建一个宏,用来获取玩家控制器“MyPlayerControlller”的引用

在事件开始后就调用该宏

在按下F键后先调用函数“HasCamera”来获取场景中的“BP_SecurityCamera”对象,将其存储进数组。在按F键后设置“BP_SecurityCameraIndex”为0

通过Q键、E键切换视角为上一个/下一个相机

3. 在场景复制3个“BP_SecurityCamera”

此时效果如下,我们可以通过Q、E键来切换这三个摄像机的视角,通过F键让视角返回玩家

二、摄像头自动旋转巡视

为了实现摄像头在没有检测到目标时能够自动旋转巡视的功能,打开“BP_SecurityCamera”,在事件图表中添加如下节点

时间轴曲线如下,关键点分别为(0,0),(5,-45),(15,45),(20,0)

此时可以看到摄像头可以自动旋转巡视周围

三、摄像头跟踪拍摄

在“BP_SecurityCamera”中添加如下节点,先判断玩家和摄像头距离是否小于1000cm,如果是的话就让摄像机一直朝向玩家

当玩家没有处于1000cm范围内就启动自动旋转巡视

参考视频:

https://www.bilibili.com/video/BV1ZX4y1Y74y/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/134884198