跳转至

在 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 中受支持。

使用方法

  1. hive_config.xml 中将 engineOsrRenderEnabled 值设置为 true
  2. 如果在已安装 Hive SDK 的状态下更改了设置,请重新构建包含 SDK 的游戏包。如果不重新构建游戏,更改后的设置将不会生效。
  3. 构建完成后运行游戏时,会按如下方式工作:
    • Hive SDK Unreal Windows:自动查找当前游戏世界(Game World),并将 Hive SDK UI 覆盖层直接渲染到游戏画面上方。
    • Hive SDK Unity Windows:将 Hive SDK UI 覆盖层直接渲染到游戏画面上方。

Unreal Engine:直接指定 World 输出覆盖层

Hive SDK Unreal Windows 会自动查找当前游戏世界(Game World),并将 SDK UI 覆盖层渲染到游戏画面上方。但如果 Unreal Engine 项目使用多个 World,或者要将覆盖层输出到常规游戏画面之外的单独环境中,SDK 可能难以自动决定应将覆盖层输出到哪个 World。在这种情况下,如果要输出覆盖层的目标 World 发生变化,请按如下方式将新的 World 传递给 SetTargetWorld() 并重新调用该方法。

```cpp #include "CefOverlayManager.h"

void AMyPlayerController::BeginPlay()
{
    Super::BeginPlay();

    UCefOverlayManager::Get()->SetTargetWorld(GetWorld());
}
```