はじめに
この記事は開発途中のSDKに対するメモであり、他の人の環境で動作保証する記事ではありません。
特にTango SDKではIkariotikos以降のバージョンでFixされる可能性があります。
Zenfone AR 買いました
Zenfone ARに一目惚れし、Asusの公式ストアに運良く並んでいるタイミングで購入できました。(再入荷したタイミングだったのかな?)
さて、早速SDKを試していたんですが、まずサンプルが動きませんでした。
動かそうとしたサンプルはこれ【tango-examples-unity/UnityExamples/Assets/TangoSDK/Examples/AugmentedReality/】
一日を潰して得た成果について記述します。
Unityの動作バージョンが曖昧、5.4もしくは5.5が安定?
【Getting Started with Unity for Tango - Google Tango】
公式だとUnity5.2.1からと書いてありますが、少なくとも2017だと強制終了、5.6.0もカメラ周りがおかしく、満足に動作せず。AR表示がうまく動きませんでした。
自分の環境で動作した環境は5.5.2f1でした。
(動作Unity ver 5.4.1f1)
【入門編】Google Tango対応スマホで拡張現実(AR)アプリを作ってみた #1 - GET AR
(動作Unity ver 5.4.2f)
Tango + Cardboard/Daydreamの話 - ReDo (@youten_redo さん)
カメラの映像がうまく表示できない
グラフィックスバッファのクリアの設定がおかしくなっているようです。この記事がなければ詰まっていました・・・
Clear Flags: Depth only -> Solid Color
Tango SDK for UnityをIkariotikosにしたらAR Screenが映らなくなったので直した - じゅころぐAR
オブジェクト遮蔽(Occlusion)がうまくできない
Tangoの目玉であるオブジェクト遮蔽(Occlusion)を有効にするため、下記の記事を参考にしながらやっていたのですが、
【TangoでOcclusionを有効にする (@shiroizu さん)】
PointCloudっぽいものは表示されど、一向に遮蔽されず、調べていたのですが見つからず。途方にくれながらpointcloudのshaderを見ていたら、見慣れないセマンティクスPSIZE
が。
セマンティクス周りの解釈がうまく行っていない可能性があったので、試しに Auto Graphics APIを無効にして、手動でGLES 2.0を指定にすることで動作しました。
【Release Note】にはver OKulでGLES 3.0に対応とかかれていましたが、UnityのバージョンごとにValidationを取っているのか怪しく、原因はおそらくUnityのシェーダーのコンバータにあるのかなぁと思っています。
最後に
とりあえずは動いたので、これから色々と入れ込んでいこうと考えています。
私はUnstableなパッケージを使う機会が割とあったので、ある程度は目星をつけて調べられたのですが、開発そのものが初めてな方だといきなりこういう問題に放りこまれたらかなり困惑しそうです。せめてSDKはold_versionも提供してほしいですね・・・