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

下一步学习计划

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

相关推荐
蜡笔小新星2 小时前
Flask项目框架
开发语言·前端·经验分享·后端·python·学习·flask
cliff,2 小时前
【python爬虫】酷狗音乐爬取
笔记·爬虫·python·学习
云上艺旅5 小时前
K8S学习之基础十八:k8s的灰度发布和金丝雀部署
学习·云原生·容器·kubernetes
Alan-Xia8 小时前
使用jest测试用例之入门篇
前端·javascript·学习·测试用例
三天不学习9 小时前
uniapp x 学习之 uts 语言快速入门
学习·uni-app
蓑衣客VS索尼克10 小时前
无感方波开环强拖总结
经验分享·单片机·学习
肥肠可耐的西西公主10 小时前
前端(AJAX)学习笔记(CLASS 4):进阶
前端·笔记·学习
云上艺旅11 小时前
K8S学习之基础十五:k8s中Deployment扩容缩容
学习·docker·云原生·kubernetes·k8s
亭墨11 小时前
linux0.11内核源码修仙传第五章——内存初始化(主存与缓存)
linux·c语言·驱动开发·学习·缓存·系统架构
凡人的AI工具箱12 小时前
PyTorch深度学习框架60天进阶学习计划第14天:循环神经网络进阶
人工智能·pytorch·python·深度学习·学习·ai编程