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. 角色蓝图与项目设置的结合应用。

下一步学习计划

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

相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习