从Blank项目开始,利用自带的第三人称游戏人物设置视角
看起来很简单,但是每次做到这里我都要调整好久,那就记录一下吧!
第一人称游戏视角
一、初始准备:
创建一个Blank项目。创建一个Game Mode,一个BP_Character,一个Controller;将地图的WorldSetting中的GameMode部分设置为自己刚创建的这些值;将第三人称的人物导入(这里我只想要骨骼和动作以及Mesh,不需要导入第三人称的Character和Controller等,可以导入后再删掉),给BP_Character选择好骨骼、默认动作等。BP_Character就是作为玩家要控制的角色。
二、设置输入控制:
1. 在Project Settings中添加输入
2. 在Character中添加响应
3. 这个时候如果进行游戏,那么前后左右的移动是没有问题的,但是显然看不到人物对吧,因为没有摄像机。游戏开始的时候在Play Start的地方生成了这个人物,但是没有对这个人物的相机,只有一个默认的相机生成,所以下一步就是添加一个相机。
三、相机的添加
1. 先尝试直接在人物背后添加一个摄像机,调整到合适的位置,其他属性都不做改变
2. 现在进行游戏,发现摁W键的时候角色在向左移动,摁A键却向后移动,这是为什么呢?然后我就发现其实是Character中的一个组件“ArrowComponent”搞的鬼啊!!!,它指向哪儿,哪儿就是前方!!!然后看看上一个图,它指向的是人物的左方,所以左边就是前方,也就是说,如果点击W键让他向前移动,那他就会向人物左方向移动。
3. 找到原因就好办啦,旋转人物和相机,使人物的前方与Arrow保持一致。
四、现在开始游戏,玩家就会拥有人物的视角啦,第一人称视角就完成了!
第三人称游戏视角
在第一人称的视角上做改变即可
一、添加弹簧臂,弹簧臂的作用可参考官方文档使用弹簧臂组件,我的理解就是减震,减轻各种碰撞穿透等对相机造成的影响。
1. 把弹簧臂Spring Arm作为相机的父组件。Spring Arm的“Camera Settings”属性“Use Pawn Control Rotation”设置为True。
这个属性的解释还是很详细的,可以自己看一下。简单来说,如果这里不设置True,那么相机和人物就不会有相对的旋转,就是说无论怎么转,人物始终是背对相机的;设置为True的话,如果人物向后移动,那么玩家就能看到人物的转身,就能看到人物的正脸啦!