はじめに
NRSDK 1.3.0にあるInput-ControllerInfoシーンを観察していきます。
Inputのサンプルシーンは3つあるので、本記事は(1/3)としています
もし間違いがあれば、指摘いただければ幸いです。
Input-ControllerInfoシーンについて
Nrealの各Inputパラメータを確認できるシーン
NRSDK>Domos>Inputに配置されている
シーン構成
シーン構成 |
---|
NRCameraRig |
NRInput |
Cube |
ControllerInfoDisplayUI |
NRCameraRig、NRInput
Nrealに対応したカメラ、入力システム
別のサンプルシーンで観察してます。
NrealSDK1.3.0のHelloMRシーンを観察してみる
Cube
Ray判定などに使うただのCube。
デフォルトとの違いを強いて言うなら子にDirectional Lightがあるくらい
ControllerInfoDisplayUI
スクリプト名 | 役割 |
---|---|
ControllerInfoDisplayUI | Nrealコントローラーから入力を受け取り、Canvasへ反映させる重要なスクリプト。Updateメソッドで処理しているため、毎フレーム呼び、更新している。 |
mainInfoTxt
入力に関係するパラメータを表示するテキスト
extraInfoTxt
ボタンのログを表示するテキスト
入力
名前 | 値 |
---|---|
controller count | 現在接続されている利用可能なコントローラの数 |
type | 現在のコントローラのタイプ(EDITOR、UNKNOWN、NREALLIGHT、PHONE、FINCHSHIFT) |
current debug hand | コントローラが左右どちらか。デフォルトは右 |
position available | コントローラーのポジションが利用可能か |
rotation available | コントローラーのローテーションが利用可能か |
gyro available | コントローラのジャイロセンサーが利用可能か |
accel available | コントローラの加速度センサーが利用可能か |
mag available | コントローラの地磁気センサーが利用可能か |
battery available | コントローラのバッテリーが利用可能か |
vibration available | コントローラのバイブレーションが利用可能か |
rotation | コントローラーのローテーション(Quaternion) |
position | コントローラーのポジション(Vector3) |
touch | タッチしたコントローラー上の座標(Vector2)(UnityEdiorでは、カーソルキーで移動可) |
trigger button | touchpadButtonクリック(UnityEdiorでは、左クリック) |
home button | homeButtonクリック(UnityEdiorでは、スクロールクリック) |
app button | appButtonクリック(UnityEdiorでは、右クリック) |
grip button | gripButtonクリック |
touchpad button | touchpadButtonクリック |
gyro | コントローラーの角速度(Vector3) |
accel | コントローラーの加速度(Vector3) |
mag | コントローラーの地磁気(Vector3) |
battery | コントローラーのバッテリー(int) |
まとめ
Nrealで取得できるパラメータを理解するために使うシーンでした。
UnityEditor上で動作するのは嬉しいです(NREmulatorController.cs)
NRSDKでHandTrackingは実装されていないみたい。
さいごに
NRInputクラスから各パラメータを取得するメソッドがあることも確認できたので、楽に使えそうですね。
これからもNrealについての記事を書いていきます。