docs.unity3d.com
    目次を表示する/隠す

    ユーザー管理

    Input System では、InputUser クラスを介して複数ユーザーの管理機能がサポートされます。これは、この管理機能が組み込まれたプラットフォーム (Xbox や PS4 など) でのユーザーアカウント管理機能と、1 人以上のローカルユーザーへの Device の割り当てを管理する機能から成ります。

    ノート: ユーザー管理 API は、本質的に低レベルの機能です。PlayerInputManager (コンポーネント を参照) の標準機能を使用すると、ユーザー管理を簡単に設定できます。ここで説明する API は、より細かくユーザー管理を制御する必要がある場合に役立ちます。

    Input System では、各 InputUser が、アプリケーションを操作している人を表します。例えば、1 台のコンピューターまたはデバイスで複数のユーザーが一緒にゲームをプレイ (ローカルマルチプレイヤー) できるようにすることができます。この場合、各ユーザーを 1 つ以上の Input Device と組み合わせ ます。

    PlayerInputManager クラスは、内部で InputUser を使用してユーザーを処理します。

    ノート: エディターでは、再生モードの終了時にすべての InputUser インスタンスが自動的に削除されます。これにより、デバイスとの組み合わせもすべて削除されます。基本的に、InputUser はプレイヤー専用の API と見なされます。

    Device との組み合わせ

    InputUser.PerformPairingWithDevice メソッドを使用すると、新しい InputUser インスタンスを作成して InputDevice と組み合わせることができます。新しいユーザーインスタンスを作成しない場合は、必要に応じて、既存の InputUser インスタンスを渡して Device と組み合わせることもできます。

    特定の InputUser と組み合わされている Device を照会するには、InputUser.pairedDevices を使用します。組み合わせを削除するには、InputUser.UnpairDevice または InputUser.UnpairDevices を使用します。

    最初の設定

    ユーザーを作成したら、InputUser.AssociateActionsWithUser を使用して Input Action を関連付け、さらに InputUser.ActivateControlScheme を使用して Control Scheme を関連付けてアクティベートすることができます。InputControlScheme.FindControlSchemeForDevice を使用すると、以下のように、指定した Action と Device に一致する Control Scheme を選択できます。

    var scheme = InputControlScheme.FindControlSchemeForDevice(user.pairedDevices[0], user.actions.controlsSchemes);
    if (scheme != null)
        user.ActivateControlScheme(scheme);
    

    Control Scheme をアクティベートすると、ユーザーの Action に対するアクティブな Binding マスクが、その Control Scheme に自動的に切り替わります。

    Device との接続の切断

    組み合わされた Input Device との接続がセッション中に切断された場合は、システムによって InputUser クラスに通知が送信されます。Device の追跡が継続され、Device が再び使用可能になると、自動的に組み合わせが復元されます。

    これらの変更に関する通知を受け取るには、InputUser.onChange イベントにサブスクライブします。

    デバッグ

    アクティブなユーザーをデバッグする方法 については、デバッガーのドキュメントを参照してください。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)