トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

NrealのUnity開発準備編(サンプル実行、お豆腐)

前回Nrealを触りました。

bibinbaleo.hatenablog.com

 

今回はUnity開発!

こちらを参考にやっていきます。

note.com

公式のチュートリアルはここ

https://developer.nreal.ai/develop/unity/android-quickstart

公式Slack

分からないことがあれば、Slackの過去ログを見たり質問するのがよさそう。

日本開発者用

 All

 

環境構築

SDK

ここから

developer.nreal.ai

f:id:bibinbaleo:20200731132737p:plain

最初、最新版の1.3をダウンロードしていたが、エラーが出て動かなかったので1.2.1に変えた。(詳しくは下のほう)

Unity

Unity 2018.2.X or higher with Android Build Support

 

Android SDK 8.0 (API Level 26) or later, installed using the SDK Manager in Android Studio

私は2019.4.5で動かす

ProjectSettings

AndroidへSwitchPlatformしたら、ProjectSettings

f:id:bibinbaleo:20200731132728p:plain

DefaultOrientationをPortrait(縦向き)

f:id:bibinbaleo:20200731132733p:plain

GraphicAPIsをOpenGLS3

f:id:bibinbaleo:20200731133616p:plain

Andriod8.0

f:id:bibinbaleo:20200731133612p:plain

WritePermissionをExternal(SDcard)Allow unsafe Codeにチェック

f:id:bibinbaleo:20200731133609p:plain

Quality>VSyncCountをDontSync

f:id:bibinbaleo:20200731133606p:plain

サンプルシーン

SDK入れたらサンプルシーンがいっぱいある。

f:id:bibinbaleo:20200731134525p:plain

HelloMR

HelloMRはNrealのロゴを見るシンプルなシーン

f:id:bibinbaleo:20200731145742p:plain

実行したらコントローラーが生成される

f:id:bibinbaleo:20200731134528p:plain

RGB-Camera

https://developer.nreal.ai/develop/unity/rgb-camera

Glassカメラの映像を表示するデモシーン

f:id:bibinbaleo:20200812161153p:plain

グラスの真ん中右レンズからの映像が取れる

f:id:bibinbaleo:20200812161155p:plain

RGBCamera-Record

https://developer.nreal.ai/develop/unity/video-capture

Fist Person View Video Captureができるらしいので実行してみたが、どこに保存されたのかよくわからない。

sdcard/RecordVideos/にあるらしいがどこだ?

ビルド

サンプルのHelloMRをBuildする。

Androidビルドして、adbでapk入れる。

Questとかと同じなので省略

 

入れるとランチャーに表示される!

f:id:bibinbaleo:20200731141517p:plain

Wifiでのadb

Nrealのページに

「(オプション) Android Logcat を使用して、ログに記録されたメッセージを表示します。ほとんどの場合、データケーブルを介して接続する必要がないように、WiFi Android Debug Bridge(adb)を使用してPCに接続することをお勧めします」

って書いてあった。

今はケーブルで入れているけど、wifiでもadbできるんだよね。

qiita.com

IPアドレスが必要だけど、そもそも最初wifiに接続されていないので、VysorとかでAndroid画面表示してsetting>networkからwifiにつないだ。(これが正規ルートなのか?)

f:id:bibinbaleo:20200731143145p:plain

そしてwifiクリックしてIPアドレス確認

f:id:bibinbaleo:20200731143142p:plain

黒い画面で

adb tcpip 5555

adb connect 192.168.XX.XX:5555

で行ける。

私はIPアドレスとgatewayのアドレスを間違えたせいで30分以上無駄にしました。

「対象のコンピューターによって拒否されたため、接続できませんでした。 (10061)」

と出たらIPアドレスが正しいか確認しましょう(戒め)

logcat

adb logcatをコマンドに入れたらログが見れる。

Glassをかけて実行しながらlogcatを見るのに、wifi接続が便利(というかそれしかない)という話

普段はusb接続で良さそう。

起動時エラー(Glasses connect error.Please connect the device correctly.)→1.2のSDKを使う

でも起動してもエラー出て動かない。

f:id:bibinbaleo:20200731141522p:plain

Glasses connect error.Please connect the device correctly.

権限? 

Nrealのページによく見たら

If it is the first time you run this app, you need to authrize the app by some tools like scrcpy.

って書いてある。

カメラとかの権限の表記が出るからOKとか押す必要があるのかな。

Vysorでアプリを立ち上げてみたけど、同じエラーが出るだけだった。

f:id:bibinbaleo:20200731142037p:plain

Androidのアップデート

Slackに入ったら同じ質問があった。

Androidのアップデートをすると直ったという人もいる。

Wifiをオンにして端末を再起動したら、アップデートのポップアップが出てくることがあるらしい。

私は出てこなかった。

f:id:bibinbaleo:20200731145609p:plain

あとグラスを掛けて、SettingのSystemUpdateを見るとよさそう

f:id:bibinbaleo:20200731165552p:plain

だがどちらでもアップデートない

解決:SDKのバージョンを1.2.1にする

SDK1.3がNrealデバイスに対応してないのでできないらしい。(NrealSlack情報)

1.2.1とかに下げるしかないみたい

 

1.3入れているところに1.2.1を入れたらエラーが出て動かなかったので、新しくプロジェクト作った。

これで動いた!!

f:id:bibinbaleo:20200731165540p:plain

エディタの操作

 

操作はこちら

・W、S、A、Dキー: 頭の移動(前後左右)
・Space+マウス: 頭の回転
・Shift+マウス: コントローラーの回転
・マウスの左クリック: コントローラのTrackpadのクリック
・マウスの右クリック: コントローラのHome Buttonのクリック
・マウスホイールのクリック: コントローラのApp Buttonのクリック
・矢印キー: コントローラーのTrackpadのスワイプ

Nreal入門 / HelloMRの実行|npaka|note

公式だとここに書いてある

developer.nreal.ai

オリジナルシーン

1から作ったシーンでトマシープちゃんを出してみる。

サンプルシーンを見るとこんな感じの構成

f:id:bibinbaleo:20200731170850p:plain

NECameraRigとNRInputプレハブがある

f:id:bibinbaleo:20200731171521p:plain

同じように置く

f:id:bibinbaleo:20200731172437p:plain

これをビルドしたら・・・

できたー

やっとお豆腐(トマシープちゃん)出すところまでできた。

f:id:bibinbaleo:20200731172655p:plain

なんかめっちゃ時間かかった。

トラッキング精度はなかなか良さそう。

狭い部屋だけど、一周して戻ってきても大体同じ場所にいた

最後に

次はConekton使ったり、VRM表示したりしてみる。