Tango SDKをIkariotikosにアップデートしたら楽しいことになりました。
ほとんど備忘録ですが、同じところでハマる人もいそうなのでまとめておきます。
Ikariotikosって?という方へ
Tango SDKは約1ヶ月おきにアップデートされています。
バージョン番号には、Tangoにちなんで踊りの名前が付いていて、イニシャルがアルファベット順にA,B,C...と上がっていきます。
2017年6月にリリースされたバージョンが、Ikariotikosです。その前は、Hopak。
ちなみに、踊りの方のIkariotikosはこんな感じだそうです。
アップデートしてみた
リリースノートを見ると、1行しか書かれていません。
Build new augmented reality experiences that seamlessly blend the digital and physical worlds
まあ、大した変更はなさそうだな。
ということで、アップデート!
・・・した結果。
あかん!Σ(・∀・;)
Tango Unity SDKの最新バージョンやばいな。
— jyuko (@jyuko49) 2017年7月1日
直す
症状からして、前フレームでレンダリングした結果をクリアできてないんだろうなー!と推測。
AR ScreenとTango Cameraが怪しいと当たりを付けます。
容疑者のTango Cameraをクリックして、Inspectorをチェック。
Tango AR Screenは、Point Cloud Occlusion(点群による遮蔽処理)の設定しかありません。スクリプトの中身にまで手を入れたくないので、一旦スルーします。
続いて、Cameraの方を見てみると、Clear Flagsとかいう超怪しいプロパティを発見!
元々はDepth onlyになっていたところ、Solid Colorに変更したら直りました。
ちなみに、Clear FlagsをSkyboxにするとこうなります。
デフォルトの背景がSkyboxで、Dynamic MeshができたところにだけAR Screenが映る感じですね。
ExperimentalMeshBuilderWithColorみたいな感じですが、MeshにColorが付いている訳ではなく、カメラ映像が映ります。
これはこれでどこにMeshができているかわかりやすいから、使い途あるかな?
別のバグ?
色々調べている途中で、AR Camera Post Processを有効にすると、AR Screenが映らなくなりました。
AR Camera Post Prosessを有効にすると初回起動時AR Screenが映らない。無効にすればとりあえず直る。 pic.twitter.com/ID0jIQnXYk
— jyuko (@jyuko49) 2017年7月1日
ちゃんと調べてないですが、一回アプリ中断して、再度接続すると映ったりするので謎です。
とりあえずは、無効のままでいいかな。
おわりに
今思えば、Hopakまでは毎月の上旬にはリリースされていたのに、Ikariotikosは月末ギリギリでリリースされたので、今までとサイクルが違ってたんですよね。結果として、過去のアップデートよりも影響が大きかったので、正直、大丈夫かGoogleと思いました。
あと、気付いてる人は気付いてると思いますが、サイト上にThe latest version of the Unity SDK is Ikariotikos (Version 1.54, June 2017).と書かれていて、実際ダウンロードするとファイル名がTangoSDK_Hopak_Unity5.unitypackageという状態が1週間くらい続いていました。
マジで大丈夫なのか!?Google!
リリースノートもUnity SDKではなく、C SDKの方を見ると、APIがかなり増えています。
Build new augmented reality experiences that seamlessly blend the digital and physical worlds
Bounding boxes APIとか面白そうだし、File IO for images and point cloudsには、以前自前でやったPLYファイルへのエクスポートがAPIとして用意されています。
まあ、Unity SDKから使えるかどうか、わかんないんだけどね。
その辺、Googleはもっとサポートすべきだと思うけど、開発のスピードに対してドキュメントやExamplesが追い付いていない気がする。現状、開発者コミュニティ頼みになっている感は否めないかな。