当前位置: 首页 > news >正文

枚举类 `ETriggerEvent`

枚举类ETriggerEvent,这是Unreal Engine Enhanced Input系统中的一个核心概念。让我详细解释它的功能:

功能概述

ETriggerEvent定义了输入触发器事件的各种状态,用于描述输入动作在不同帧之间的状态转换。它本质上是一个状态机,用于跟踪输入动作的完整生命周期。

各个状态的含义

1.None(无事件)

  • :0x0
  • 描述: 没有显著的触发器状态变化,也没有活动的设备输入
  • 状态转换: 初始状态或空闲状态

2.Triggered(已触发)

  • :1 << 0
  • 描述: 经过一个或多个处理tick后触发发生
  • 状态转换:
    • None → Triggered
    • Ongoing → Triggered
    • Triggered → Triggered

3.Started(开始)

  • :1 << 1
  • 描述: 开始触发器评估的事件
  • 重要: 如果Triggered也在同一帧发生,Started事件会先触发
  • 状态转换:
    • None → Ongoing
    • None → Triggered

4.Ongoing(进行中)

  • :1 << 2
  • 描述: 触发处理仍在进行中
  • 示例: 用户按住按键但尚未达到"按住"时间阈值
  • 状态转换: Ongoing → Ongoing

5.Canceled(已取消)

  • :1 << 3
  • 描述: 触发被取消
  • 示例: 用户在"按住"时间阈值前释放按键
  • 状态转换: Ongoing → None

6.Completed(已完成)

  • :1 << 4
  • 描述: 触发状态从Triggered转换到None,表示触发完成
  • 注意: 如果同一帧有触发器报告Ongoing,Completed不会触发
  • 状态转换: Triggered → None

实际应用场景

按键按下示例:

帧1: None → Started (按键按下) 帧2: Started → Ongoing (按住按键) 帧3: Ongoing → Triggered (达到阈值) 帧4: Triggered → Completed (释放按键)

按键取消示例:

帧1: None → Started (按键按下) 帧2: Started → Ongoing (按住按键) 帧3: Ongoing → Canceled (提前释放按键)

技术特性

  1. 位标志枚举: 使用ENUM_CLASS_FLAGS宏,允许组合使用多个状态
  2. 蓝图支持:BlueprintType元数据使其可在蓝图中使用
  3. 编辑器集成:UseEnumValuesAsMaskValuesInEditor在编辑器中显示为掩码值

在Enhanced Input中的作用

这个枚举是Enhanced Input系统的核心,用于:

  • 定义输入动作的触发条件
  • 处理复杂的输入序列(如连击、长按等)
  • 提供精确的输入事件时序控制
  • 支持多种输入设备的统一处理

这个设计使得输入处理更加精细和可控,能够满足复杂游戏输入需求。

http://www.cnnetsun.cn/news/139813.html

相关文章:

  • vue导出excel文件
  • 基于STM32的自动售货机控制系统设计
  • 液压挖掘机回转能量回收系统设计与仿真
  • android 媒体之 MediaSession
  • 校园网络规划
  • 护眼灯已足够优秀,为何仍需眼调节训练灯?答案藏在近视防控里
  • Visual Studio中的多态
  • MindSpore硬核实战:彻底搞懂自动混合精度(AMP)与函数式训练
  • Java异常处理详解。零基础小白到精通,收藏这篇就够了
  • 基于深度学习YOLOv12的犬种识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • 基于深度学习YOLOv11的犬种识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)
  • [插电式混合动力车辆][交替方向乘子法(ADMM)结合CVX]插电式混合动力车辆的能源管理:基于凸优化算法用于模型预测控制MPC研究附Matlab代码
  • 【别花冤枉钱】学生党专享!2025年把AI率90%降到10%的“低成本”组合拳(含免费/付费工具避坑指南)
  • 前端Vue制作日历插件FullCalendar,零基础入门到精通,收藏这篇就够了
  • 基于MPC算法的P2构型混合动力汽车能量管理优化策略
  • 德克萨斯大学奥斯汀分校突破:球形利奇量化提升AI图像生成质量
  • 13、Unix 系统管理脚本实用指南(上)
  • 2026网络安全薪酬全景:哪些岗位是价值洼地,哪里又是薪资天花板?
  • Oracle领衔科技巨头5000亿美元AI数据中心租赁狂潮
  • Java算法——排序篇之快速排序,零基础小白到精通,收藏这篇就够了
  • 平安好医生:“人+机+生态”闭环 打造中国AI医疗标杆
  • Compose 适配 - 全屏显示 EdgeToEdge
  • python-flask-django重症监护室中急诊护理管理系统设计与实现_zjv2nt1d
  • 拿一句,逗得你家男人哭笑不得
  • 虎贲等考 AI:AI 赋能学术全流程,让论文写作从 “煎熬” 到 “高效”✨
  • 介观交通流仿真软件:VISSIM (介观模式)_(5).车辆行为模型
  • 英特尔酷睿Ultra第三代,如何推动AI PC规模化落地?
  • 15、密码学编程问题与解决方案
  • 【花雕学编程】Arduino BLDC 之基础差速转向小车(串口控制)
  • 【毕业设计】基于springboot+Android的研学旅行服务平台APP小程序设计(源码+文档+远程调试,全bao定制等)