#はじめに
Oculus公式ページにある Mapping Oculus Controller Input to Blueprint Events をもとにした内容です。公式ページには書かれていないサムスティック、トリガー、グリップの浮動小数点値の取得についての内容を追記しています
ボタン押したかどうかだけではなく「ボタンに触れているかどうか」「指がボタンからどれぐらい離れているか」など色々な情報が取れます。公式ページでも難しい英語ではないので分かるんだけど、(日本語のページができていました!!)似たような名前で多くの機能があり混乱しかけたのでまとめました。
左コントローラーの例で書いていますが右コントローラーも(L)(左)が(R)(右)になるだけでほぼ同じです。
#確認した環境
UnrealEngine 4.22.3 VRテンプレートのMotionControllerMapを使用
Oculus Quest付属のコントローラー
@shienaさんの記事を参考に ManifestRequirementsAdditions.txt を所定にフォルダに置くという対応をしています。
Oculus Quest Build 7.0アップデート後に自作アプリがおかしくなった時の対策
#サムスティック タッチ、プレス、サムアップアクション
サムスティックの「押し込み」「触れているか」「指がどれぐらい離れているか」を取得できます。
#サムスティック 上下左右 プレス、リリースアクション
サムスティックの「上下左右に倒す」アクションを取得できます。これでとれるのはデジタル値です
サムスティックの倒し具合を-1.0から+1.0の浮動小数点値で取得できます。(公式ページには書かれていませんでした)
名前 | 説明 |
---|---|
MotionController (L) Thumbstick X | サムスティックの左右(X軸)の倒し具合を-1.0から+1.0の浮動小数点値で取得。 |
MotionController (L) Thumbstick Y | サムスティックの上下(Y軸)の倒し具合を-1.0から+1.0の浮動小数点値で取得。 |
#トリガー タッチ、プレス、リリース、およびポインティングフィンガーアクション
トリガーの「押す(引く?)」「触れているか」「指がどれぐらい離れているか」を取得できます。
トリガーの引き具合を0.0から1.0の浮動小数点値でとれます。(公式ページには書かれていませんでした)
名前 | 説明 |
---|---|
MotionController (L) Trigger Axis | 左コントローラーのトリガーの引き具合を0.0から1.0の浮動小数点値で返します。 |
#グリップ プレス、リリースアクション
グリップボタンを「押す」アクションを取得できます。
名前 | 説明 |
---|---|
MotionController (L) Grip1 | 左コントローラのグリップのPressedおよびReleasedイベント。 |
グリップの押し具合を0.0から1.0の浮動小数点値でとれます。(公式ページには書かれていませんでした)
名前 | 説明 |
---|---|
MotionController (L) Grip1 Axis | 左コントローラーのグリップの押し具合を0.0から1.0の浮動小数点値で返します。 ! |
#X, A, Y, Bボタン プレス、リリースアクション
X, A, Y, Bボタンを「押す」「触れているか」を取得できます。
#参考リンク
Mapping Oculus Controller Input to Blueprint Events
Oculus Quest Build 7.0アップデート後に自作アプリがおかしくなった時の対策