在虚拟仿真与可视化系统中,摄像机视野的控制至关重要。用户通常通过键盘的 W、A、S、D 键进行前后左右移动,使用 Q 和 E 键实现上下移动;同时,通过鼠标右键进行视角的旋转,并利用鼠标滚轮来调整视野的缩放。这篇文章将详细介绍如何在 UE5.3 中利用蓝图实现这些摄像机控制功能,帮助开发者创建更加沉浸式的虚拟环境体验。
准备工作#
绑定轴映射#
在菜单栏找到编辑 -- 项目设置 -- 引擎 -- 输入 -- 找到轴映射,进行下图设置:
其中,MoveForward 表示鼠标 WS 控制相机前后移动,MoveRight 控制左右移动;MoveUp 控制上下移动;Turn 和 LookUp 分别控制相机视野的左右和上下旋转;Zoom 控制相机视野缩放。
创建相机控制蓝图#
创建一个继承于 Pawn 的蓝图类,命名为 BP_CamController
打开蓝图添加组件:分别添加 SpringArm、FloatingPawnMovement、Camera (作为 SpringArm 子组件) 这三个组件,如下图:
蓝图节点连连看#
实现相机前后左右移动#
在事件图表中,右键输入 MoveFroward 和 MoveRight 添加 WASD 输入事件,并根据下图连接相关节点即可。
实现相机上下左右旋转#
在事件图表中,右键输入 Turn 和 LookUp 添加鼠标 X 和 Y 事件,并根据下图连接相关节点即可。
实现相机上下移动#
在事件图表中,右键输入 MoveUp 添加 QE 输入事件,并根据下图连接相关节点即可。
实现相机视野缩放#
在事件图表中,右键输入 Zoom 添加鼠标滚轮输入事件,并根据下图连接相关节点即可。
(SpringArm 为弹簧臂组件的引用)
将相机蓝图放置于场景中#
在内容菜单里找到 BP_CamController 拖放置场景中合适的位置,并在细节面板中找到 Pawn 栏将 Use Controller Rotation Pitch 和 Use Controller Rotation Yaw勾选,将Auto Possess Player设置为 Player 0。
如果需要相机更加平滑移动,可以选中 SpringArm 组件设置其滞后栏中的 Enable Camera Lag 和 Enable Camera Rotation Lag 为勾选状态,也可以设置相应的平滑速度
运行即可使用鼠标键盘控制相机的视野了,其他可以根据需求进行微调。