
这几天尝试了一下做第三人称游戏,做了一些基础的工作,这个DEMO可以:
1.WASD 前后左右移动
2.F向前发射子弹
3.空格键跳跃
第三人称的镜头设置
控制镜头方向的蓝图

首先需要有一个概念就是,Actor中会有一个控制器的方向和自己的方向,在这里调用鼠标的轴会改变控制器的方向,这个物体的移动也会遵循控制器方向移动。
在玩家的actor中

- SringArm可以理解为当前人物的自拍杆,并且遇到碰撞的时候可以伸缩,避免摄像头在某个墙外导致不能看到人物。摄像头附在SringArm上
- Camera 摄像头
- Arrow 是一个箭头,它确定子弹的发射位置
在SringArm的设置中

- 注意存在一个Camera Settings,他可以控制是否用pawn来控制方向,如果勾选这个选项的话,它的方向会跟着控制器方向来移动。
- 下面的3个选项是选择是否继承上一层物体的方向
在玩家的actor的类默认值中

-
前3个选项是决定这个 actor 的方向是否保持和控制器的方向一致,这里如果选择yaw,那么这个cube的方向随时都会在水平面上的方向保持与控制器方向一致,这里没有选择这个选项,因为这不符合一般第三人称游戏的常态,一般第三人称游戏在转换镜头方向的时候人物是不会改变方向,这个问题在下面解决。
image.png
这个中有一个设置可以让Actor的方向更新到与运动方向一致。它改变方向的机制和移动有关,它会把actor的方向更新到actor正在运动的方向,第一排设置方向转换的速度。
image.png
关于如何发射子弹的方向

在projectileMovement有一个设置可以设置子弹的方向和初速度,最好设置一个空的根节点
关于骨骼动画

1.第一个是动画蓝图,控制动画的播放
2.第二个是动画混合,用于混合多个动画效果
动画蓝图中

Speed = Velocity vectorLength
Direction = pawn相对于control的相对方向
动画混合

speed范围 0 - 375
direction范围 -180 - 180
白点设置了在某些情况下播放的骨骼动画,引擎会自动混合这些动画,让它连贯起来。这里完成的效果比较基础,混合出来的动画效果其实并不好。
网友评论