目录
效果
步骤
一、多摄像机视角切换
二、摄像头自动旋转巡视
三、摄像头跟踪拍摄
效果
步骤
一、多摄像机视角切换
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