玩家设置【上】:开发角色相机与鼠标瞄准相关功能;
(一)、设置游戏模式与默认角色
1.创建游戏模式类蓝图BP_ShootSprider_GameMode,新建人物角色蓝图BP_ShootSpider_Player;打开模式蓝图,将默认pawn类改为BP_ShootSpider_Player;编译保存。
2.在场景文件夹选择最外层文件夹世界大纲,右键选择世界场景设置,将游戏模式重载选项设置为BP_ShootSprider_GameMode保存。(此时运行为下坠不可移动的游戏模式)
3.编辑BP_ShootSpider_Player;网格体选项中骨骼网络设置为Marine,位置改为(0,0,-90);旋转为(0,0,90),编译保存。
(二)、设置角色相机
4.(直接翻找)添加springarm(弹簧臂)组件以驱动相机,添加camera(相机组件),拖拽至弹簧臂选项下使之成其子物体自动贴附在线上;
5.旋转弹簧臂(0,-60,0);目标臂长度设置为1000增大视野范围;将旋转变换选择设置为世界场景(即绝对旋转,角色转身时摄像机不转身),点击取消“进行碰撞测试”选项(启用后当角色与物体碰撞时摄像机将拉近寻找合适角度),编译保存。
(三)、设置玩家移动
6.“场景设置-项目设置-引擎-输入“轴映射点击两次加号命名为MoveF/B和MoveL/R,分别添加”W“键”S“键”游戏手柄左摇杆Y轴“和”A键“”D键‘“游戏手柄左摇杆X轴”,其中S键A键缩放设置为-1;
7.编辑BP_ShootSpider_Player的事件图表,右键新建MoveF/B和MoveL/R事件,新建两个addmovement input(添加移动输入)节点,其scale value引脚分别与两个事件的axis value引脚相连,worldDirection值分别设置为(1,0,0)和(0,1,0);
此时测试项目可对角色进行前后左右固定视角移动;
(四)、俯视射击的鼠标瞄准
三坐标轴别称:x-roll y-pitch z-yaw
获取鼠标移动速度及其x,y轴分量通过arc tan a/b计算得角色需要移动的角度:
8.创建UpdateAiminput函数;函数蓝图中右键新建getPlayerController(获取玩家控制器)节点,与拖拽引脚(必须拖拽)新建出的getInputMounseDelta(获取输入鼠标差量)节点的引脚相连(每帧返回鼠标移动的像素得到鼠标位移),
9.新建getWorldDeltaSeconds(获取场景差量)节点每帧返回时间),新建vector2d/float(向量2d/浮点)节点,分别连接其引脚;此时返回鼠标移动速度;
将以上节点块收缩成函数getMouseVelocity;
进入该函数,创建returnNote(返回节点)节点,分别连接引脚;
10.进入UpdateAiminput函数,将getMouseVelocity函数右侧设置里勾选纯函数和常量;分割该函数返回值引脚;
纯函数承诺不以任何方式修改状态或类的成员,而非纯函数可以自由修改状态。纯函数通常用于只输出数据值的getter函数或运算符。
非纯函数必须通过将执行线连接到事件图表中的函数调用称为来显式执行。
11.右键新建atan2(degrees)