在 Overlay UI 引擎中显示
概述¶
在 UI 引擎中输出覆盖层的功能,可通过游戏引擎的 UI 系统将 SDK 提供的覆盖层显示在屏幕上。该功能使用 Chromium Embedded Framework(CEF) 的 OSR(Off-Screen Rendering) 屏幕数据。Hive SDK 会将这些数据传递到游戏引擎 UI 以显示覆盖层。这种方式有助于在 Windows 环境中将覆盖层稳定地输出到游戏画面上。此功能在 Hive SDK Unity Windows 和 Hive SDK Unreal Windows 中受支持。
使用方法¶
- 在 hive_config.xml 中将
engineOsrRenderEnabled值设置为true。 - 如果在已安装 Hive SDK 的状态下更改了设置,请重新构建包含 SDK 的游戏包。如果不重新构建游戏,更改后的设置将不会生效。
- 构建完成后运行游戏时,会按如下方式工作:
- Hive SDK Unreal Windows:自动查找当前游戏世界(Game World),并将 Hive SDK UI 覆盖层直接渲染到游戏画面上方。
- Hive SDK Unity Windows:将 Hive SDK UI 覆盖层直接渲染到游戏画面上方。
Unreal Engine:直接指定 World 输出覆盖层¶
Hive SDK Unreal Windows 默认会自动检测当前游戏世界,并渲染 SDK UI 覆盖层。
但是,如果 Unreal Engine 项目使用多 World,或在特殊环境中输出覆盖层,SDK 可能无法自动决定要显示覆盖层的 World。在这种环境中,必须调用 SetTargetWorld() 方法并直接传递目标 World 对象。
- 返回自动选择: 传递
nullptr后,会切换回默认行为,即 World 自动选择模式。 - 关卡切换时的处理: 如果指定的 World 被销毁,SDK 会自动返回当前激活的 World,因此每次切换关卡时无需重新调用该方法。