はじめに
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についての記事を書いていきます。