UE5 - 实现可操作角色教程1(添加可移动、可跳跃角色)
作者:hangge | 2025-10-23 09:41
大多数游戏最重要的要素之一就是有一个可以接收输入并实时反馈效果的可操作角色。本文演示如何利用“角色”类蓝图、动画蓝图和按键等相关知识制作一个可操作的角色。















(2)要想让角色能够自动朝向移动的方向,首先在“组件”面板中选择“BP_ThirdPersonCharacter(自我)”组件,在“细节”面板中取消勾选“使用控制器旋转 Yaw”选项。
1,准备资源
(1)首先我们从 Fab 商城下载“PN_tropicalGroundPlants”这个资源并添加到我们的项目中。具体步骤可以参考我之前写的文章:
(2)使用该资源是由于其内部以及包含了一个可用的人物模型:

(3)以及相应的动画蓝图方便我们使用。

2,添加输入映射
(1)执行“编辑 > 项目设置”菜单命令进入“项目设置”窗口。

(2)在“引擎 - 输入”卷展栏中新建 4 个轴映射,将轴映射的名称分别改为 “LookUp” “Turn”“MoveForward”“MoveRight”
- “LookUp”映射绑定在“鼠标 Y”上,设置“缩放”为 -1.0
- “Turn”映射绑定在“鼠标 X”上,设置“缩放”为 1.0
- “MoveForward” 映射与“MoveRight” 映射分别用 “W”“S”“A”“D”键控制。注意“A”与“S”的“缩放”要设置为负数

3,创建角色蓝图
(1)在“内容浏览器”面板中新建一个一个“角色”类蓝图

(2)并将其命名为“BP_ControlledCharacter”

4,添加角色蓝图逻辑
(1)打开刚创建的“BP_ControlledCharacter”角色蓝图,添加如下鼠标控制视野的蓝图逻辑。

(2)接着添加如下通过键盘 ASDW 控制人物前后左右移动的逻辑。
- 下面是另一种写法,效果是一样的:

(3)最后添加如下通过空格实现人物跳跃的逻辑。

5,角色模型设置
(1)进入“BP_ControlledCharacter”角色蓝图视口,在“组件”而板中选择“网格体(CharacterMeshO)”组件,在“细节”面板中设置“骨骼网格体”为我们前面下载资源包中的“SK_Mannequin”

(2)让模型朝向正前方,且脚底与胶囊体底部处于同一个平面,此时组件的“位置”为 (X:0.0,Y:0.0,Z:-88),“旋转” 为(X:0.0,Y:0.0,Z:-90)。

(3)在“细节”面板中设置“动画类”为前面下载的资源包里的“ThirdPerson_AnimBP”

6,添加摄像机
(1)在“BP_ControlledCharacter”角色蓝图的“组件”面板中为胶囊体组件添加一个弹簧臂组件,该组件的名字为“SpringArm”,再为弹簧臂组件添加一个摄像机组件。
提示:SpringArm 是一个有意思的组件,直译为弹簧臂,作用是控制相机与角色之间的距离。当相机被其他物体阻挡到的时候,SpringArm 会将相机向靠近角色的方向拖动, 避免相机的视野被阻挡。

(2)选中弹簧臂组件,在“细节”面板中勾选“使用 Pawn 控制旋转”选项,取消“进行碰撞测试”选项,最后编译并保存蓝图。

7,运行测试
(1)将新建的角色拖曳到关卡中。

(2)选择角色后在“细节”面板中设置“自动控制玩家”为“玩家 0”

(3)保存后进入 PIE 运行模式,就可以看到一个可以操作的角色。我们可用通过鼠标控制视野,使用键盘控制移动和跳跃。

附一:让角色朝向移动的方向
(1)上面的样例当我们控制角色前后左右移动时,会发现角色始终面朝着画面前方,即左右移动为侧向移动,向后移动其实是后退。即始终背对着我们。


(3)然后选择“角色移动细节(CharMoveComp)”组件,在“细节”面板中勾选“将旋转朝向运动”。当然我们也可以同时跳转下旋转速率 Z,这个决定了角色转动身体的速度。

(4)运行游戏,当我们使用键盘操作角色前后左右移动时,角色也会转向移动的方向。



附二:调整移动速度和跳跃高度
(1)选中角色后,通过“细节”面板里的“最大加速度”“最大行走速度”可用调整移动的速度。

(2)而在“角色移动:上跳/下落”卷展栏中的“跳跃 Z 速度”则用于设置跳跃高度。
全部评论(0)