Oculus Goのコントローラ入力の取得まとめ
Oculus Goを買ってUnityデビューをしました。
色々とチュートリアルをやって、それをOculus Goに対応させて遊んでるのですが、一番手間取るのはコントローラのアクションの取得です。
ここらへんはOculus Goでアプリで作る際は欠かせないと思いますので、備忘録的にまとめていこうと思います。
Prefabを使ってコントローラーを表示する必要があるのですが、その方法は以下の記事を見て頂ければと思います。
Oculus Goのコントローラーを表示させる
追記
2018/7/18 バックボタンの取得方法の修正とホームボタン長押しを追加しました。
コントローラ入力の取得
バックボタン
Input.GetKeyDown(KeyCode.Escape)
// or
OVRInput.Get(OVRInput.RawButton.Back)
ホームボタン長押し
OVRInput.GetControllerWasRecentered()
トリガー
// トリガー押した時
OVRInput.GetDown(OVRInput.Button.PrimaryIndexTrigger)
// トリガー離した時
OVRInput.GetUp(OVRInput.Button.PrimaryIndexTrigger)),
どちらの手で持っているか
var activeController = OVRInput.GetActiveController();
if (activeController == OVRInput.Controller.LTrackedRemote)
{
// 左
}
else if (activeController == OVRInput.Controller.RTrackedRemote)
{
// 右
}
タッチパッド
クリック
OVRInput.Get(OVRInput.Button.PrimaryTouchpad)
スクロールの取得
// Up方向
OVRInput.Get(OVRInput.Button.Up)
// Down方向
OVRInput.Get(OVRInput.Button.Down)
// Left方向
OVRInput.Get(OVRInput.Button.Left)
// Right方向
OVRInput.Get(OVRInput.Button.Right)
位置の取得
Vector2 touchPadPt = OVRInput.Get(OVRInput.Axis2D.PrimaryTouchpad);
if (touchPadPt.x > 0.5 && -0.5 < touchPadPt.y && touchPadPt.y< 0.5)
{
//右方向
}
if (touchPadPt.x< -0.5 && -0.5 < touchPadPt.y && touchPadPt.y< 0.5)
{
//左方向
}
if (touchPadPt.y > 0.5 && -0.5 < touchPadPt.x && touchPadPt.x< 0.5)
{
//上方向
}
if (touchPadPt.y< -0.5 && -0.5 < touchPadPt.x && touchPadPt.x< 0.5)
{
//下方向
}
ここで紹介した方法で位置を取得して移動が出来るようにしました。
Oculus Goで大自然をかけまわってみる
まとめ
今はここまでですが、情報はこれから追記していきます。
Oculusのコントローラのサンプルアプリを動かしながら色々と試してるのですが、思ったより多くの入力が取れることにびっくりしています。
上手く使えれば面白いことができそうです。
とりあえずOculus Goはすごい。
参考情報
追記
何か間違い等ございましたら、ご指摘お願いします。
Author And Source
この問題について(Oculus Goのコントローラ入力の取得まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/r-kg/items/2b783b969c874ef4cc64著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .