虚幻引擎VR游戏开发03| 键位映射

Enhanced input mapping 按键映射

在虚幻引擎(Unreal Engine)中,Enhanced Input Mapping 是一个用于管理和处理输入(例如键盘、鼠标、手柄等)的系统。它提供了一种更灵活、更强大的方式来定义和响应用户输入,相比传统的输入系统有多项改进。以下是它的主要功能和用途:

  • 更灵活的输入映射Enhanced Input Mapping 支持基本的按键绑定,也能处理组合输入(例如按住一个键再按另一个键)、修改器(如按住Shift键来修改其他按键的功能)、以及上下文感知输入(例如根据当前游戏状态动态改变输入的效果)。
  • 输入行为的定义:开发者可以定义复杂的输入行为并精确管理,而不仅仅是简单的按键映射。例如,你可以创建一个输入行为来处理"跑步"动作,该动作可以绑定到多种不同的输入组合(如按住Shift键并前进),并且可以轻松切换或修改这些绑定,而无需改变底层代码。
  • 多设备支持:提供了对多种输入设备的支持,比如键盘、鼠标、游戏手柄,VR控制器。开发者可以统一管理不同设备的输入映射,从而简化跨平台开发的工作流程。
  • 方便的热插拔支持:更好地支持输入设备的热插拔(即插即用)。例如,玩家可以在游戏过程中更换控制设备(从键盘切换到手柄),游戏可以动态调整输入映射而不会中断游戏体验。

使用场景举例:

  • 复杂动作绑定:你可以为角色的动作(如跳跃、攻击、特殊能力)创建复杂的输入规则,并根据游戏中的情况动态调整这些规则。
  • 跨平台支持:在开发跨平台游戏时,使用 Enhanced Input Mapping 可以让你统一管理不同平台的输入方案,而不需要为每个平台编写独立的输入处理代码。
  • VR/AR应用:在VR或AR项目中,Enhanced Input Mapping 能处理复杂的手势输入和不同控制器的输入模式。支持VR控制器的复杂手势输入。

IMC&&IA

在Unreal Engine中,IMC (Input Mapping Context)和IA (Input Action)是 Enhanced Input System 中两个核心概念,它们用于处理和组织用户输入。理解这两者的关系有助于高效地管理和响应输入事件。

1. Input Action (IA)

  • IA 是一个输入动作,它代表了一种用户交互行为(例如跳跃、攻击、打开菜单等)。
  • 每个 IA 资源定义了一种用户输入行为,可以是按键、鼠标点击、手柄按钮、触控操作等。
  • IA 本身并不与特定的按键或输入设备直接绑定,它只是描述了用户的一个可能的动作(例如"跳跃"或"射击"),并且可以包含复杂的输入处理逻辑,例如双击、长按、组合键等。

2. Input Mapping Context (IMC)

  • IMC 是是一个容器,译为输入映射上下文,它是一组 IA与具体输入设备的按键或按钮的绑定集合。
  • IMC 允许你为不同的 IA 设置具体的按键映射。例如,你可以为"跳跃"这个 IA 绑定到键盘的空格键、手柄的A键,或者 VR控制器的某个按钮。
  • IMC 还可以管理输入的优先级和上下文。例如,你可以有多个 IMC,根据游戏状态(例如战斗模式、菜单模式)切换不同的输入映射,在进入战斗模式时加载战斗输入映射,在菜单模式时加载菜单输入映射。

示例:

  1. IA_Jump:表示玩家跳跃的行为。
  2. IMC_PlayerControls :包含对 IA_Jump 的映射,例如将键盘的 Space 键和手柄的 A 键都绑定到 IA_Jump 上。

IMC 管理了哪些按键/按钮会触发 IA ,而 IA 定义了当这些按键/按钮被按下时,游戏应该执行的逻辑。

案例

在虚幻引擎蓝图中制作按下Pico Touch (R) Trigger就能打开一个UI交互对话

1:创建 UI Widget

2:设置输入映射

  • 创建一个 Input Mapping Context 资源(如果使用 Enhanced Input System),并添加一个新的输入动作,命名为 IA_OpenDialogue
  • IA_OpenDialogue中绑定 Pico Touch (R) Trigger 的按键事件。

3:在蓝图中响应输入并显示 UI

  1. 打开角色蓝图(默认VR模板中,VR_pawn的蓝图里可以改键位映射)

  2. 示例蓝图逻辑

    复制代码
    InputAction OpenDialogue (Pressed)
        ↓
    Create Widget (Class: WBP_DialogueUI)
        ↓
    Add to Viewport
相关推荐
郑寿昌8 小时前
UE5与UE6在Lumen和Nanite的差异解析
游戏引擎·图形渲染·着色器
郑寿昌18 小时前
UE6 AI加速Lumen光线追踪降噪技术解析
人工智能·游戏引擎
晴夏。18 小时前
GAS下的网络同步的全面分析【超级全面】
游戏引擎·ue·gas·网络同步
田鸡_19 小时前
Unity新输入系统(Input System)教学篇
unity·游戏引擎·游戏程序
EQ-雪梨蛋花汤19 小时前
【Unity笔记】Unity 音游模板与免费资源:高效构建节奏游戏开发全指南
笔记·unity·游戏引擎
微莱羽墨19 小时前
零、0基础入门Unity 安装详细教程(2026最新版教程,安装Unity看这一篇就够了!)
unity·游戏引擎·unity安装
nnsix20 小时前
Unity 刚体的 默认力、瞬时力 区别
unity·游戏引擎
nnsix20 小时前
Unity Sprite的 Generate Physics Shape 参数解释
unity·游戏引擎
魔士于安20 小时前
Unity完整小球迷宫项目
前端·unity·游戏引擎·贴图·模型
め.20 小时前
Unity协程的原理
unity·游戏引擎