UE5 大鹅的点击移动 第三人称


在这里插入图片描述

一、创建动画蓝图

这里以 UE5 从零开始制作跟随的大鹅-CSDN博客 创建的动态资产创建动画蓝图;需要用到的资产列表有:大鹅的骨骼网格体,大鹅物理资产,Idle 动画和 Walk 动画以及一些材质;

首先我们将 Physics Asset 配置给 Skeletal Mesh,然后使用两个动画创建一个 Blend Space 1D 资产;命名为 BS_goose;在 Blend Space 中,命名横坐标为 speed,并设置最大值为 120,将两个动画拖入到资产之中;

处理完毕后我们创建动画蓝图,命名为 ABP_goose;进入到 AnimGraph 中,配置 BlendSpace 1D 资产;

处理完毕后,进入到 Event Graph 之中,在这里我们需要做一个东西,那就是按照 Tick 来更新 Speed 参数进而改变 Animation 的状态;

到这里动画资产就创建完毕了;

二、创建 Location 地标

地标可以直接从网上下载也可以自己随便定义,这里是从网上下载得到:Download - MEGA;下载完毕后拖入到 UE5 中资源的文件夹中,得到如下:

其中材质可能需要重新配置,材质页面如下,这里是使用 A 通道连接到 Opacity Mask;

接下来使用静态网格体创建一个 Blueprint Actor 对象,命名为 BP_Location,该 Actor 中实现的功能很简单,简单配置 Static Mesh 和 Materials,然后在 BeginPlay 中实现一个延迟摧毁功能

Location 地标创建完毕!

三、Character 和 PlayerControl 的控制

首先创建一个 Character 命名为 BP_Character_Goose,配置好 Skeletal Mesh Asset 和 动画,调整好 Transform;接着创建一个 Spring Arm,在其中放置一个 Camera;

由于是 TopDown 游戏模式,需要调整一下 SpringArm 的长度和旋转角度,在这里需要固定旋转角度不受方向的变化,因此这里不能使用相对旋转而应该使用绝对旋转

接着我们需要关闭掉 Use Controller Rotation Yaw 和 开启 Orient Rotation to Movement 可以让 Character 转向;

然后我们可以降低一下鸭子的速度,这里设置最大速度为 200;

在这里 Character 的基础配置就完成了,接下来创建 PlayerControl:在 UE5 初始化的 TopDown 游戏中,采用的就是 PlayerControl 来控制输入;同时,为了实现按住不放运动的功能,这里可以使用 Input Mapping Context 来实现输入;创建好 Input Action 和 Input Mapping Context 如下;

配置 Input Mapping Context 如下;

这样 Input Mapping Context 就配置完毕了,接下来进入 PlayerController 中实现功能;首先是配置 Input Mapping Context 到事件中;

添加完毕后就可以正常使用 Mapping Context 功能,在这里先创建一个函数命名为 GetLocationUnderCursor,该函数主要用来获取鼠标下的位置;并设置为 Pure 而不需要主线链接;

接下来创建一个函数命名为 Follow,该函数用于实现按住不放引导 Character 移动的功能;在 Inputs 端口接受一个目标位置 Vector 变量;

接下来创建一个函数命名为 MoveTo,实现将 Character 移动到目标点的功能;在 SpawnActor 中,我们可以将 Class 提升为变量方便后续进行设置;这里的 Location 需要在 z 轴上加一个小数避免被遮挡;

最后将函数和 AI_Click 搭配如下,并在 Class Defaults 中设置 show Mouse Cursor 以至于在游戏中可以看到鼠标;其中提升了两个变量,第一个变量 Cached Location 是用来缓存 Location 方便后续移动到指定位置;第二个变量 PressedThreshold 可以防止频繁的点击移动;

设置完毕后我们可以对参数进行配置;FXCursor 可以配置为之前设置的 BP_Location,PressedThreshold 可以设置为 0.5;

四、实现效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值