Nreal LightのSDKを利用するためのSDKサンプルの紹介とデプロイ時の追加手続きについてまとめました.
開発手順,参考資料
- https://developer.nreal.ai/develop/unity/android-quickstart
- https://qiita.com/mhama/items/a79834c39606d1c40ee3
SDKのサンプルシーン
- HelloMR
- 3Dモデルを表示,平面表示
- HelloMR-3dof
- カメラの回転だけ有効
- ImageTracking
- マーカー認識
- Input-ControllerInfo
- コントローラー表示
- Input-Interaction
- コントローラーでUGUI操作
- Nreal Light DevKitのコントローラー場合
- 上側がAPP,下がHome,中央がTrigger
- RGBCamera
- カメラ映像表示
- RGBCamera-Capture
- MR画像を保存
- RGBCamera-Record
- MR映像を録画
- APPボタンでプレビュー表示のon,off
- Triggerボタンで録画開始
- Homeボタンで録画終了
- https://developer.nreal.ai/develop/unity/video-capture
- 「VideoCaptureExample」オブジェクトを配置すれば録画機能が追加できる
- 画質はHD(720p)
- 録画データの取り込み方法は以下で記述
- RGBCamera-Standlone
- MR映像表示
- Sharing
- NRWindows/Start Sharing Serverからサーバー起動
権限許可ダイアログの選択方法
- カメラの利用,ストレージへのファイル保存を行うとpermissionのダイアログが表示される(Nreal装着時はAndroid画面が左右に分割されて表示されている)
- Nreal Lightでは付属のコントローラーでAndroidの設定画面を操作できないためパソコンからのコマンドでダイアログを操作する必要がある
- パソコンに接続されているとNrealの映像が確認できないので
- パソコンとNreal Lightを接続
- UnityのBuild Setting -> Build And Runを実行
- ビルドが成功してアプリが実行後パソコンのコマンドラインを起動(Nrealの画面は見えないので雰囲気で)
- コマンドラインから
adb devices
でNrealが認識されているか確認 - 以下を順番に実行して権限を許可(キーボードの右矢印を押してからEnterを押す処理)
adb shell input keyevent KEYCODE_DPAD_RIGHT
adb shell input keyevent KEYCODE_ENTER
- コマンド入力後Nrealのグラスと接続して再度アプリを起動すれば正常にダイアログが出ずにアプリが実行できる
録画データの取り込み
- Nrealで録画したデータをパソコンに取り込みます
- パソコンと接続してadbのコマンドで取り込みます
パソコンのエクスプローラーから確認できるフォルダ内にある場合はそこからコピーできます
動画ファイルの確認
コマンドラインから
adb shell
を実行することでNrealの内部にアクセスできます保存しているフォルダまで移動してlsコマンドでファイル名を取得
- 例 RGBCamera-Recordの場合
cd /sdcard/RecordVideos/
ls
ファイルの取り込み
- 以下のコマンドでファイルをパソコンにとりこみます
adb pull {android端末上のファイルパス} {コピーしたいPC上のフォルダパス}
- 例
adb pull /sdcard/RecordVideos/TestVideo_123456.mp4 C:\TestVideo_123456.mp4
- 例
まとめ
- Nreal Lightのみの場合はパソコンからのADBコマンド操作を行い本体を操作する必要がある
- SDKのサンプルに必要な機能がそろっている