このセクションで,iOSで作業するうえで,最も頻繁に聞かれる重要な質問についてカバーします。
回答: SDKをダウンロードして,Appleデベロッパーサイトでの作業を開始して,チーム,デバイス,プロビジョニングをセットアップします。開始するために 基本的に必要なステップ をまとめてあります。
回答: いいえ,しかしUnity iOSは最新のSDKを使用しているならばiPadシミュレータ向けにビルドは出来ます。しかしシミュレータそのものは,iOS からの入力の全てをシミュレートできず, iPhone/iPadでのパフォーマンスを正しくエミュレートできないため,Unityでそれほど便利ではありません。Unityに入ってゲームプレイをテストするには, Unity Remoteを使用してiPhone/iPad をリモコンとして使用すべきです。次に,パフォーマンスやゲームの最適化を行う準備が整ったら,iOSデバイスにパブリッシュします。
回答: Unity iOSをインストールした際のスクリプティング リファレンスのの中で,アプリをビルドするうえで必要なデバイス機能をフックするクラスを見つけることが出来ます。 詳細については システム入力のページ を参照下さい。
回答: iOS のフィルレートは比較的遅いものです。もしパーティクルが画面の大きな割合を占めてマルチレイヤーつきであると,簡単なシェーダでも iOS パフォーマンスに致命的です。推奨としては,パーティクルエフェクトをオフラインでテクスチャのセットに焼き込みをして下さい。次に,ランタイムにおいて,1 - 2 パーティクルをしようしてアニメーションつきテクスチャで表示します。最小限のオーバードローにより比較的優れたエフェクトが得られます。
回答: iOS では物理計算は,たくさんの浮動小数点に対する計算の高速処理が必要であるため,高価です。可能ならばメッシュ コライダは完全に避けて,どうしても絶対に必要という場合のみ使用します。パフォーマンスを改善するために, deltaTime
を選ぶことがベストです。1:1 またはフレームレートの半分が推奨されます。例えば, 30 fps が得られた場合, 15 または 30 fps の固定フレームレートとなるようにすべきです(0.033 または 0.066)。
回答: はい - 自身で実装すれば出来ます。 Unity iPhone はネイティブ プラグイン システムをサポートし,必要な機能を追加できます – フォトアルバム,ミュージック ライブラリ,iPod プレイヤー,または iOS SDK が公開しているその他の機能を含みます。ここまで列挙した機能をアクセスするにあたり,Unity iOS での Unity スクリプトを通じた APIはありません。
回答: UnityGUI は多くのコントロールが使用されているとき比較的高価です。理想的には UnityGUI の使用をゲームメニュー またはゲーム実行中においては極めて最小限の GUI コントロールに限定します。 OnGUI()
コールを含むスクリプトのある全てのオブジェクトは,追加の処理時間を要することに留意して下さい – たとえ OnGUI()
が空であったとしてもです。GUI コントロールが使用されていない OnGUI()
コールのあるスクリプトは無効化するのがベストです。これはスクリプトで enabled = false
とマーキングすることで対応できます。
回答: GUILayout は出来るかぎり最小限に使用して下さい。ひとつの OnGUI()
コールで GUILayout を全く使用していない場合,全ての GUILayout を無効化するのに MonoBehaviour.useGUILayout = false;
を使用できます。これにより GUI レンダリング パフォーマンスが倍増します。最後に,3D シーンにおける GUI 要素は出来る限り最小限に使用して下さい。