效果
可以看到当鼠标移动到视口边缘时,Pawn就会向这个方向移动。
步骤
打开项目设置,添加两个操作映射
打开“CameraPawnController”,在事件图表中添加两个浮点型变量,一个为公有一个为私有。分别命名为“ZoomSensitivity”、“MaxArmDistance”,分别表示调整弹簧臂长度时的灵敏度和弹簧臂的最大长度。
默认值分别设为50和2500
在事件图表中添加如下节点:
此时我们用鼠标滑轮就可以控制摄像机的远近,并且当摄像机距离较近时移动速度较慢,摄像机距离远的时候移动速度较快。
新建一个宏,命名为“ScreenEdgeMovement”
添加两个输入
新建两个浮点型变量,分别命名为“EdgeMoveSpeedX”、“EdgeMoveSpeedY”
在宏“ScreenEdgeMovement”中添加如下节点:
回到事件图表中添加如下节点:
由于鼠标X和鼠标Y事件不能创建两次,因此我们在第一使用他们时,在后面分别添加一个序列节点,序列节点的第二个引脚连接到上图所示的逻辑中。
添加注释:
打开项目设置,添加一个操作映射,表示按下Ctrl+鼠标中键时,弹簧臂回归默认长度
在“CameraPawnController”的事件图表中添加如下节点
最终效果如文章开头所示。