OVRInputのコントローラ入力まとめ
いろんなサイトやブログにいくらでも載っているけど、欲しいものがまとまってるのは少ないのでここに貯めていく。
ちなみに公式のサイトはこちら→Oculus OVRInput
どうやらOVRInputはInput Mappingという入力の種類が複数あるらしく、それによってコードが変わってくるらしい(正直よくわからん)
ので、ここでは「Raw Mapping」の記法を載せていく。
トリガーの入力
- 右手のトリガーボタンは
OVRInput.RawButton.RIndexTrigger
で取れる(戻り値はboolean)
"Index"って人差し指って意味らしい。
RIndexTrigger
をLIndexTrigger
にすると左手の方をとれる。
この前にGetDown
やらGetUp
とつけることで「押した時」や「離した時」の値が返ってくる。
OVRInput.GetDown(OVRInput.RawButton.RIndexTrigger) ///右手トリガー押した時 OVRInput.Get(OVRInput.RawButton.RIndexTrigger)///右手トリガー押している間 OVRInput.GetUp(OVRInput.RawButton.RIndexTrigger) ///右手トリガー離した時
IndexTrigger
をHandTrigger
にすると、中指らへんにあるハンドトリガー(?)の値が取れる。
OVRInput.GetDown(OVRInput.RawButton.RHandTrigger) ///右手ハンドトリガー押した時 OVRInput.Get(OVRInput.RawButton.RHandTrigger)///右手ハンドトリガー押している間 OVRInput.GetUp(OVRInput.RawButton.RHandTrigger) ///右手ハンドトリガー離した時
- トリガーは0~1までのアナログ値も取れる(戻り値はfloat)
float analog = OVRInput.Get(OVRInput.RawAxis1D.RIndexTrigger)///右手トリガーの押し具合(-1~1)
ボタンの入力
- A,B,X,Yボタンは
OVRInput.RawButton."ボタン"
で取れる(戻り値はboolean)
ABボタンは右コントローラ。XYボタンは左コントローラについてる。
OVRInput.GetDown(OVRInput.RawButton.A)///Aボタンを押した時 OVRInput.GetDown(OVRInput.RawButton.B)///Bボタンを押した時
- こいつらも
GetDown
やGetUp
を使うと押している状態をそれぞれ取れる。
OVRInput.Get(OVRInput.RawButton.X)///Xボタンを押している間 OVRInput.GetUp(OVRInput.RawButton.Y)///Yボタンを離した時
スティック操作
Oculus Touchには親指の位置に立派なスティックがある。
当然傾けたりもできるが、押し込むことでボタンのような入力もできる。
- 上下左右の動きの入力は
OVRInput.RawButton.RThumbstick"方向"
で取れる。
左のスティックならLThumbStick
にする。
OVRInput.Get(OVRInput.RawButton.RThumbstickUp)///右手スティック上 OVRInput.Get(OVRInput.RawButton.RThumbstickDown)///右手スティック下 OVRInput.Get(OVRInput.RawButton.LThumbstickRight)///左手スティック右 OVRInput.Get(OVRInput.RawButton.LThumbstickLeft)///左手スティック左
- スティックの位置を二次元で取ることもできる。(戻り値はVector2)
Vector2 pos = OVRInput.Get(OVRInput.RawAxis2D.LThumbstick)///定位置を原点としたx(-1~1),y(-1~1)の数値
Up
やRight
等方向を示す部分を削ると、スティックを押しボタンとした入力が取れる。
OVRInput.GetDown(OVRInput.RawButton.RHandTrigger);///右手スティック押した OVRInput.Get(OVRInput.RawButton.RHandTrigger);///右手スティック押している OVRInput.GetUp(OVRInput.RawButton.LHandTrigger);///左手スティック離した
残りはそのうち追加していく