iOS
Unity iOS の基本

iOS 開発を始める

iPhone や iPad のようなデバイス向けにゲームをビルドすることはデスクトップ PC 向けゲームとは異なるアプローチが必要です。PC マーケットと異なり、ターゲットのハードウェアは標準化されていて、また専用ビデオカードをもったコンピューターほど高速で協力ではありません。このためこれらプラットフォーム向けのゲーム開発のアプローチは少し異なって行う必要があります。さらに iOS 向けの Unity の機能はデスクトップ PC のそれとは若干異なります。

Apple デベロッパーアカウントをセットアップする

デバイス向けにビルドするために Apple Developer アカウントは必要ありません。テストの目的であなた自身のデバイスだけにビルドするには、どんな種類の Apple ID でも十分です。

ただし、実際のデバイスで Unity iOS ゲームを実行する前に、Apple デベロッパーアカウントがを設定することをお勧めします。これは iOS で Unity の最大限の能力を発揮させるために必要だからです。これには、チームの決定や、デバイスの追加、プロビジョニングプロファイルの最終化を含みます。これらすべては Apple のデベロッパー Web サイトを通して実施します。これは複雑なプロセスなので、iOS デバイスでコードを実行する前に実施すべきタスクの アカウントセットアップ をまとめました。Apple の iPhone デベロッパーポータル の手順とともに、参照してください。

Unity XCode プロジェクト

Unity iOS ゲームをビルドするとき、XCode プロジェクトが生成されます。このプロジェクトは署名、コンパイルしたうえディストリビューション用にゲームを準備する必要があります。詳細については Unity XCode プロジェクトの構成 を参照してください。

iOS 機能へのアクセス

Unity はいくつかのスクリプティング API によりマルチタッチスクリーンや、加速度計、GPS 機能、その他多くの機能へのアクセスを提供します。スクリプトのクラスについては iOS のスクリプト を参照してください。

ネイティブ Cや、C++、 Objective-C コードをスクリプトに公開する

Unity により、C や、C++、 Objective-C で書かれたカスタムの関数を C# スクリプトからコールできます。ネイティブ関数をバインドする方法については、プラグイン を参照してください。

アプリケーションでのアプリ内課金を準備する

Unity iOS ランタイムにより、新しいコンテンツをダウンロードする機能があり、これを使ってアプリ内課金を実装できます。詳細については アプリケーションでの を参照してください。

スプラッシュスクリーンのカスタマイズ

iOS スプラッシュスクリーンのカスタマイズ により起動時にゲームが表示する画像を変更する方法を確認できます。

トラブルシューティングとクラッシュ時のレポート

もし iOS デバイスでクラッシュを経験しているのであれば iOS デバイスでのトラブルシューティング ページで良くある問題や解決策について参照してください。もしここで解決策を見つけられない場合、クラッシュに関するバグレポートを提出ください。(メニューで: Unity エディター上で Help > Report A Bug を選択)。

Unity ターゲットで iOS とデスクトップの違い

Static Type された JavaScript

iOS 向けの場合、JavaScript の Dynamic Type はつねに Unity でオフになっています(これはスクリプトに #pragma strict を自動的にすべてのスクリプトに付加しているのと同等です)。Static Type はパフォーマンスを著しく改善し、iOS デバイスでは特に重要なことです。既存の iOS プロジェクトを iOS ターゲット向けに切り替えるとき、Dynamic Type を使用しているとコンパイルエラーが出ます。これを修正するのは簡単で、エラーが出ている変数を明示的に宣言するか、type インターフェースを活用するかのどちらかの方法で解決できます。

オーディオ圧縮

Unity は、さまざまなソース形式のサウンドファイルに対応しています。ただし、(トラッカーファイルを除いて)これらのファイルはインポートされる際に必ずビルドのターゲット形式にエンコードし直されます。この形式はデフォルトでは Vorbis になっていますが、プラットフォームごとに必要に応じて他の形式(ADPCM、MP3 など)にオーバーライド可能です。iPhone では、MP3 による再生のほうが Vorbis に比べて若干高パフォーマンスです。

DXT テクスチャ圧縮の代わりに PVRTC

Unity iOS は DXT テクスチャをサポートしていません。その代わりに PVRTC テクスチャ圧縮が iPhone/iPad によりネイティブでサポートされています。iOS のテクスチャ形式については テクスチャインポート設定 を参照してください。

動画の再生

ムービーテクスチャは iOS でサポートされていません。その代わりに、フルスクリーンのストリーミングプレイバックがスクリプティング関数を通じて提供されています。サポートされているファイル形式およびスクリプティング API についてはマニュアルの ムービーテクスチャ を参照してください。

iOS
Unity iOS の基本