モバイルデバイスでは何ができるのでしょうか?ゲームに応じた、どのような計画が必要になるでしょう?ゲームの実行が遅く、プロファイラーがレンダリングのボトルネックを指し示しているとき何を変更したらよいかどうやったら判るでしょう?見栄えがよいままに実行を速くするにはどうしたらよいのでしょうか?このページでは、一般的かつ専門的になり過ぎないように、その方法を解説しています。詳細な情報が必要な場合は、レンダリングの最適化を参照してください。
Shadowgun は、現在のモバイルハードウェアでできることを示す印象的な例です。より具体的に、何ができないのか、どのように制限を回避するかを示すよい例です。ゲームの一部が ブログ投稿の中で公開されています。
ここは、Shadowgun の性能を上げるために行った基本的なことの要約です:
このデモは、ハイエンド Android デバイス上で Unity の持つ可能性を示すために設計されました。
モバイルデバイスの限界をより理解すれば、ゲームの見栄えをより良くしつつ、よりスムーズに動くようにする事ができます。モバイル用にハイクラスのゲームを作りたい場合、Unity のグラフィックス·パイプラインを理解し、独自のシェーダーを書けるようになることは有益です。今すぐ何か始めたいのであれば、ここにある ShadowGun のシェーダーが、始めるにちょうど良いでしょう。
ゲームでも自然の法則に従う方が良いのは間違いありません。発射体の動きは全て放物線状になり、クロームの輝きをあらわす各ピクセルの色は、最初に記述した、現実世界の観察結果を模倣するための式で引き出されます。しかし、ゲームには科学的なシミュレーションの部分と、絵画的な部分があります。モバイル市場では、物理的に正確なレンダリングを使うことはできません:単純に、そこまで性能の高いハードウェアがまだ存在せず、現実世界のすべてを模倣しようとすると、ゲームが制限され、単調で、もたつくものになってしまいます。
あなたはポリゴンとペイントブラシのようなブレンドモードをピックアップする必要があります。
Shadowgunに示されている レンダリングの最適化は、このすばらしい例です。スペキュラハイライトは、テクスチャにすでにあり - 人間の目は、実際に反射光とビューの方向と合わないと気付かない - それらは、単なるテクスチャ上のハイコントラストの詳い絵であり、完全に偽せたもので、見た目だけのものに終わってます。これは多くの成功したゲームで使用されている一般的なチートな技法です。 過去にリリースされた最初の Helo のスクリーンショットの中のバイザーとこの リリース中のもののスクリーンショットのバイザーを比較してみます。ヘルメットの上から装甲の突起がバイザーに反射してが表示されてますが、反射が実際にバイザーテクスチャにベイクされてます。League of Legends では、スペル効果がそれに取り付けられた画素の光を出しているように見えますが、実際にはおそらく地面に輝く画素の光のスクリーンショットを取って生成されたテクスチャとブレンドのプレーンです。
レンダリングの最適化ページを参照してください。