2

Unity3D ゲームを作成しました。バックグラウンド テクスチャは、iPad Retina 解像度に合わせて 2048x2048 です。しかし、解像度がはるかに低い古い携帯電話には多すぎます。すべてのテクスチャのサイズを変更し、2 回ダウングレードしたテクスチャを含む 2 つ目のフォルダーを作成しました。

解像度に応じてテクスチャ フォルダを選択する正しい方法は何ですか。

Unity3D の性質はその GUI ツールであり、通常、プロパティ インスペクターでテクスチャを設定する場合、コードですべてを手動で設定するのは Unity の方法ではありません。

また、コードでテクスチャを変更するかどうかもわかりません。その場合、古いテクスチャと新しいテクスチャの両方が読み込まれません。

もう 1 つのアイデアは、異なる解像度に異なるシーンを使用することです。しかし、何かを変更したい場合は作業が 2 倍になり、アプリをテストする作業も 2 倍になります。

複数の解像度を処理するには、何らかの解決策が必要です。しかし、起動時にテクスチャのあるフォルダーを選択するだけの単純なものは見つかりません。

4

1 に答える 1

1

テクスチャ品質のビルドイン設定を使用します。エディターで、[編集] -> [プロジェクト設定] -> [品質] を参照してください。インスペクタでテクスチャの解像度を定義できます。プロジェクトで、最初のシーンの前に小さなシーンを追加し、これを最初にロードします。ここで品質レベルを計算して設定し、次のシーンを開始します。

if (hardware-is-lame)
  QualitySettings.DecreaseQualityLevel();
Application.LoadLevel(...)

トリックは、テクスチャ サイズが縮小されたバージョンのみが読み込まれるということです。アプリが通常よりも少ないメモリを使用していることがわかります。唯一の欠点は、すべてのテクスチャ サイズが小さくなることです。フォント テクスチャ アトラスを高解像度のままにしたい場合があります。

于 2015-08-17T13:17:06.447 に答える