UE 5 增强输入插件
2026/6/15 18:32:52 网站建设 项目流程

文章目录

    • 增强输入插件
      • 切换 插件
      • 创建输入
      • 设置 Input Action
      • 设置 IMC
      • GetEnhancedInputLocalPlayerSubsystem
      • Add Mapping Context
      • 绑定 输入
      • 使用输入
      • 组合输入
    • 节点右上角小电视
    • Character 移动方向
      • Add Movement Input
      • Get Forward Vector
      • Get right Vector
    • 角色旋转
      • 设置 弹簧臂
      • 设置转向
      • 控制器输入

增强输入插件

UE5 新的插件,替换原本的 输入模式

  • 开启插件 UE5默认是开启的但可以查看

切换 插件

插件名称:Enhanced Input —— 增强输入

Project Settings ——> Input (Engin 内)

默认播放器输入类(Default Player Input Class)

  • EnhancedPlayerInput (UE5 插件)
  • PlayerInput —— UE4的模式

默认输入组件类(Default Input Component Class)

  • EnhancedInputComponent (UE5 插件)
  • InputComponent

创建输入

  • Input Action —— 输入动作,通常用 IA_ 开头
  • Input Mapping Context —— 输入映射上下文,用 IMC_ 开头

  • 通常将 Input Action 和 Input Mapping Context 放入一个文件夹命名为 Inputs
  • Input Action 统一放在一个 Actions 文件夹内

设置 Input Action

通常 只需要关注 Value Type ,设置 输入的类型

  • Digital (bool)
  • Axis1D (float)
  • Axis2D (Vector2D)
  • Axis3D (Vector)

当使用 Bool 类型,则需要设置 触发器(Triggers)

  • Pressed 按下
  • Released 释放

对于移动 要理解 所需参数,正常情况下需要四个值,但前和后 相反, 左和右 也相反,因此可以转换为一个二维的向量,故使用 Axis2D (Vector2D)

  • 若用 X 表示 前,则 后 使用 -X
  • 若用 Y 表示 左,则 右 使用 -Y

设置 IMC

在 Mapping 内 选择创建 Input Action ,

  • 并设置 按键输入 (鼠标,键盘等等)
  • 设置 修改器(Modifiers)

修改器(Modifiers) 参数:

英语中文
To World Space到世界空间
Negate否定
Response Curve - Exponential响应曲线 - 指数
Response Curve - User Defined响应曲线-用户定义
Smooth平滑
Smooth Delta平滑差量
Swizzle Input Axis Values拌合输入轴值
Scale By Delta Time按差量时间缩放
Scalar标量
Dead Zone盲区
FOV Scaling视野缩放

注意:不设置 修改器(Modifiers),通常会表示为 Y 轴

否定(Negate) —— 表示反方向

拌合输入轴值(Swizzle Input Axis Values) —— 用于切换 轴

因此移动组件设置WASD,设置 修改器(Modifiers)

  • 若设置 W 为 X 正方向,需要 切换轴 采用 拌合输入轴值(Swizzle Input Axis Values) YXZ
  • 则 S 为 X 的负 方向,要切换轴 拌合输入轴值(Swizzle Input Axis Values)和 否定(Negate),注意顺序先切换轴后否定 YXZ
  • 则 D 为 Y 正方向,不设置
  • 故 A 为 Y 负方向,因此 需要添加 否定(Negate)
  • 值得注意的是 修改器(Modifiers)order 的方向

因此旋转组件使用 Mouse XY 2D-Axis,设置 修改器(Modifiers)

  • 鼠标是左上角 为 XY坐标,相当于在 第三象限移动,X横向,Y纵向
  • 故转换为 第一象限则需要 Y 反向,因此 需要添加 否定(Negate)

GetEnhancedInputLocalPlayerSubsystem

增强型输入插件模块

节点通常 需要 玩家控制器 (Player Controller)

调用有两种模式

  • Player Controller 下 带有 输入节点,通常在角色蓝图中使用
  • 没有输入节点,则在 玩家控制器 (Player Controller)中使用

Add Mapping Context

绑定插件 和 配置文件

绑定 输入

Player Controller 中使用

角色蓝图中,则需要先获取玩家控制器(Player Controller)

使用输入

  • Triggered 长按输入 执行

  • Started 开始输入 执行

  • Ongoing 正在进行

  • Canceled 取消输入时 执行

  • Completed 输入 完成时 执行

  • Action Value 设置的值,Input Action 设置的变量

  • Elapsed Seconds 经过几秒钟

  • Triggered Seconds 长按输入的时间

  • Input Action 输入的操作

组合输入

对于一些技能来说,单纯的一个按键不能达到需求,因此就需要一些组合的按键

创建 新的 Input Action,例如 IA_Warriod_HeavyAttack

在映射中添加

重点是在 触发器(Triggers)内添加新的内容

  • Chorded Action 使用 其他的 Input Action
  • Combo (Beta) 使用多个 其他的 Input Action
  • Down 按下
  • Hold 按住
  • Hold And Release 按住并松开
  • Pressed 按下
  • Pulse 连击
  • Released 松开
  • Tap 暗触

节点右上角小电视

通常只能在 客户端执行,服务端不会执行会直接忽略

Character 移动方向

角色的正面 为 X 方向 为 玩家控制器的方向,则右边为 Y方向

如图

  • X1 与 Y1 ,是玩家控制器的方向,是不变的
  • X2 与 Y2 ,玩家的方向 或者是 摄像机的方向 ,这个方向是改变的
  • 由此 可知 玩家控制器 和 玩家的方向 是不同的

Yaw 顶视图 看 物体旋转,正如 人 转身,扭头,因此对于角色移动 只需要关注 Yaw方向

Pitch 侧视图 看物体旋转,正如 人翻跟头,点头

Add Movement Input

设置移动输入

  • Target 目标
  • World Direction 世界方向,通过 玩家的方向
  • Scale Value 设置的值,通常在 -1 和 1 之间
  • Force (bool型) 勾选后 会强制 执行

Get Forward Vector

获取向前的向量

Get right Vector

获取向右的向量

角色旋转

鼠标X 表示 横向,代表 转向

鼠标 Y表示 纵向,代表 点头

  • 上下 点头 是 Pitch
  • 左右 转向 是 Yaw

设置 弹簧臂

控制器 控制摄像机的方向,也就是弹簧臂的方向

  • 勾选 Use Pawn Control Rotation 使用 角色控制器的方向 弹簧臂的转向,也就是 摄像机的转向

设置转向

在 角色移动组件 (Character Movement)细节面板内,勾选 将旋转朝向运动(Orient Rotation to Movement)

  • 角色的移动反向 和 转向 是否一致,勾选代表 一致

同时可以设置转向速率

只需要 调整 Rotation Rate,正常情况下,只需要 Z 轴的值

控制器输入

Detail–>Pawn–>使用控制器旋转Yaw/Pitch/Roll,三个全部取消勾选,这样控制器的输入就不会直接影响到pawn的旋转朝向

  • 对于第三人称的游戏,让角色直接根据
  • FPS游戏刚好相反要完全勾选

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询