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インチの画面ともに歪むので、根本的に何かが間違っているのかも。正面を向いている時は気になるほど歪まないので、使えなくはないのですが、気に入らないな。

閲覧数: 4292 / はてなブックマークusers

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト