前回Nrealを触りました。
今回はUnity開発!
こちらを参考にやっていきます。
公式のチュートリアルはここ
https://developer.nreal.ai/develop/unity/android-quickstart
- 公式Slack
- 環境構築
- サンプルシーン
- ビルド
- 起動時エラー(Glasses connect error.Please connect the device correctly.)→1.2のSDKを使う
- エディタの操作
- オリジナルシーン
- 最後に
公式Slack
分からないことがあれば、Slackの過去ログを見たり質問するのがよさそう。
日本開発者用
Nrealの日本開発者Slackがリニューアルされました。北京本社の各担当者が開発者からの質問に直接に答えますので、気になる点などどんどんきいてください〜😎 https://t.co/XHCScgtfQJ
— Andrew Shin (@Nreal_Shin) 2020年6月9日
All
Have questions about the #Nreal Light Developer Kit? A quick way to get pressing questions answered is in our Slack group! You'll also meet other passionate Dev Kit developers who'll offer you a tip (or dozen).
— Nreal 👓 (@Nreal) 2020年6月9日
You can Nreal's Slack group here: https://t.co/S31P5VNWez pic.twitter.com/A60MT420FN
環境構築
SDK
ここから
最初、最新版の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
DefaultOrientationをPortrait(縦向き)
GraphicAPIsをOpenGLS3
Andriod8.0
WritePermissionをExternal(SDcard)、Allow unsafe Codeにチェック
Quality>VSyncCountをDontSync
サンプルシーン
SDK入れたらサンプルシーンがいっぱいある。
HelloMR
HelloMRはNrealのロゴを見るシンプルなシーン
実行したらコントローラーが生成される
RGB-Camera
https://developer.nreal.ai/develop/unity/rgb-camera
Glassカメラの映像を表示するデモシーン
グラスの真ん中右レンズからの映像が取れる
RGBCamera-Record
https://developer.nreal.ai/develop/unity/video-capture
Fist Person View Video Captureができるらしいので実行してみたが、どこに保存されたのかよくわからない。
sdcard/RecordVideos/にあるらしいがどこだ?
ビルド
サンプルのHelloMRをBuildする。
Androidビルドして、adbでapk入れる。
Questとかと同じなので省略
入れるとランチャーに表示される!
Wifiでのadb
Nrealのページに
「(オプション) Android Logcat を使用して、ログに記録されたメッセージを表示します。ほとんどの場合、データケーブルを介して接続する必要がないように、WiFi Android Debug Bridge(adb)を使用してPCに接続することをお勧めします」
って書いてあった。
今はケーブルで入れているけど、wifiでもadbできるんだよね。
IPアドレスが必要だけど、そもそも最初wifiに接続されていないので、VysorとかでAndroid画面表示してsetting>networkからwifiにつないだ。(これが正規ルートなのか?)
そしてwifiクリックしてIPアドレス確認
黒い画面で
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を使う
でも起動してもエラー出て動かない。
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でアプリを立ち上げてみたけど、同じエラーが出るだけだった。
Androidのアップデート
Slackに入ったら同じ質問があった。
Androidのアップデートをすると直ったという人もいる。
Wifiをオンにして端末を再起動したら、アップデートのポップアップが出てくることがあるらしい。
私は出てこなかった。
あとグラスを掛けて、SettingのSystemUpdateを見るとよさそう
だがどちらでもアップデートない
解決:SDKのバージョンを1.2.1にする
SDK1.3がNrealデバイスに対応してないのでできないらしい。(NrealSlack情報)
1.2.1とかに下げるしかないみたい
1.3入れているところに1.2.1を入れたらエラーが出て動かなかったので、新しくプロジェクト作った。
これで動いた!!
エディタの操作
操作はこちら
・W、S、A、Dキー: 頭の移動(前後左右)
・Space+マウス: 頭の回転
・Shift+マウス: コントローラーの回転
・マウスの左クリック: コントローラのTrackpadのクリック
・マウスの右クリック: コントローラのHome Buttonのクリック
・マウスホイールのクリック: コントローラのApp Buttonのクリック
・矢印キー: コントローラーのTrackpadのスワイプ
公式だとここに書いてある
オリジナルシーン
1から作ったシーンでトマシープちゃんを出してみる。
サンプルシーンを見るとこんな感じの構成
NECameraRigとNRInputプレハブがある
同じように置く
これをビルドしたら・・・
できたー
やっとお豆腐(トマシープちゃん)出すところまでできた。
なんかめっちゃ時間かかった。
トラッキング精度はなかなか良さそう。
狭い部屋だけど、一周して戻ってきても大体同じ場所にいた
最後に
次はConekton使ったり、VRM表示したりしてみる。