UE5 蓝图学习计划 - Day 6:角色蓝图
在 Unreal Engine 5 中,角色蓝图(Character Blueprint) 是制作游戏中可控角色的核心工具。通过角色蓝图,我们可以实现角色的基本移动、跳跃等功能,甚至可以为角色添加自定义的动画和摄像机控制。本篇将带你从零开始创建一个简单的角色蓝图,并实现基础的移动与跳跃逻辑。
什么是角色蓝图?
角色蓝图(Character Blueprint)是基于 Character 类 创建的蓝图,用于控制游戏中的玩家角色。它包含以下关键功能:
- 运动功能:Character 类自带移动和跳跃功能,支持第三人称或第一人称的移动。
- 组件结构:角色蓝图通常包含 网格组件(Skeletal Mesh)、摄像机(Camera) 和 碰撞体(Collision Capsule)。
- 输入绑定:通过蓝图可以将键盘或手柄输入绑定到角色行为。
理论学习
- 默认角色的配置
- 默认的角色蓝图基于 Character 类,它继承了多种运动功能(如跳跃和重力模拟)。
- 输入事件(Input Events)
- 输入事件用于响应玩家操作,例如键盘输入、鼠标点击等。
- 输入事件通过 Project Settings 中的 Input 设置 进行自定义绑定。
实践任务:创建简单的角色控制功能
目标
- 创建一个角色蓝图,实现以下功能:
- 使用键盘控制角色前后左右移动。
- 实现按键跳跃功能。
步骤 1:创建角色蓝图
-
打开 Content Browser。
-
点击 Add (+) 按钮,选择 Blueprint Class。
-
在弹出的窗口中选择 Character 类。
-
将蓝图命名为 BP_PlayerCharacter,然后双击打开蓝图编辑器。
步骤 2:设置角色组件
-
查看角色的默认组件:
- CapsuleComponent:角色的碰撞体,负责检测物理碰撞。
- Mesh (Skeletal Mesh):角色的骨骼网格,用于渲染角色外观。
- CharacterMovement:角色的运动组件,处理移动、跳跃、加速度等功能。
-
更换角色网格:
- 在 Details 面板 中,找到 Mesh 组件。
- 替换为默认的第三人称角色网格(例如 SK_Mannequin)。
- 如果没有SK_Mannequin的话,可以点Content Browser上的Add,从下拉菜单中选择 添加功能或内容包(Add Feature or Content Pack),在弹出的窗口中,选择 Third Person,然后点击 添加到项目(Add to Project)。
- 调整角色网格的旋转和位置。
-
调整摄像机位置(可选):
-
添加一个 Spring Arm 组件,将其设置为 Mesh 的子节点。
-
添加一个 Camera 组件,将其设置为 Spring Arm 的子节点。
-
调整摄像机位置,设置合适的第三人称视角。
-
步骤 3:设置输入事件
配置输入绑定
-
打开 Edit > Project Settings,进入项目设置界面。
-
找到 Input 设置,添加以下输入映射:
- Axis Mappings:
- MoveForward(键位:W=1,S=-1)。
- MoveRight(键位:A=-1,D=1)。
- Action Mappings:
- Jump(键位:Space Bar)。
- Jump(键位:Space Bar)。
- Axis Mappings:
蓝图逻辑实现
- 打开 BP_PlayerCharacter 的 Event Graph。
- 添加以下节点:
-
Move Forward/Backward:
-
添加一个 Axis Event: MoveForward。
-
从事件的输出连接到 Add Movement Input 节点。
-
设置 Direction 为角色的前向向量(Get Actor Forward Vector)。
-
-
Move Left/Right:
-
添加一个 Axis Event: MoveRight。
-
从事件的输出连接到 Add Movement Input 节点。
-
设置 Direction 为角色的右向向量(Get Actor Right Vector)。
-
-
Jump:
-
添加一个 Action Event: Jump。
-
连接到角色的默认跳跃功能节点(Jump 和 Stop Jumping)。
-
-
步骤 4:测试角色控制
-
将 BP_PlayerCharacter 设置为默认玩家角色:
- 新建一个Game Mode
- 打开 World Settings(窗口 > World Settings)。
- 在 GameMode Override 中选择或创建一个新的 GameMode。
- 将 Default Pawn Class 设置为 BP_PlayerCharacter。
- 新建一个Game Mode
-
点击 Play,进入游戏模式。
-
使用 W/A/S/D 控制角色移动,按下空格键进行跳跃。
注意事项
- 摄像机调整
- 确保摄像机的视角不会穿模或过远,调整 Spring Arm 的长度和角度。
- 输入映射
- 如果自定义了键位,请确保 Input Mappings 与蓝图逻辑一致。
学习收获
通过今天的学习,你已经掌握了:
- 角色蓝图的基本结构和组件配置。
- 如何通过输入事件控制角色的移动和跳跃。
- 角色蓝图与项目设置的结合应用。
下一步学习计划
接下来,我们将学习 摄像机与视角控制,让角色在移动过程中摄像机能够自动跟随角色视角。敬请期待!