UE5-使用Paper2D制作【HD-2D】风格–角色移动篇01
文章导读
2D像素主要痛点是,2D平面的角色,在3D场景中移动时旋转的控制,即面片要永远面朝镜头,同时允许角色四周移动,并切换对应朝向,AI也是使用行为树控制AI行走的逻辑和玩家操作逻辑又有不同
准备内容:在项目设置,引擎-渲染 中,将抗锯齿方式 改为 快速模拟抗锯齿FXAA,这样 像素角色不会失真,关闭动态模糊
一,角色蓝图准备
1.做的是像素角色,所以应用到了paper2D插件,创建角色蓝图,使用PaperCharacter类
2.在角色蓝图中添加【弹簧臂】和【摄像机】组件,摄像机使用电影摄像机组件,放在弹簧臂子级
弹簧臂目标臂长设置为1200,旋转Y:-20,旋转Z:-90
3.并在Sprite组件中,右侧细节面板设置已经制作好的 源图像序列视图,【待机动作】
4.左侧组件列表中,选中蓝图组件列表中最顶部的自身,在右侧细节面板中,取消勾选使用控制旋转Yaw
这里是因为,用的2D素材在场景中移动,不需要控制旋转,镜头朝向一直是固定的
二.创建移动输入
1.操作输入,我们使用UE5.1新增的增强输入(轴映射输入法在默认UE5.1版本后,官方默认想弃用的)在内容浏览器中,右键创建,2个文件【输入操作】,【输入映射情境】
2.我们将【输入操作】,改名为【IA_移动】,打开该文件,将值类型,设置为【Axis2D】
3.将【输入映射情境】改名为【 IMC_默认输入】,并打开。添加映射,选中【IA_移动】,添加键盘映射
4.在角色蓝图中新增函数【创建增强输入】,并在函数内添加新建的输入映射,并在角色蓝图【事件图表】事件开始运行时引用
5.角色移动完整蓝图
上面是整体蓝图,下面拆解讲一下,因为怕直接拆家的话,有人可能会遗漏引脚连线,所以先放整图
5.1 X轴方向控制
这里就是通过按键A和D的时候 向左右移动,可能有人会问,既然是向前向量,为什么是控制左右,这里就要回到我们2D角色的说明
因为这里2D角色,如果纯2D游戏,那角色向前向后,其实在屏幕上表现就是 左右移动(卷轴横版游戏),所以在此蓝图上,我们将左右移动作的X轴用向前向量获取,然后添加到移动中
新建一个枚举值文件,添加3个枚举,待机,向左移动,向右移动
新增自定义事件,并重命名为【设置行动状态】
在【细节】面板中,添加一个【输入】命名为【移动状态枚举】,类型选择为我们新建的枚举文件
将自定义事件中,的移动状态枚举,添加为变量,并将该变量的【复制】项,选择为 RepNotify,选择完后,会自动出现一个OnRep开头的函数
在On Rep函数中,我们直接使用Switch节点,来控制3个状态时角色的旋转 和播放的动画(如果有走路和跑步两种,这里可以通过枚举值再通过速度,来判断播放跑步动画,还是走路动画)
回到【事件图表】,按键释放时,执行事件【设置行动状态】为【待机】,x轴大于0时,执行【向左移动】,小于0则执行【向右移动】
总结:到这里2D平面角色,移动控制相关逻辑就结束了,可在场景中进行控制,其实整体逻辑和3D角色差不多,就多了一步控制角色面向左右翻转,且在上下移动的时候,角色不会被90度翻转,导致因为是面片而看不见角色。
共有 0 条评论