文章目录
- 章节目标
- 前置概念
- Rotator与Vector:
- roll与yaw与pitch
- 添加按键输入
- 蓝图结构
- 区域1
- 区域2
- 区域3
- 区域4
章节目标
本章节将实现FPS基础移动
前置概念
Rotator与Vector:
Vector是用向量表示方向,UE中玩家的正前方是本地坐标系的(1,0,0),X轴正方向为前方,Y轴正方向为右方,Z轴正方向为上方
Roator是UE中的概念,通过旋转角度表示方向,Rotator的(0,0,0)等价于Vector的(1,0,0),Rotator的(0,0,90)等同于Vector的(0,1,0),沿Z轴往正方向转90度就是正右
roll与yaw与pitch
对应三个不同轴的旋转操作
Roll X轴
Yaw Z轴
Picth Y轴
添加按键输入
Edit/ProjectSetting/Input
蓝图结构
区域1
负责前后移动
inputAxisMoveForward是按键事件
GetControlRotation获取控制器的正前方向,用Rotater表示,GetForwardVector将Rotater转为Vector,然后交给移动节点
区域2
负责左右移动
这里使用了两种方式实现左右移动
InuptAxisMoveRight获取鼠标按键
方法1 先用GetControlRotation获取正前方,然后用MakeRotator生成一个(0,0,90)的旋转,将两者用CombineRotators相乘,最后用GetForwardVector转为向量
方法2 先用GetControlRotation获取正前方,然后用GetRightVector直接获取右方
区域3
负责左右旋转
区域4
负责上下俯仰
仅仅有蓝图是不够的,俯仰时只有相机在动,模型不会跟随相机旋转
还需要做两步操作
1在左侧点击
然后在右侧Details面板里找到Pawn,勾选如下
2 在左侧Componets里点击AddCompoent,搜索添加Camera
在viewport窗口里将相机移动到合适的位置