在上一节(UE4 回合游戏项目 14- 添加敌人攻击)基础上继续完成生成玩家、控制玩家的功能

现在战斗地点基本完成,于是就需要制作玩家从外部走到指定地点,从而触发战斗。本节先完成

生成玩家、控制玩家的功能。

效果:

步骤:

1.我们首先需要一个可控制的玩家角色,由WASD和鼠标进行控制

既然所有的玩家都是可控制,我们就把这些控制函数都写在玩家类里面

双击打开playerRole

WASD按键和鼠标需要在项目设置中设置

找到引擎-》输入中的操作映射和轴映射

添加一个跳跃的操作映射

只要这里加入了,在蓝图中都可以使用,如:在playerRole中的事件图表中搜索跳跃,可以看到输入-》操作事件-》跳跃

再次打开项目设置,对轴映射做如下设置:

鼠标xx可以理解为鼠标横向移动,鼠标yy可以理解为鼠标纵向移动

项目设置完后,下面给playerRole添加输入轴事件

2.在playerRole中输入鼠标xx,来添加一个名为鼠标xx的坐标轴事件

同样的,添加一个名为鼠标yy的坐标轴事件

3.添加如下节点表示:鼠标横向移动增加的是Yaw值(绕z轴旋转),鼠标纵向移动增加Pitch值(绕y轴旋转)

这样玩家的鼠标控制就建好了,下面是键盘控制

4.添加如下两个节点

这两个控制玩家的移动,通常是放到CharacterMovement里面的值

因此需要添加移动输入节点,World Direction向前向量,scale Value为旋转的值

添加如下节点来获取玩家控制器的向前向量和旋转值

同样的键盘AD需要获取的是向右向量

这样玩家的控制就设置好了

有了玩家的控制,我们还需要添加一个可控制的玩家,我们先设置玩家出生地

5.随便向场景中添加一个空Actor

打开关卡蓝图

在场景中选中这个空Actor后,在关卡蓝图中创建一个对这个空Actor的引用

然后获取这个空Actor的位置

然后需要在这个地点添加一个玩家

有了玩家后就需要设置生成的这个AI是我们控制的玩家,因此需要控制器

6.添加如下节点,获得玩家控制器,然后让控制器控制指定的角色,这里就是来控制生成的AI,也就是玩家

因为摄像机是跟随角色的,所以删除如下节点

此时运行游戏玩家是可以移动的,但是没有摄像机,因此需要给玩家添加摄像机

7.打开playerRole,添加一个弹簧臂组件

然后在弹簧臂组件中添加一个摄像机组件作为它的子项

在视口中将弹簧臂向上移动一些,然后向下旋转5°

运行游戏,可以看到玩家可以在开放世界自由活动,但是右下角存在菜单选项,因此需要去掉它 

8.有菜单是因为游戏开始运行就进入了战斗

因此打开战斗场景,删除下图所示连线

后面我们通过创建一个事件(当玩家进入指定区域)来触发战斗

然后还有个问题是只有鼠标按住才能旋转视角

9.打开玩家控制器playerController1,取消显示光标

此时运行游戏,视角可以左右移动,但是无法上下移动

10.打开playerRole,点击类默认值,然后在细节中勾选使用Pawn控制旋转

选中CharacterMovement

在细节中勾选将旋转朝向运动

点击playerRole(自身)

取消勾选使用控制器旋转Yaw,勾选这个使用控制器旋转Yaw会使得视角跟随鼠标移动而移动(设计类游戏一般会勾选这个)

此时还有一个问题就是鼠标向前推,视角会向下移动,向后推,视角会向上移动。我们可以修改引擎-》输入来解决这个问题,将鼠标Y的值改为-1

此时运行游戏,可以看到文章开头的效果了

