UE4 回合游戏项目 15- 生成玩家、控制玩家
在上一节(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- 生成玩家、控制玩家相关推荐
- UE4 回合游戏项目 16- 控制玩家
在上一节(UE4 回合游戏项目 15- 生成玩家.控制玩家)基础上,继续完善控制玩家的步骤 步骤: 1.打开1lantu,将Alpha的值设为1,这样玩家控制的角色会随着鼠标的移动而产生一个偏头的效果 ...
- UE4 回合游戏项目 14- 添加敌人攻击
在上一篇基础上(UE4 回合游戏项目 13- 生成敌人)继续完成添加敌人攻击的功能 效果: 步骤: 我们需要在gameMode1中的开启新一次攻击前,添加敌人攻击的功能 首先需要获得敌人的索引 1.在 ...
- UE4 回合游戏项目 03- 创建战斗场景
在上一节(UE4 回合游戏项目 02- 创建人物-敌人角色(动画蓝图练习))的基础上创建战斗场景 步骤: 1.新建一个蓝图类 选择Actor 命名为battleScenario(战斗场景) 2.打开b ...
- UE4 回合游戏项目 13- 生成敌人
在上一篇(UE4 回合游戏项目 12- 添加敌人受到攻击的动画)的基础上继续完成生成敌人的功能 效果: 步骤: 1.打开battleScenario(战斗场景) 2.创建从类生成AI这个节点 现在我们 ...
- UE4 回合游戏项目 20- 添加人物被攻击的动画
在上一节(UE4 回合游戏项目 19- 添加血量UI)基础上继续添加人物被攻击时播放被攻击动画的功能. 效果:(当玩家被攻击时,播放相应的受到伤害的动画) 步骤: 1.打开"1lantu&q ...
- UE4 回合游戏项目 09- 添加人物属性值
在上一节 (UE4 回合游戏项目 08- 攻击界面UI的点击事件)的基础上添加人物属性值 步骤: 1.添加一个结构,可以用来存放一些东西,个人理解为类似于C++的结构体 命名为属性 2.双击打开属性, ...
- UE4 回合游戏项目 08- 攻击界面UI的点击事件
在上一篇(UE4 回合游戏项目 07- 创建攻击界面UI)的基础上继续完成按钮的点击事件触发 ,实现只有当点击按钮后才能开始战斗,战斗计数后再显示UI的功能. 效果: 步骤: 1.为了知道玩家点击的是 ...
- UE4 回合游戏项目 11- 添加人物攻击动画
在上一节(UE4 回合游戏项目 10- 添加怪物死亡动画)基础上添加人物攻击动画 效果: 步骤: 打开gameMode1准备在如下标注区域添加人物攻击动画的相关节点 1.添加一个蓝图接口 命名为轮到攻 ...
- UE4 回合游戏项目 10- 添加怪物死亡动画
在上一节(UE4 回合游戏项目 09- 添加人物属性值)基础上添加怪物死亡动画 效果: 步骤: 1.打开gameMode1,在事件图表中的延迟节点后新增一个应用伤害节点 Damaged Actor表示 ...
最新文章
- Java数据访问对象模式
- js添加菜单栏之后停留在那里
- matlab中方差直方图,如何规范直方图在MATLAB?
- python 波动率_旧文:历史波动率的计算 (Python)
- 区块链入局,51小长假听歌、打游戏的姿势将被颠覆!
- html5 微格式,HTML5 微格式和相关的属性名称
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_3 配置解决中文乱码的过滤器
- 大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)
- 第1章第15节:导出:如何将幻灯片保存为图片格式的文件 [PowerPoint精美幻灯片实战教程]
- 【Python机器学习】梯度下降法(三) 优矿(uqer.io)
- web开发实例教程,CSS盒子模型居中方法
- php是什么电器元件,电子元件TP是什么意思 如何封装tp的自定义标签,每个方法代表一个...
- css动画效果-animation
- bootstrap表格标题Caption位于表格下方的原因
- AR智能隐形眼镜市场前景动态及发展规划建议报告2022-2028年版
- EVE-NG模拟器教程(三)——Lab平台初探
- 关于C语言的独立(freestanding)和托管(hosted)环境
- html中加入清除浮动,HTML中清除浮动的几种办法
- windows文件隐藏之谜
- Resource体系
热门文章
- 视百年眼科受邀出席2021健康丝绸之路国际合作论坛
- 冰封王座 war3 win7 windows7 运行 不能初始化DirectX 的问题
- 计算机xp系统怎么录音,WinXP自带的录音机软件如何开启并使用
- bzoj1189 [HNOI2007]紧急疏散evacuate(二分答案+bfs+最大流判是否满流)
- 关于调试由于mediacodec硬解码时出错导致马赛克出现的弥补办法
- 【已解决】Field ‘id‘ doesn‘t have a default value 错误的解决办法
- 25款 jQuery图表开源软件
- DC域控服务器与辅助DC域控服务器创建
- 灾难片《2012》 下载
- Picgo + Gitee + Github 搭建免费图库, Typora 自动上传图片