LoginSignup
0
0

ゲームにオーバーレイを追加してHUDを表示させる方法

Posted at

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は表示されません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0