使用蓝图对角色和色相头的控制
mouse X:控制场景中摄像机的左右摇移
mouse Y:控制场景中摄像机的上下摇移
moveforward(控制角色的前后移动)
- W:
- S:
moveright(控制角色的左右移动)
- A:
- D:
space bar:
W,S,A,D,space bar(空格):分别控制角色的前后左右,跳跃
注:yaw(偏航)代表的是z轴上的旋转
pitch 代表的是y轴上的旋转
roll 代表的是X轴上的旋转
mouse X事件的编写:Add controller yaw input 将鼠标的偏移值捆绑到add controller yaw input上,可以控制摄像机在z轴上的偏移。
mouse Y事件的编写:add controller pitch input 将鼠标上的值捆绑到Add controller pitch input上,可以控制摄像机在Y轴上的偏移。
通过mouse X和mouse Y两个事件的编写,就可以控制摄像机控制视角的旋转移动。
moveforward (W,S)事件的编写:add movement input 节点将玩家朝向向量与Scale Value相乘,使得不同按键控制输出不同方向的向量。通过get controller rotation 来获取摄像机的朝向,通过make rotation 在单独改变z轴(这里的个人理解是X和Y轴都是围绕着Z轴来旋转所以值获取改变z轴)然后通过get vector获取角色的前进方向的向量,再把值传到add movement input上。最后将move forward 的值传到addmovement input 上保证按下键后角色可以持续的移动。
moveright(A,D)事件的编写:该事件的编写与movement的编写类似,不同的是改变的朝向是X轴方向的(左右移动的)所以用到的是get right vector。
jump(跳跃事件的编写):使用了jump和stop jump 两个节点来控制。
角色走路速度也就是方式的切换(使用案件的方式一般游戏里使用的都是shift键)这里要修改的值是 character movement中的max walk speed 的值。获取character movement 在set max walk speed ,用到line time 时间线来过度速度的切换,是看起来更加的顺畅合理,通过flip flop(翻转)来控制按键。