【UE4 RTS游戏】04-摄像机运动_鼠标移动到视口边缘时移动Pawn
效果
可以看到当鼠标移动到视口边缘时,Pawn就会向这个方向移动。

步骤
打开项目设置,添加两个操作映射

打开“CameraPawnController”,在事件图表中添加两个浮点型变量,一个为公有一个为私有。分别命名为“ZoomSensitivity”、“MaxArmDistance”,分别表示调整弹簧臂长度时的灵敏度和弹簧臂的最大长度。

默认值分别设为50和2500


在事件图表中添加如下节点:

此时我们用鼠标滑轮就可以控制摄像机的远近,并且当摄像机距离较近时移动速度较慢,摄像机距离远的时候移动速度较快。

新建一个宏,命名为“ScreenEdgeMovement”

添加两个输入

新建两个浮点型变量,分别命名为“EdgeMoveSpeedX”、“EdgeMoveSpeedY”

在宏“ScreenEdgeMovement”中添加如下节点:



回到事件图表中添加如下节点:

由于鼠标X和鼠标Y事件不能创建两次,因此我们在第一使用他们时,在后面分别添加一个序列节点,序列节点的第二个引脚连接到上图所示的逻辑中。



添加注释:

打开项目设置,添加一个操作映射,表示按下Ctrl+鼠标中键时,弹簧臂回归默认长度

在“CameraPawnController”的事件图表中添加如下节点

最终效果如文章开头所示。