コントローラの仕様

Last-modified: 2024-09-22 (日) 12:46:01

Steam大人数プレイ可能ゲーム(ローカル対戦)

ちなみに30-50人くらいで遊べるゲームもあります。

  • グミーズライフ:16人
  • Mount Your Friends:16人
  • Stick Fight: The Game:16人(MOD)
  • プレートアップ!:12人(MOD)
  • 12 orbits:12人
  • Runbow:9人
  • Pummel Party:8人
  • PICO PARK 2:8人
  • ClusterPuck 99:8人
  • Metal Heads:8人
  • Infinite Minigolf:8人
  • BH Trials:4人プレイだと特殊な感じに変わる
  • BOSSGARD:6人
  • Golf Tour:6人
  • Astro Duel 2:6人

夢のマイホーム(8人)多人数対戦

ローカル8人対戦に対応しているゲームは数少ないですががんばればできなくはないです。

  • 8人対戦対応のゲームが必要です。
  • 8個のコントローラを用意すればマイホームで8人対戦が可能です。
  • このとき Parsec を使えば、リモートプレイで8人対戦が可能です。

ウィンドウズではPCに同時接続できる XBOX コントローラー(XInput)は 4 個に制限されています。
DirectInput (PSやSwitch コントローラー) の使用なら8個まで認識可能です。
8個認識させるには少なくとも4個の DirectInput コントローラーが必要です。
マイホームでjoytokeyを使えば最低でも5人対戦可能です。

XInput を DirectInput に変換する
XInput は DirectInput 互換機能を持っており、DirectInput形式・XInput形式の両方で使用することが出来ます。XInput Plus の DirectInput 出力機能では、XInput 出力を DirectInput 出力に変換して出力することができ、XInput を DirectInput に変換することができます。

8個のコントローラーを認識させるには、次の手順を実行する必要があります。

Steamライブラリを開く。
ゲームのタイトルを右クリック
管理>コントローラレイアウトを選択する。
「デフォルト設定を使用」>「Steam入力を無効にする」に変更

設定後、 Parsec を使うと、ゲームにはプレイヤーが参加するための8つのスロットが表示されます。
ちなみに、同時接続数が増えるほど通信料が多くなるのでラグが増加しやすくなります。

  • リモートプレイの最大プレイ人数は6人
    まずRemote Play Togetherで5人以上で遊ぶ際に重要な点から。 セッティングのインプットからXinputのチェックを外してゲーム再起動。 これでMAX6人で遊べるようになる。 キーボード、DirectInputコントローラー、オンライン上のXinputコントローラー4つ

Xinputを無効にすると、8つの汎用/ xbox 360コントローラーを使用できますが、Steamコントローラーでプレイしたり、一緒にリモートプレイしたりすることはできません(どちらもSteam入力を使用します)。

これは「XINPUT」から来ているようです。

Xinputを有効にすると、Steamコントローラーとリモートプレイを一緒に使用できますが、最大4人のプレーヤーしか使用できません。

部分的にXInputを有効にするオプションになるでしょうか?Steamコントローラーとして4つのコントローラーを取得するか、非Steamコントローラーであるリモートプレイ+ 4つを取得しますか?これにより、ローカルプレイヤーが非Steamコントローラーを使用している場合、最大4人のリモートプレイヤーとプレイできるようになります。

備考

4 つ以上のゲームパッドをサポートするための開発者への指示
開発者にこのスレッドを案内して、4 つを超えるゲームパッドのサポートを追加するか、Windows の 4 プレーヤー XInput 制限の問題を解決するよう促してください。

XInput は Windows 上でコントローラーの数を 4 に制限します
XInput
最大 4 つのコントローラー(ユーザーが Steam で XBox 拡張機能サポートを有効にしている場合、最大 16 個の XBox コントローラー)

代替コントローラー API:
DirectInput
、使いにくい。入力フレームワークを使用すると、DirectInput を直接処理する必要がなくなります。

※コントローラーのレイアウトは標準化されていません。
および XBox One コントローラーにはランブルがなく、両方のトリガーが同じ軸上にあるため、両方が同時に押されても検出できません。これは、XBox コントローラー ドライバーの実装が原因です。

Raw 入力
、Raw 入力を直接処理する必要がないように、入力フレームワークを使用します。

※コントローラーのレイアウトは標準化されていません。
および XBox One コントローラーにはランブルがなく、両方のトリガーが同じ軸上にあるため、両方が同時に押されても検出できません。

Windows.Gaming.Input
以外のコントローラーやその他の古い Windows OS をサポートするために、またはより便利には Mac/Linux もサポートするために、いくつかの基礎となる API をサポートする場合は、入力フレームワークを使用します。
Windows プラットフォーム (Windows 10、XboxOne など) に使用されます。
10 で 8 個を超えるコントローラーをサポートします。
レイアウト。
コントローラーにはランブルとトリガーが別の軸にあります。
One コントローラーで追加の 2 つのランブル モーターを制御できます。
コントローラーのみがサポートされているかどうかは不明です。

