2012年11月15日
Unity 4でVuforia @ iOS
ついに正式版のUnity 4がリリースされましたね。ベータ版をずっと使っていたので、やっとって感じですが、これでやっと開発環境が整ったので嬉しいです。そろそろ、iPhoneアプリもリリースしないとね。
公開記念って訳でもないですが、ARライブラリーのVuforiaをUnity 4で使う場合の注意点などを書こうと思います。私は、Unity 3.xは既に使ってないので、現時点でそちらで起きている不具合など有っても、把握してないので、Unity 4限定で紹介します。
それから、Xcodeに関しては、4.5.2を前提としています。4.5.1だとiPhone 5(armv7s)で起動しないなど不具合が生じていたので、古いバージョンを使っている人は新しくしましょう。
まず、Unity 4でXcodeのプロジェクトを書き出した場合、そのままではビルドに失敗します。以下に修正箇所を書きますが、取りあえずビルドを通す為に修正した箇所なので、もしかすると間違っている所も有るかもしれません。何かお気づきの点など有ればお知らせください。
AppController.mm
348行
書き換え前
QCARUnityPlayer::getInstance().QCARNotifyCreated((int)surface->w, (int)surface->h);
書き換え後
QCARUnityPlayer::getInstance().QCARNotifyCreated((int)surface->targetW, (int)surface->targetH);
751行
書き換え前
QCARUnityPlayer::getInstance().QCARSetOrientation(_curOrientation);
書き換え後
QCARUnityPlayer::getInstance().QCARSetOrientation((int)orientation);
iPhone_Sensors.mm
347行
書き換え前
return gLocationServiceStatus.GetLocationManager().locationServicesEnabled;
書き換え後
return [CLLocationManager locationServicesEnabled];
以上の三箇所を書き換えるとビルドは成功するはずです。ただ警告が沢山出ます。
その一つ、「ld: warning: PIE disabled. Absolute addressing」に関しては、ビルドセッティングで LD_NO_PIE = YES とすれば、警告は消えます。
その他は、DEBUG_INFORMATION_FORMAT = dwarf とすれば警告は消えます。
さらに、Retina 4 SupportのDefault-568h@2x.pngが無いと警告が出るのですが、これは、Build PhasesのCopy Bundle Resourcesに含まれてないから。他にもUnity側から書き出される@2xの画像が含まれてなかったりするので、 追加します。逆にCompile Sourcesに余計な画像が含まれてしまっているので、こちらは外します。何故こんな事になっているのか。
一応、以上で動くには動くのですが、画面を斜めにした時に表示が歪む。画面の解像度かなにかが影響しているのかなと思って調べてみたのですが、原因つかめず。3.5インチ、4インチの画面ともに歪むので、根本的に何かが間違っているのかも。正面を向いている時は気になるほど歪まないので、使えなくはないのですが、気に入らないな。
関連日記
- 2012年12月21日 ARアプリ開発の為のCamTwist活用方法(Unity+Vuforia編) (7564)@ iOS
- 2014年06月09日 3DなマーカーでAR (6685)@ 3D
- 2012年12月20日 Vuforia 2.0 (6116)@ iOS
- 2014年07月04日 AR関連商品「ドラえもん × グリコ」 (5517)@ 3D
- 2012年03月02日 QualcommのARライブラリー「Vuforia」 (5297)@ Mac
- 2013年05月14日 [Unity] ARライブラリーまとめ (3805)@ iOS
- 2012年08月16日 Unity 3.5.5f3とXcode 4.4.1 (3100)@ Mac
- 2012年08月23日 Unity 4 beta (3017)@ Mac
- 2012年05月07日 ARな書籍 (2438)@ iOS
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。