UE-Connect 文档ue-connect 是一个专为QuickUIDesign 应用设计的 Unreal Engine 5 (UE5) 连接器模块。它提供了一套完整的 hooks 和上下文管理工具,使 ue-connect 能够与 UE5 进行双向通信,特别适用于基于 QuickUIDesign 的 UE5 交互界面开发。
QuickUIDesign是一个基于React设计的界面模板,使开发者能够方便地在UE5中创建交互功能丰富的界面。
UEProvider 和 useUEContext提供全局的 UE5 连接状态管理。
返回值说明:
isConnected: 表示是否已连接到 UE5 窗口isMobile: 表示是否为移动设备useMouse: 表示是否启用鼠标事件setUseMouse: 用于设置是否启用鼠标事件的函数lastKeyAction: 最近一次按键操作,来自 UE5 的输入事件。值为 "Up" | "Down" | "Left" | "Right" | "Next" | "Previous" | "Select" | nullUEProvider 说明:
UEProvider 内部集成了鼠标事件管理 (useUEMouse) 和输入事件监听 (useInputKeyEventListener),子组件通过 useUEContext 可直接获取连接状态、设备类型、鼠标状态及最近按键操作。
useQuickUIEventSender 和 useQuickUIEventListener实现 Web 与 UE5 之间的自定义事件通信,用户可以设计自己的事件名称和Json格式。
useQuickUIEventSender 用于发送事件,需要指定事件名称(对应后端QuickUIListenEvent接收)useQuickUIEventListener 用于监听事件,需要指定事件名称(对应后端QuickUIEventCallBack发送)useQuickUIEvent 参数说明:
fnName: 事件名称(对应 Blueprint / UMG 事件名)payload?: QuickEventPayload 参数useQuickUIEventListener 参数说明:
fnName: 事件名称(对应 Blueprint / UMG 事件名)handler: 事件处理函数,接收 QuickEvent 对象
event.type: 事件类型(固定为 "event")event.topic: 事件主题/名称event.payload: 事件载荷数据event.timestamp: 事件时间戳event.source: 事件源("web" 或 "ue")useUEMousedata-nohit 属性:用于标记不触发鼠标事件的元素区域特性:
data-nohit 属性的元素useUEGameControl提供游戏控制功能,如退出游戏、执行控制台命令等。
可用方法:
quitGame(): 退出游戏executeCommand(command: string): 执行控制台命令clientTravel(address: string): 客户端旅行到指定地址getGraphics(): 获取图形设置applyAndSaveGraphics(...): 应用并保存图形设置useDevicePixelRatio自动适配设备像素比,确保在不同设备上显示一致。
useInputBlocker管理输入事件阻止,防止意外交互。
参数说明:
options.onKeyAction (可选): 按键事件回调函数,接收 KeyAction 类型参数返回值说明:
lastKeyAction: 最近一次按键操作,值为 "Up" | "Down" | "Left" | "Right" | "Next" | "Previous" | "Select" | null注册的全局函数:
该 Hook 会在 window 对象上注册以下全局函数供 UE5 通过 ExecuteJs 调用:
| 全局函数名 | 触发的 KeyAction |
|---|---|
window.keyUp | "Up" |
window.keyDown | "Down" |
window.keyLeft | "Left" |
window.keyRight | "Right" |
window.keyNext | "Next" |
window.keyPrev | "Previous" |
window.keyEventChoose | "Select" |
组件卸载时自动清理所注册的全局函数。
useUEEventJSON是更底层的API,用于直接发送JSON格式的事件数据到UE5。
例如:useUEEventJSON,基于useUEEventJSON封装
useUEEventJSON向 UE5 发送 JSON 格式的事件数据。
参数说明:
functionName: UE5 蓝图中注册的事件名称useUECallback(Old)优化的回调管理,只在后端真正发送新数据时触发,避免不必要的重复调用。
参数说明:
functionName: 回调函数名称(在UE5中自定义约定的调用函数名)onData: 数据处理回调函数,UE5发送的数据特性说明:
filterUECallBackJSonData这是已给与useUECallback配套的通用筛选函数,用于处理 UE 回调的 Json 序列,支持过滤和筛选属性。
方法签名:
参数说明:
data: UE 回调的待处理Json数据filters: 筛选条件对象,键为属性名,值为筛选值或筛选函数返回值:
undefined使用示例(结合 useUECallback):
特性说明:
undefined,便于后续处理data-nohit 属性避免不必要的鼠标事件处理isConnected 状态再发送事件