UE4 回合游戏项目 15- 生成玩家、控制玩家相关推荐

  1. UE4 回合游戏项目 16- 控制玩家

    在上一节(UE4 回合游戏项目 15- 生成玩家.控制玩家)基础上,继续完善控制玩家的步骤 步骤: 1.打开1lantu,将Alpha的值设为1,这样玩家控制的角色会随着鼠标的移动而产生一个偏头的效果 ...

  2. UE4 回合游戏项目 14- 添加敌人攻击

    在上一篇基础上(UE4 回合游戏项目 13- 生成敌人)继续完成添加敌人攻击的功能 效果: 步骤: 我们需要在gameMode1中的开启新一次攻击前,添加敌人攻击的功能 首先需要获得敌人的索引 1.在 ...

  3. UE4 回合游戏项目 03- 创建战斗场景

    在上一节(UE4 回合游戏项目 02- 创建人物-敌人角色(动画蓝图练习))的基础上创建战斗场景 步骤: 1.新建一个蓝图类 选择Actor 命名为battleScenario(战斗场景) 2.打开b ...

  4. UE4 回合游戏项目 13- 生成敌人

    在上一篇(UE4 回合游戏项目 12- 添加敌人受到攻击的动画)的基础上继续完成生成敌人的功能 效果: 步骤: 1.打开battleScenario(战斗场景) 2.创建从类生成AI这个节点 现在我们 ...

  5. UE4 回合游戏项目 20- 添加人物被攻击的动画

    在上一节(UE4 回合游戏项目 19- 添加血量UI)基础上继续添加人物被攻击时播放被攻击动画的功能. 效果:(当玩家被攻击时,播放相应的受到伤害的动画) 步骤: 1.打开"1lantu&q ...

  6. UE4 回合游戏项目 09- 添加人物属性值

    在上一节 (UE4 回合游戏项目 08- 攻击界面UI的点击事件)的基础上添加人物属性值 步骤: 1.添加一个结构,可以用来存放一些东西,个人理解为类似于C++的结构体 命名为属性 2.双击打开属性, ...

  7. UE4 回合游戏项目 08- 攻击界面UI的点击事件

    在上一篇(UE4 回合游戏项目 07- 创建攻击界面UI)的基础上继续完成按钮的点击事件触发 ,实现只有当点击按钮后才能开始战斗,战斗计数后再显示UI的功能. 效果: 步骤: 1.为了知道玩家点击的是 ...

  8. UE4 回合游戏项目 11- 添加人物攻击动画

    在上一节(UE4 回合游戏项目 10- 添加怪物死亡动画)基础上添加人物攻击动画 效果: 步骤: 打开gameMode1准备在如下标注区域添加人物攻击动画的相关节点 1.添加一个蓝图接口 命名为轮到攻 ...

  9. UE4 回合游戏项目 10- 添加怪物死亡动画

    在上一节(UE4 回合游戏项目 09- 添加人物属性值)基础上添加怪物死亡动画 效果: 步骤: 1.打开gameMode1,在事件图表中的延迟节点后新增一个应用伤害节点 Damaged Actor表示 ...

最新文章

  1. Java数据访问对象模式
  2. js添加菜单栏之后停留在那里
  3. matlab中方差直方图,如何规范直方图在MATLAB?
  4. python 波动率_旧文:历史波动率的计算 (Python)
  5. 区块链入局,51小长假听歌、打游戏的姿势将被颠覆!
  6. html5 微格式,HTML5 微格式和相关的属性名称
  7. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_3 配置解决中文乱码的过滤器
  8. 大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)
  9. 第1章第15节:导出:如何将幻灯片保存为图片格式的文件 [PowerPoint精美幻灯片实战教程]
  10. 【Python机器学习】梯度下降法(三) 优矿(uqer.io)
  11. web开发实例教程,CSS盒子模型居中方法
  12. php是什么电器元件,电子元件TP是什么意思 如何封装tp的自定义标签,每个方法代表一个...
  13. css动画效果-animation
  14. bootstrap表格标题Caption位于表格下方的原因
  15. AR智能隐形眼镜市场前景动态及发展规划建议报告2022-2028年版
  16. EVE-NG模拟器教程(三)——Lab平台初探
  17. 关于C语言的独立(freestanding)和托管(hosted)环境
  18. html中加入清除浮动,HTML中清除浮动的几种办法
  19. windows文件隐藏之谜
  20. Resource体系

热门文章

  1. 视百年眼科受邀出席2021健康丝绸之路国际合作论坛
  2. 冰封王座 war3 win7 windows7 运行 不能初始化DirectX 的问题
  3. 计算机xp系统怎么录音,WinXP自带的录音机软件如何开启并使用
  4. bzoj1189 [HNOI2007]紧急疏散evacuate(二分答案+bfs+最大流判是否满流)
  5. 关于调试由于mediacodec硬解码时出错导致马赛克出现的弥补办法
  6. 【已解决】Field ‘id‘ doesn‘t have a default value 错误的解决办法
  7. 25款 jQuery图表开源软件
  8. DC域控服务器与辅助DC域控服务器创建
  9. 灾难片《2012》 下载
  10. Picgo + Gitee + Github 搭建免费图库, Typora 自动上传图片