Vuforiaでユニティちゃんを召喚するまでに躓いた点

どこのVuforiaのチュートリアルを見ても結構簡単そうだったので挑戦してみたら思わぬところで躓いたのでその点について主にまとめてあります.

実行した環境

  • Windows10
  • Vuforia 6.2
  • Unity 2017.1.0f3
  • Android7.0

Unity上でマーカ画像が表示されない

ARCameraLisense Keyを記述しDatasetsActivateに設定,かつImageTargetDatabaseを指定してもUnity上にテクスチャが反映されなかった.

f:id:zenmaibane:20170822212312p:plain

このような現象はUnity5.5以降で起こる*1*2らしい.5.5以降はテクスチャが誤ってキューブマップとして適用されてしまうとのこと.

そのためテクスチャのTexture ShapeCubeから2Dに変更しApplyを押すとUnity上にマーカ画像が表示される.

f:id:zenmaibane:20170822212951p:plain

マーカのテクスチャ画像はデフォルトだとAssets/Editor/ImageTargetTextures/<Database名>下に存在する.

余談ではあるけど(自分は試していないが)Unity上で表示されないだけで実行するとちゃんとマーカは認識されてるっぽいという話は聞いた.

Android SDK周りでエラーが出る

正しいSDKJDKのPathを設定しても何故かUnable to list target platforms. Please make sure the android sdk path is correct.というエラーになりAndroid用のビルドに失敗することがあった.対処方法は以下の記事を参考に行った.

qiita.com

ユニティちゃんが上手く表示されない

Vuforiaのテストとして「とりあえずユニティちゃん表示させっか!w」みたいな感じで試すとなんかすごいことになる.

参考サイト*3によるとUnitychanShaderはモバイル端末だと性能的に処理が追い付かないためにこうなるらしい.事実PCで実行すると正常に表示された.なのでもうこれはどうしようもないということで割り切った.

ただ改めて考えるとユニティちゃんは(この言い方で合ってるかわからないけど)デフォルトのモデル以外にモバイルゲーム開発に特化したローポリユニティちゃんを配布していて,わざわざモバイル版に特化させたモデルを作ってるということは逆説的に考えて普段のモデルを使うと何かしら不具合が出る可能性があるってことだよなって事実に気づくべきだった気もする.

ちなみにローポリユニティちゃんを表示させると下記のようになる.Vuforiaを試す場合はこっちをサンプルモデルにした方がいいのかもしれない.