入力フレームワーク:
入力フレームワークは、さまざまなコントローラーをサポートし、構成可能なコントローラー レイアウトを追加し、ホットプラグをサポートするためによく使用されます。
多くの場合、複数の入力 API がサポートされていますが、ほとんどの場合、デフォルトでは 4 つを超える XBox コントローラーがサポートされていません。何故ですか?どの XBox コントローラーが XInput 経由で列挙されたかをフレームワークが知る簡単な方法がないため、フレームワークは多くの場合、すべての XBox コントローラーをフィルターで除外して、ゴースト コントローラーが発生する他の API によって列挙されないようにします。
(SDL2 の革新のおかげで、他の入力フレームワークもこれに倣い、基礎となる API をより良い方法で結合できるように、これが変更されることが期待されます。)

SDL2 古い (バージョン < 2.014 )
SDL_init を呼び出す前に、次のコード行を追加します:
SDL_SetHint(SDL_HINT_XINPUT_ENABLED) ,"0");
(あるいは、環境変数を設定します: SDL_XINPUT_ENABLED=0)
このモードでは、すべての XBox コントローラーが DirectInput 経由でアクセスされます。 「DirectInput」セクションの制限事項を参照してください。
XInput デバイスがこのモードで動作するには、gamecontrollerdb.txt ファイルを更新する必要がある場合があります。最新のファイルはここにあります: https://github.com/gabomdq/SDL_GameControllerDB

SDL2 バージョン >= 2.0.14:
任意の数のコントローラー。
4 つ以上の XBox コントローラー。
XBox コントローラーにはランブルとトリガーが別の軸にあります。
機能しない場合は、ヒント SDL_HINT_JOYSTICK_RAWINPUT および SDL_HINT_JOYSTICK_HIDAPI_CORRELATE_XINPUT が設定されていることを確認してください。

SteamInput API (SteamInput 機能とは異なります)
16 個のコントローラー、おそらく無制限?
Steam で XBox 拡張機能サポートを有効にしている場合、最大 16 個の XBox コントローラー
コントローラーにはランブルとトリガーが別の軸にあります。
クライアントへの依存性? (Steam なしで SteamInput を使用できるスタンドアロンのものがあるかどうかはわかりません。)
API または主要な API である場合は、ゲームのデフォルトで SteamInput が有効になるようにします。
これを利用するには、ゲームは SteamInput API を呼び出してコントローラーにアクセスする必要があります。
コントローラーが Steam で SteamInput 機能を使用するように設定されているが、ゲームが Steam 入力 API を使用していない場合、SteamInput で設定されたコントローラーの数は 4 に制限されます。 これは、SteamInput 機能がコントローラーをエミュレートされた XBox コントローラーとしてゲームに提示するためです。 XInput API を使用し、ゴーストを回避するために他の API のコントローラーを除外します。

ReWired (Unity プラグイン)
十分な情報に基づいて選択するには、Rewired Editor の設定[guavaman.com]ドキュメントの「Windows 入力ソース」セクションをお読みください。
SDL2 および上記の XBox コントローラーの DirectInput/RawInput の制限に関する上記のセクションもお読みください。

オプション 1: 再配線で SDL2 を使用するようにします。

オプション 2: 再配線で Windows.Gaming.Input を使用するようにします。 4 つを超える XBox ゲームパッドで動作しますが、Windows.Gaming.Input でサポートされていないゲームパッドでは動作しません。

オプション 3: RawInput または DirectInput を使用し、XInput を無効にします。ゲーム設定内から XInput を無効にするトグルをゲーム内に追加することも可能です。

ドキュメントによると、入力マネージャーで XInput を無効にできることに関するメモがあります。また、ReInput.ConfigHelper には useXInput というプロパティがあり、XInput のオンとオフを切り替えることができます。プロパティが設定されると再配線が自動的にリセットされるため、このプロパティを介した切り替えは実行時に行うことができるようです。
参照: http://guavaman.com/projects/rewired/docs/api-reference/html/T_Rewired_ReInput_ConfigHelper.htm (いつか自分で ReWired をテストし、 サンプル

アプリケーションを作成することも私のやりたいことリストに入っています。)

InControl (Unity プラグイン)
ネイティブ入力モジュール[www.gallantgames.com] を使用し、XInput

XNA フレームワーク
を無効にします 。 ゲームが非常に古く、XNA を使用して開発されている場合は、以下を使用できます。
Nuclex フレームワーク[nuclexframework.codeplex.com]ソースを少し変更して、任意の数をサポートできます。ゲームパッドの。

https://partner.steamgames.com/doc/features/steam_controller