文章目录增强输入插件切换 插件创建输入设置 Input Action设置 IMCGetEnhancedInputLocalPlayerSubsystemAdd Mapping Context绑定 输入使用输入组合输入节点右上角小电视Character 移动方向Add Movement InputGet Forward VectorGet right Vector角色旋转设置 弹簧臂设置转向控制器输入增强输入插件UE5 新的插件替换原本的 输入模式开启插件 UE5默认是开启的但可以查看切换 插件插件名称Enhanced Input —— 增强输入Project Settings —— Input (Engin 内)默认播放器输入类Default Player Input ClassEnhancedPlayerInput UE5 插件PlayerInput —— UE4的模式默认输入组件类Default Input Component ClassEnhancedInputComponent UE5 插件InputComponent创建输入Input Action —— 输入动作通常用 IA_ 开头Input Mapping Context —— 输入映射上下文用 IMC_ 开头通常将 Input Action 和 Input Mapping Context 放入一个文件夹命名为 InputsInput Action 统一放在一个 Actions 文件夹内设置 Input Action通常 只需要关注 Value Type 设置 输入的类型Digital (bool)Axis1D (float)Axis2D (Vector2D)Axis3D (Vector)当使用 Bool 类型则需要设置 触发器TriggersPressed 按下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值得注意的是 修改器Modifiersorder 的方向因此旋转组件使用 Mouse XY 2D-Axis设置 修改器Modifiers鼠标是左上角 为 XY坐标相当于在 第三象限移动X横向Y纵向故转换为 第一象限则需要 Y 反向因此 需要添加 否定NegateGetEnhancedInputLocalPlayerSubsystem增强型输入插件模块节点通常 需要 玩家控制器 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 ActionCombo (Beta) 使用多个 其他的 Input ActionDown 按下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游戏刚好相反要完全勾选