コンテンツにスキップ

オーバーレイ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.xmlengineOsrRenderEnabled の値を 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() に渡して再度呼び出してください。

#include "CefOverlayManager.h"

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

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