Unity でのモバイル ゲームのパフォーマンスの向上
モバイルでのゲームは近年、単純な 2D ゲームから完全な 3D エクスペリエンスを提供するまで、大きく進化しました。しかし、それにもかかわらず、処理能力にはまだ限界があるため、スムーズなゲーム体験を提供するには、設計の選択に関していくつかの考慮が必要です。
以下は、Unity で開発する際にモバイル デバイスのパフォーマンスを向上させるために注目すべき 5 つのポイントです。
透明性を避ける
ピクセルのオーバードローは非常に高価であり、モバイル デバイスのフレームレートが大幅に低下する可能性があります。これを防ぐには、透明シェーダー、または基本的に透明度を含むシェーダー (パーティクル シェーダーなど) の使用を避けてください。
不透明なジオメトリの場合は、Mobile カテゴリの Shaders を使用します。
リアルタイムの影を避ける
リアルタイム シャドウはクールに見えるかもしれませんが、かなりの処理能力を必要とします。したがって、代わりに Lightmaps にベイクするのが最善です。
静的バッチ処理を使用して描画呼び出しを削減する
静的バッチ処理は、Unity で静的オブジェクトを結合する方法であり、これにより Draw 呼び出しの数が減り、レンダリング パフォーマンスが向上します。
静的バッチ処理を有効にするには、シーン内のすべての静的オブジェクトを "Batching Static" としてマークし、編集 -> プロジェクト設定... -> プレーヤーに移動して、静的バッチ処理がチェックされていることを確認します。
動的バッチ処理は注意して使用してください
動的バッチ処理には多少の議論の余地があります。一方では Unity が動的オブジェクトを少数のオブジェクトに結合できるため、パフォーマンスが向上する可能性がありますが、他方ではフレームごとにそうする必要があり、代わりにパフォーマンスが低下する可能性があります。
全体として、モバイル プラットフォームを対象とする場合は、動的バッチ処理を無効にすることをお勧めします。
OnGUI の使用を避ける
OnGUI を使用すると、コードからユーザー UI をすばやく作成できますが、UI Canvas に比べて非常に遅いため、プロトタイピングにのみ使用してください。