Programming in VRChat

VRChat でのプログラミングについて調べたことの書き溜め

VRコントローラ・ボタンのジョイスティック・ボタンへの対応付け

概要

VRモードで使用するコントローラ上のボタンはジョイスティックのボタンに対応付けられていて、 キーボード入力として OnKeyDown および OnKeyUp トリガーで取り扱えます。

対応づけ

下記 Unity マニュアルの中で Unity Button ID と表記してある数値がジョイスティックのボタンの番号に対応しているようです。

例:HTC Vive の左メニューボタンは Unity Button ID が 2 であり、OnKeyDownOnKeyUpJoystick Button 0 として扱える。

例:HTC Vive

HTC Vive について書きだすと以下のようになります。

Unity Key HTC Vive controller
joystick Button 0 R Menu Button
joystick Button 2 L Menu Button
joystick Button 8 L Trackpad press
joystick Button 9 R Trackpad press
joystick Button 14 L Trigger
joystick Button 15 R Trigger
joystick Button 16 L Trackpad touch
joystick Button 17 R Trackpad touch

(touch は触れるだけ、press は押し込み動作)

補足

  • VRChat のドキュメントには記載されていないようなので、今後のバージョンアップで使えなくなるかもしれません。
  • VRChat 0.12.0p12 で動作検証しました。