【UE4 RTS游戏】03-摄像机运动_旋转视角
创始人
2024-05-31 02:43:12

效果

可以通过WASD控制“CameraPawn”的移动;通过鼠标中键旋转视角;通过alt+鼠标中键将视角回归默认值;通过shift加速移动。

步骤

  1. 打开“CameraPawnController”,给如下节点添加注释,命名为“MovementX”

  1. 接下来开始开始编辑“MovementY”相关的逻辑

首先从“MovementX”中复制一些节点

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

将“MovementX”中除了输入输出节点外的其它节点全部复制到“MovementY”中,然后给输入输出节点拖入引脚。

重命名输入输出的引脚

将“AxisValue”דMoveSensitivity”דSpeedMultiplier”的值赋给创建的新向量的Y

  1. 回到事件图表中,运用宏“MovementY”

此时已经可以控制“CameraPawn”在X和Y轴上移动了:

  1. 在项目设置中,添加一个操作映射

  1. 返回“CameraPawnController”,添加一个浮点型变量,命名为“PanSensitivity”,设为公有,表示旋转灵敏度

设置默认值为5

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

当按下鼠标中键时,设置“CameraPawn”无法移动。把鼠标X的值与旋转灵敏度相乘再加上“CameraPawn”当前的Z轴的旋转值,将这个旋转值结果重新赋给“CameraPawn”的旋转。

此时运行游戏效果如下所示:

将“Pan X”的节点复制一份,作为“Pan Y”只需更改如下两个部分

将pitch的值限制在-15~45之间

此时的运行效果如下所示:

但此时的的问题是,如果以一个倾斜的视角再控制“CameraPawn”进行移动后,“CameraPawn”在Z轴上的位置就会发生改变,也就是会“遁地”或“升天”

  1. 打开“CameraPawn”,选中“Sphere”,然后将位置Z的值从100改为0

再回到“CameraPawnController”的事件图表中,添加如下标注的节点。其实意思就是让宏“Movement Y”输出的transform中的location中的Z轴的值固定为100。

此时再运行游戏就不会出现之前的bug了。

  1. 再次打开项目设置,添加一个操作映射,勾选Alt(意思是只有按下Alt键再按鼠标中键才会执行PanRest事件)

再回到“CameraPawnController”的事件图表中,添加如下节点:

此时我们按下alt+鼠标中键,就可以将视角重新设置回默认值

  1. 如果我们想按住shift来加速移动“CameraPawn”,可以添加如下节点

最终效果:

相关内容

热门资讯

撕开0蔗糖营销假象:代糖套路暗... 来源:金综科技当下健康消费热潮中,各类饮品、酸奶主打“0蔗糖”卖点,深受减脂、控糖人群青睐。但多数商...
中央第七生态环境保护督察组交办... 本报乌鲁木齐讯(全媒体记者 张贝) 2026年6月10日,中央第七生态环境保护督察组向兵团交办第...
自治区推动爱国卫生工作由环境卫... 本报乌鲁木齐讯(全媒体记者 郑娅莉) 今年5月1日,新修订的《新疆维吾尔自治区爱国卫生工作条例》...
知名车企停产三款国产电车!知情... (来源:车联新生态)据多家媒体报道,宝马将于今年7月起全面停产i3、i5、iX1三款国产纯电车型。针...
哪款好智能手表排行榜 中老年家... 清晨量血压前顺手抬腕查看昨夜深睡时长,服药提醒在表盘轻震浮现,散步途中血氧饱和度实时波动曲线悄然生成...