【UE4 RTS】04-Camera Pan

前言 

本篇实现了CameraPawn的旋转功能。

效果 

步骤

1. 打开项目设置,添加两个操作映射

2. 打开玩家控制器“RTS_PlayerController_BP”,新建一个浮点型变量,命名为“PanSpeed”

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

 此时运行游戏可以发现当鼠标移动时,CameraPawn会围绕Z轴进行相应的旋转,但是按下W键时前进方向并不是旋转后的正方向:

上面的问题在下一篇文章中会解决。我们此时已经完成了CameraPawn绕Z轴旋转的逻辑,这里再将CameraPawn绕Y轴旋转的逻辑补充完整:

 需要对CameraPawn的Y轴旋转范围做一个限制

这里我们不想让鼠标一直控制CameraPawn的旋转,因此我们可以通过Gate节点来控制,只有当我们按下鼠标中键触发“Pan”事件时,Gate节点的门才打开,此时才会控制CameraPawn的旋转。

显示鼠标光标:

或通过勾选如下选项来显示鼠标光标

这里我们不希望在控制CameraPawn旋转时,CameraPawn能够被移动,因此这里新增一个布尔类型的变量,命名为“DisabelCanMovement”,表示“不能移动是真还是假”

 然后当CameraPawn即将旋转前对该变量进行设置,旋转的时候设置不能移动,不旋转的时候设置为可以移动。

 然后在CameraPawn移动的逻辑中对该变量进行判断,只有“DisabelCanMovement”为假的时候才能够移动

 此时运行游戏可以发现CameraPawn的旋转和移动不能同时进行了。再添加如下节点,实现重置CameraPawn在Y轴方向上的旋转

猜你喜欢

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