UE5自学记录(第五天)

前言

从今天开始,尝试跟做一个完整流程的简单游戏,所以知识点可能比较杂,故尝试做一下分类

快捷键用红色标出,选项设置用黄色标出,蓝图用蓝色标出

1.创建新项目

从虚幻启动器打开引擎,创建新的空白项目,进入引擎后,按住Ctrl+N新建一个地图,选择基本地图,打开后即为基本地图的场景,按住Ctrl+S保存此地图,并重命名

接下来在右上角找到设置,打开项目设置,将你的编辑器开始地图游戏默认地图设置为这个基本地图

2.导入可能用上的资产

在fab中寻找免费的合适的资产,如角色:Wizard for Battle Polyart(Wizard for Battle Polyart (战斗巫师) Polyart |晶圆厂),地图:Stylized Fantasy Provencal(Search | Fab)特效:FX Variety Pack(FX Variety Pack | Fab)Niagara loot effects(Basic Pickups VFX Set (Niagara) | Fab

注意选择的资源要和引擎版本兼容(PS:资源兼容的慢,以后学习的话用比最新版本的引擎低一个版本号的更好,比如说最新5.5.4,你就在5.4上学习,这样就不愁找不到适合5.5引擎的资源了)

如果在Fab上添加到库后,引擎启动器中搜索不到,可以刷新一下

还记得如何查看资源是什么吗?在导入的资源中找到Map,会有资源的展示,确定资源类型后分好类

解决导入的地图草是黑色的问题

打开项目设置,搜索虚拟纹理,启用后重启即可

2.地形制作

为了简化制作流程,复制资源的场景到我们的初始地图中,在资源的Maps文件夹下找到Main场景,在右侧的大纲中搜索Landscape找到这张地图的地形,选择按Ctrl+C复制,再回到初始地图,在大纲中选中初始地图(编辑器),按Ctrl+V粘贴,地形就复制完成了

地形模式

接下来对这张地图进行编辑,在上方工具栏中选择地形模式,会有很多工具帮助你进行地形的制作

添加删除地块

如果地图太大/太小,可以在管理中删除/添加地块,橙色的部分就是你将要操作的部分,修改笔刷大小可以一次性操作边长为笔刷大小的地块的增加或删除

平整地形

然后在雕刻中找到平整,将地形制作成平地,快捷键【】快速便捷的可以缩小,增大笔刷。

绘制地皮

如果草太多的话,可以在绘制中选中Dirt泥土覆盖Grass草,调整为自己喜欢的样子

植物模式

地形模式的草是贴图,是纹理,没有碰撞体积,而植物模式中,是以静态网格体为对象添加植物的,有碰撞体积,可以在资源的Meshes文件夹中选取植物批量添加

可以一次性随机添加多个物体,也可以一个一个单个添加

3.创建角色蓝图

创建角色,动画配置,摄像机组件

在绘制好地形后,可以开始主角的蓝图逻辑制作了,现在就要用到蓝图类的角色蓝图,角色蓝图继承自Pawn,Pawn继承自Actor

创捷一个角色基类,所有人物都派生于这个基类,再创建子蓝图类,命名为主角,双击打开主角蓝图

在细节中选中网格体,使用资源中的骨骼网格体资产,会发现此时角色没有装进胶囊方框内,这个胶囊方框就是胶囊体组件,方框为触发区域,例如子弹打中方框的区域才会扣血,蓝色箭头为角色正面朝向,所以要对他进行调整

调整好参数后,给主角选择一个待机动画如(Idle01Anim)

然后将资源中角色的武器复制过来,绑定到角色网格体下方

并绑定角色的武器插槽,重置武器的所有位置参数

现在,一个不会动主角就完成了,现在,玩家要操作他的话,首先要一个摄像机,要游戏知道我们玩家要控制他,所以先给他添加一个摄像机

在添加中搜索弹簧臂组件摄像机组件,添加调参(修改摄像机的高度应修改弹簧臂的长度),编译保存

将游戏场景的主角设置为你自己的角色

然后在场景编辑界面找到主角,在细节中搜索玩家,修改自动控制玩家为玩家0

完成后效果如下:游戏开始时视角自动移动到主角摄像机上

这种方法适用于角色一开始便在地图上的游戏,另一种方法是添加游戏模式和玩家控制器,如下图:

然后双击打开游戏模式蓝图,修改玩家控制器类为自己的玩家控制器,修改默认pawn类为自己的主角

然后在设置中找到世界场景设置,修改游戏模式重载为游戏模式1,并关闭之前将主角设置的玩家0,调整出生点位置,运行后角色就会出现在出生点了

此时效果如下:

虚幻5(UE5)增强输入系统

输入操作

接下来为了让角色移动起来,将使用到虚幻5的增强输入系统,现在新建一个文件夹,右键打开菜单,找到输入操作,重命名(这个输入操作会产生什么效果)

双击打开后,里面的值类型适用于:

布尔值为按下按键即触发事件的时候,例如按M打开地图

Axis1D:仅控制左右 或 前后移动时

Axis2D:仅控制前后左右移动时

Axis3D:控制三维多个方向时

在此需要选则Axis2D并保存

输入映射场景

接下来继续打开菜单,找到输入映射情景,重命名,双击打开

输入映射情景的作用是将按键和你的输入操作关联起来,首先添加按键映射WASD如下图:

接下来修改具体参数,假设W为X轴正向,D为Y轴正向(直角坐标系),那么A为Y轴负方向,S为X轴负方向,此时:

W键不修改,S键在修改器处添加一个否定表负方向

D键在修改器处添加一个拌合输入轴值,用于将X轴变为Y轴,A键在添加拌合输入轴值的基础上添加一个否定即可

注册增强输入系统

完成后回到角色蓝图,搜索:获取玩家控制器GetEnhancedInputLocalPlayerSubsystemIsValid添加映射上下文。逻辑如下:

此时可以鼠标框选所有逻辑+C键添加注释:

接下来搜索输入操作的名称(移动),选中增强动作事件,展开,有多个输出口

增强输入事件的常用输出口含义

Triggered:按下按键持续触发事件

Started:按下按键的那一刻触发一次事件

Completed:抬起按键的那一刻触发一次事件

角色移动逻辑

搜索 获取控制旋转获取向前向量获取向右向量添加移动输入,逻辑如下:

完成后保存编译,效果如下:

角色旋转逻辑

接下来实现主角的旋转,添加一个旋转的输入操作,并设置为Axis2D,完成后在输入上下文中添加映射

并进行细节的修改,鼠标X为X轴的旋转,无需修改,鼠标Y为Y轴的旋转,所以需要添加拌合输入轴值,如果仅仅添加拌合输入轴值,那么鼠标上抬时摄像机向上移动视角向下移动,不符合操作习惯,所以再加上一个否定以符合操作习惯

接下来编写旋转蓝图,并修改细节中的使用Pawn控制旋转

目前效果如下:

然后选中角色移动,找到将旋转朝向运动勾选,选择主角(自我),找到使用控制器旋转Yaw,取消勾选即可完成

编译后运行效果如下:

两者的区别是一个角色始终背对摄像机,朝着视角方向移动,另一个是角色静止时可以四周观察,向着视角方向移动。

但第二种这样做还存在一个BUG,即摄像机越高,移动速度越低,这是因为之前的移动逻辑是获取控制器的旋转来获得运动的朝向的,那么就需要修改逻辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值