A. ゲームがボーダーレスウィンドウやウィンドウで表示されている場合
ボーダーレスウィンドウモードやウィンドウモードの場合、オーバーレイを作成するのは比較的簡単です。以下の方法が一般的です。
STEP1. 透過ウィンドウの作成
ゲームの上に表示される別のウィンドウ(オーバーレイウィンドウ)を作成し、このウィンドウを透過させます。多くのプログラミング言語やフレームワークで、ウィンドウの透明度を制御できる機能が提供されています。
STEP2. 常に最前面に表示
オーバーレイウィンドウをゲームウィンドウの上に常に表示するように設定します。これには、ウィンドウを「常に最前面に表示」する設定が必要です.
STEP3. イベントのパススルー
オーバーレイウィンドウがゲームの操作を妨げないように、マウスクリックやキーボードイベントをゲームにパススルーするように設定する必要があります.
具体的な方法, C++とPythonでの実装方法はTODO
この方法の場合、スクリーン全体を画面共有、録画、配信した場合にHUDは配信に表示されるが, ゲームのウィンドウのみを配信した場合, 表示されない.
B. ゲームが完全なフルスクリーンの場合
完全なフルスクリーンモードの場合、オーバーレイを作成するのはより複雑です。以下の手法が考えられる. これらの方法はボーダーレスウィンドウのゲームにも当然適応できる.
B-1. グラフィックAPIをフックする
グラフィックスAPIのフックDirectXやOpenGLなどのグラフィックスAPIをフック(hook)し、ゲームのレンダリングプロセスに直接オーバーレイを描画します。この方法は高度な技術が必要であり、ゲームのレンダリングエンジンに依存します。
この方法の場合、スクリーン全体を画面共有、録画、配信した場合にHUDは配信に表示されるし, ゲームのみを配信した場合でもHUDは表示されてしまいます。
B-2. 外部ツールの使用
一部の外部ツールやソフトウェア(例:OBS Studio、Discordオーバーレイなど)は、フルスクリーンモードのゲームにオーバーレイを表示する機能を提供しています。これらのツールは専用の技術を使用してオーバーレイを実現しています。
B-3 HDMI Combinerの利用
ハードウェアを用いた方法。パソコンが2台必要。
この方法の場合、スクリーン全体を画面共有、録画、配信した場合にHUDは配信に表示されないかつ ゲームのみを配信した場合でもHUDは表示されません。