技術ノート ウィンドウズ ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

USB またはワイヤレス ゲーム コントローラーを Windows PC に接続している場合、「DirectInput」や「XInput」などの用語が表示されることがあります。しかし、それらは何を意味し、何が違うのでしょうか?説明していきます。

これらは Microsoft ゲーム コントローラー API です

ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

コンピューティングにおいて、API は アプリケーション プログラミング インターフェイス であり、2 つのプログラムが相互に通信できる標準化された方法です。この場合、コントローラーを PC に接続すると、Windows がコントローラー ハードウェアに接続し、API によってゲームが標準化された方法でコントローラーの入力を読み取ることができるようになります。これにより、Windows ゲームは、カスタム コントローラー ドライバーとインターフェイスのパッチワークを使用する代わりに、さまざまな種類のコントローラーを簡単にサポートできるようになります。

ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

Windows の 2 つの主要なゲーム入力 API は、DirectInput と XInput と呼ばれます。別の言い方をすると、これらの API は、ゲーム コントローラーが話す 2 つの異なる言語のようなものです。一部のコントローラーは 1 つの「言語」 (XInput または DirectInput) のみを話すことができますが、他のコントローラーは異なるモードで両方の API を「話す」ことができます。ゲームが XInput を予期しているが、コントローラーが DirectInput のみを「話す」場合、そのコントローラーはそのゲームでは動作しません。またその逆も同様です。

ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

それぞれの由来を簡単に見てみましょう。

  • DirectInput: このゲーム入力 API は、Windows 95 でのゲーム用の DirectX 1.0 の一部として 1995 年に初めて登場し、その後、Windows の後続のバージョンでサポートされました。これは、2005 年より前にリリースされた多くの PC ゲーム コントローラーと、それ以降の一部のコントローラー (およびレトロ コントローラー アダプター ) でサポートされているレガシー インターフェイスです。
  • XInput: この API は、Windows で Xbox 360 コントローラー をサポートする方法として 2005 年に開始されました。 Xbox One および Xbox Series X|S コントローラー も現在、Windows で XInput を使用しています。 XInput は Xbox コントローラー専用の API として誕生しましたが、現在では多くのサードパーティ コントローラー (Microsoft 製以外) もサポートしています。これは、Xinput を使用するようにプログラムされたゲームで動作することを意味します。
ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

2 つの API は似たようなことを行いますが、DirectInput は XInput よりも古く、Microsoft によって 非推奨に なりました。それでも、DirectInput は XInput がサポートしていないいくつかの機能をサポートしており、これが標準がまだ使用されている理由の 1 つです。以下のセクションでは、2 つの標準をより詳細に比較対照します。

ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?

違い: DirectInput と XInput

XInput が登場してから 17 年が経ちますが、一部の最新のゲームは 依然として DirectInput コントローラーをサポートしています 。その理由の 1 つは、レガシー コントローラの大規模なインストール ベースが存在し、一部の人々が依然として使用したいためです。

また、DirectInput は XInput よりも多くの入力をサポートしており (DirectInput の場合は 8 軸、128 ボタン、POV、XInput の場合は 4 軸、10 ボタン、2 つのトリガー、D パッド)、これは飛行などの複雑なシミュレーション ゲームに便利です。シミュレーターや一部のレーシング ゲームでは、複雑なコックピット制御セットアップを構築します。また、Xinput は 4 つのコントローラーのみをサポートします。それ以上のものが必要な場合は、DirectInput が最良の選択です。

DirectInput に対する XInput の利点は、主に開発者側にあります。 Microsoftは、XInputは「使いやすく」、プログラマーにとって必要なセットアップが少ないと 述べている 。 Xbox ゲームを作成するゲーム開発者は、Xbox コントローラー サポートを使用してゲームを Windows に簡単に変換できます。また、Xbox コントローラーは XInput でのみ振動し、API はトリガー ボタンを DirectInput の単一の正/負軸ではなく 2 つの別個の入力として処理します。

XInput のもう 1 つの利点は、各ボタンをゲーム内の機能に手動でバインドする必要がなく、API がコントローラーのレイアウトを自動的に理解することです。 DirectInput を使用すると、ゲームは必ずしもコントローラーの形状やレイアウトを想定できるわけではありません。 XInput を使用すると、ゲームは、Xbox ゲーム コンソール 、すべてのゲームに普遍的にマップされる標準の Xbox スタイルの制御スキームを使用します。

一般に、Windows ゲームの将来は XInput にありますが、多くの従来の Windows テクノロジと同様に、DirectInput はニッチなユースケースにとどまり続けます。幸いなことに、XInput のみのゲームで使用したいお気に入りの DirectInput コントローラーがある場合は、 x360ce などのユーティリティを使用してそれを XInput に適合させることができます。楽しいゲームを!

「ゲーム コントローラーの DirectInput と XInput: 違いは何ですか?」に関するベスト動画選定!

【超初心者向け】パソコン用ゲーミングコントローラ(ゲームパッド)で確認すべき製品の機能・仕様(XInputとDirectInput)
【APEX】人気コントローラーランキング #shorts