0

Unity ゲームで大きな六角形グリッド (256x256) のタイルを実装すると、ゲームが非常に遅くなり、ほとんど機能しなくなります。六角形はプレハブです。スクリプトは、グリッドのサイズと各六角形の間隔を制御します。Unity オブジェクトの 1024x1024 グリッドをレンダリングするにはどうすればよいですか?

ゲームが Win64 でビルドされている場合でも、かなり遅いです。

これは、レンダリングされた六角形のイメージです。

http://i.imgur.com/UbA6USt.png

4

2 に答える 2

0

Unity の仕組みにより、非静的オブジェクトは重くなる傾向があります。最終的にはそれぞれ独自の変換が行われ、画面上になくても描画されてしまいます。

これが、Unity から出てくるより多くの Minecraft クローンが見られない理由です。

なんらかの理由で六角形を静的に設定できない場合 (プロシージャル レベルの作成など)、創造的なシェーダー操作によって六角形をシミュレートする必要があります (たとえば、各メッシュを頂点の単一配列に保存するなど)。対応するメッシュ ID を追跡するか、単一のゲーム オブジェクトの単一のメッシュに頂点と面を作成/追加するスクリプトを記述します。

より小さなレベルを作成し、プレーヤーがそれらに向かって移動するときにそれらをロード/アンロードすることで、シーンを高速化することもできます. 参照: Application.LoadLevelAdditive

于 2015-08-24T07:28:19.680 に答える
0

グリッド要素を静的にしてみて、プレーヤー設定で静的バッチ処理がオンになっていることを確認してください。これにより、レンダリングが大幅に最適化されます。おそらく、それらすべてを 1 つのメッシュに結合するところまで行く必要があります (その目的については、このようなツールを参照してください)。

実際のシーン階層とグリッド ノードの実際の構造を見せていただければ、さらに多くのことをお手伝いできます。

于 2015-08-24T03:57:18.367 に答える