Vuforiaでユニティちゃんを召喚するまでに躓いた点
どこのVuforiaのチュートリアルを見ても結構簡単そうだったので挑戦してみたら思わぬところで躓いたのでその点について主にまとめてあります.
実行した環境
- Windows10
- Vuforia 6.2
- Unity 2017.1.0f3
- Android7.0
Unity上でマーカ画像が表示されない
ARCamera
にLisense Key
を記述しDatasets
をActivate
に設定,かつImageTarget
にDatabase
を指定してもUnity上にテクスチャが反映されなかった.
このような現象はUnity5.5以降で起こる*1*2らしい.5.5以降はテクスチャが誤ってキューブマップとして適用されてしまうとのこと.
そのためテクスチャのTexture Shape
をCube
から2D
に変更しApply
を押すとUnity上にマーカ画像が表示される.
マーカのテクスチャ画像はデフォルトだとAssets/Editor/ImageTargetTextures/<Database名>
下に存在する.
余談ではあるけど(自分は試していないが)Unity上で表示されないだけで実行するとちゃんとマーカは認識されてるっぽいという話は聞いた.
Android SDK周りでエラーが出る
正しいSDK,JDKのPathを設定しても何故かUnable to list target platforms. Please make sure the android sdk path is correct.
というエラーになりAndroid用のビルドに失敗することがあった.対処方法は以下の記事を参考に行った.
ユニティちゃんが上手く表示されない
Vuforiaのテストとして「とりあえずユニティちゃん表示させっか!w」みたいな感じで試すとなんかすごいことになる.
とりあえずやっとここまできたけどモデルがよくわからんことなってるし俺が何をしたって言うんだ pic.twitter.com/AUH2pyvqIP
— とけい_0:30には寝ろ (@zenmaibane) 2017年8月22日
参考サイト*3によるとUnitychanShaderはモバイル端末だと性能的に処理が追い付かないためにこうなるらしい.事実PCで実行すると正常に表示された.なのでもうこれはどうしようもないということで割り切った.
ただ改めて考えるとユニティちゃんは(この言い方で合ってるかわからないけど)デフォルトのモデル以外にモバイルゲーム開発に特化したローポリユニティちゃんを配布していて,わざわざモバイル版に特化させたモデルを作ってるということは逆説的に考えて普段のモデルを使うと何かしら不具合が出る可能性があるってことだよなって事実に気づくべきだった気もする.
ちなみにローポリユニティちゃんを表示させると下記のようになる.Vuforiaを試す場合はこっちをサンプルモデルにした方がいいのかもしれない.
ちゃんとモバイル用のユニティちゃんにすると正常に動きますね pic.twitter.com/LQDxxR02qR
— とけい_0:30には寝ろ (@zenmaibane) 2017年8月22日