コンテンツにスキップ

オーバーレイUIをエンジンで出力する

概要

オーバーレイUIをエンジンで出力する機能は、SDKが提供するオーバーレイをゲームエンジンのUIシステムで画面に表示する機能です。この機能は、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: ワールドを直接指定してオーバーレイを出力する

Hive SDK Unreal Windowsは、デフォルトで現在のゲームワールドを自動検出してSDK UIオーバーレイをレンダリングします。

ただし、Unreal Engineプロジェクトが複数のワールドを使用している場合や、特殊な環境にオーバーレイを出力する場合、SDKがオーバーレイを表示するワールドを自動的に判断できないことがあります。このような環境では、SetTargetWorld()メソッドを呼び出して対象ワールドオブジェクトを直接渡す必要があります。

  • 自動選択への復帰: nullptrを渡すと、デフォルト動作であるワールド自動選択モードに切り替わります。
  • レベル切り替え時の処理: 指定したワールドが破棄されると、SDKは現在アクティブなワールドへ自動的に復帰するため、レベルが切り替わるたびにこのメソッドを再度呼び出す必要はありません。
#include "HIVESDK.h"

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

    FHiveOverlay::SetTargetWorld(GetWorld());
}