UE5 蓝图学习计划 - Day 6:角色蓝图

在 Unreal Engine 5 中,角色蓝图(Character Blueprint) 是制作游戏中可控角色的核心工具。通过角色蓝图,我们可以实现角色的基本移动、跳跃等功能,甚至可以为角色添加自定义的动画和摄像机控制。本篇将带你从零开始创建一个简单的角色蓝图,并实现基础的移动与跳跃逻辑。

什么是角色蓝图?

角色蓝图(Character Blueprint)是基于 Character 类 创建的蓝图,用于控制游戏中的玩家角色。它包含以下关键功能:

  1. 运动功能:Character 类自带移动和跳跃功能,支持第三人称或第一人称的移动。
  2. 组件结构:角色蓝图通常包含 网格组件(Skeletal Mesh)、摄像机(Camera) 和 碰撞体(Collision Capsule)。
  3. 输入绑定:通过蓝图可以将键盘或手柄输入绑定到角色行为。

理论学习

  1. 默认角色的配置
    • 默认的角色蓝图基于 Character 类,它继承了多种运动功能(如跳跃和重力模拟)。
  2. 输入事件(Input Events)
    • 输入事件用于响应玩家操作,例如键盘输入、鼠标点击等。
    • 输入事件通过 Project Settings 中的 Input 设置 进行自定义绑定。

实践任务:创建简单的角色控制功能

目标

  • 创建一个角色蓝图,实现以下功能:
    1. 使用键盘控制角色前后左右移动。
    2. 实现按键跳跃功能。

步骤 1:创建角色蓝图

  1. 打开 Content Browser。

  2. 点击 Add (+) 按钮,选择 Blueprint Class。

  3. 在弹出的窗口中选择 Character 类。

  4. 将蓝图命名为 BP_PlayerCharacter,然后双击打开蓝图编辑器。

步骤 2:设置角色组件

  1. 查看角色的默认组件:

    • CapsuleComponent:角色的碰撞体,负责检测物理碰撞。
    • Mesh (Skeletal Mesh):角色的骨骼网格,用于渲染角色外观。
    • CharacterMovement:角色的运动组件,处理移动、跳跃、加速度等功能。
  2. 更换角色网格:

    • 在 Details 面板 中,找到 Mesh 组件。
    • 替换为默认的第三人称角色网格(例如 SK_Mannequin)。
    • 如果没有SK_Mannequin的话,可以点Content Browser上的Add,从下拉菜单中选择 添加功能或内容包(Add Feature or Content Pack),在弹出的窗口中,选择 Third Person,然后点击 添加到项目(Add to Project)。
    • 调整角色网格的旋转和位置。
  3. 调整摄像机位置(可选):

    • 添加一个 Spring Arm 组件,将其设置为 Mesh 的子节点。

    • 添加一个 Camera 组件,将其设置为 Spring Arm 的子节点。

    • 调整摄像机位置,设置合适的第三人称视角。

步骤 3:设置输入事件

配置输入绑定

  1. 打开 Edit > Project Settings,进入项目设置界面。

  2. 找到 Input 设置,添加以下输入映射:

    • Axis Mappings:
      • MoveForward(键位:W=1,S=-1)。
      • MoveRight(键位:A=-1,D=1)。
    • Action Mappings:
      • Jump(键位:Space Bar)。

蓝图逻辑实现

  1. 打开 BP_PlayerCharacter 的 Event Graph。
  2. 添加以下节点:
    • 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:测试角色控制

  1. 将 BP_PlayerCharacter 设置为默认玩家角色:

    • 新建一个Game Mode

    • 打开 World Settings(窗口 > World Settings)。
    • 在 GameMode Override 中选择或创建一个新的 GameMode。
    • 将 Default Pawn Class 设置为 BP_PlayerCharacter。
  2. 点击 Play,进入游戏模式。

  3. 使用 W/A/S/D 控制角色移动,按下空格键进行跳跃。

注意事项

  1. 摄像机调整
    • 确保摄像机的视角不会穿模或过远,调整 Spring Arm 的长度和角度。
  2. 输入映射
    • 如果自定义了键位,请确保 Input Mappings 与蓝图逻辑一致。

学习收获

通过今天的学习,你已经掌握了:

  1. 角色蓝图的基本结构和组件配置。
  2. 如何通过输入事件控制角色的移动和跳跃。
  3. 角色蓝图与项目设置的结合应用。

下一步学习计划

接下来,我们将学习 摄像机与视角控制,让角色在移动过程中摄像机能够自动跟随角色视角。敬请期待!

相关推荐
学游戏开发的1 小时前
UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备
c++·笔记·游戏引擎·unreal engine
小菜鸟博士1 小时前
手撕Vision Transformer -- Day1 -- 基础原理
人工智能·深度学习·学习·算法·面试
Bluesonli3 小时前
第 2 天:创建你的第一个 UE5 C++ 项目!
c++·学习·ue5·虚幻·虚幻引擎·unreal engine
前端达人3 小时前
「AI学习笔记」深度学习进化史:从神经网络到“黑箱技术”(三)
人工智能·笔记·深度学习·神经网络·学习
蝴蝶不愿意3 小时前
《苍穹外卖》项目学习记录-Day10来单提醒
学习
pay顿3 小时前
C++基础day1
c++·学习·笔试
Qhumaing3 小时前
Python学习——函数参数详解
开发语言·python·学习
玄客)5 小时前
PHP代码审计学习02
学习