VRChat 非公式日本語ドキュメント

入力イベント (Input Events)

Udon Input Events を使用することで、プラットフォームを問わずプレイヤーのコントローラー入力を統一された方法で取得できます。これらのイベントは、プレイヤーが操作設定(リマップ)を変更した場合でも正しく機能します。

現在、ButtonAxis の2種類のイベントがあり、それぞれ boolean 型と float 型の値が含まれます。また、各イベントは特別な UdonInputEventArgs オブジェクトを保持しています。なお、Unity の入力メソッドやプロパティを使用して入力データを直接読み取ることも可能です。

ボタンイベント

ボタンイベントには bool 値が含まれており、ボタンが押されたときは true、離されたときは false となります。

InputJump

デスクトップではスペースキー、コントローラーでは通常フェイスボタンが割り当てられています。

InputUse

デスクトップでは左クリック、コントローラーでは通常トリガーボタンが割り当てられています。

InputGrab

デスクトップでは左クリック、VRコントローラーでは通常グリップボタンが割り当てられています。

InputDrop

デスクトップでは右クリックが割り当てられています。Vive Wandsや一部のWindows Mixed Realityコントローラーではグリップボタンを押すことで、その他のコントローラーではグリップボタンを離すことで実行されます。

軸イベント(Axis Events)

軸イベントは、通常 -1 から 1 の範囲の値をとる float 型の値を持っています。アナログスティックを備えたコントローラーを使用する場合、0 から 0.1、次に 0.2 といった具合に、値が変化するたびに新しいイベントがトリガーされます。デスクトップユーザーの場合、出力される値は -1、0、1 といった整数になります。

InputMoveHorizontal

デスクトップでは A キーと D キー、コントローラーでは通常、左スティック/パッドの左右移動に対応します。

InputMoveVertical

デスクトップでは W キーと S キー、コントローラーでは通常、左スティック/パッドの上下移動に対応します。

InputLookVertical

デスクトップではマウスの上下移動、ゲームパッドおよびVRコントローラーでは通常、右スティックの上下移動に対応します。

InputLookHorizontal

デスクトップではマウスの左右移動、VRコントローラーではComfort Turning(快適な視点回転)が無効な場合の右スティック/パッドでの左右回転、ゲームパッドコントローラーでは通常、右スティックの左右移動に対応します。

UdonInputEventArgs

このオブジェクトはすべての入力イベントに含まれており、イベントに関する有用な追加データを保持しています。将来的にこのオブジェクトへさらにデータを追加する可能性があります。ここで参照できると便利なデータがあればお知らせください。現時点では、以下のデータが含まれています。

OnInputMethodChanged

このイベントは、ユーザーがキーボードからマウス、コントローラー、タッチスクリーンといった入力方法を切り替えるたびに発生します。このイベントはパラメーターとして VRCInputMethod 列挙型を含みます。

Viveの入力名が曖昧な点について
  • VRCInputMethod.Vive は、SteamVR経由で動作するViveコントローラーです。
  • VRCInputMethod.ViveXr は、OpenXR経由で動作するVive XR Eliteコントローラーです。

Unityの入力メソッドとプロパティ

Udonでは、UnityEngine.Input 名前空間の一部メソッドやプロパティにアクセスできます。これらを使用することで、ユーザー入力に関する詳細な情報を取得可能です。

Udonで利用可能なメソッドとプロパティは以下の通りです。

VRChatメニューにおける入力検知

以下のいずれかのVRChatメニューが開いている間、Udonで入力を検知することはできません。

VRChatメニューを開くと、入力を押し続けていたとしても、Udonはすべての押下入力を解放します。例:

VRChatメニューを閉じると、Udonは押されているすべての Unity 入力を押下状態にします。例:

最終更新: