Unityでは、描画しようとするグラフィカルな品質のレベルを設定することができます。一般的に言えば、品質はフレームレートを犠牲にするため、モバイルデバイスや古いハードウェアで最高品質を目指すのは避けた方がよいでしょう。なぜなら、ゲームに悪影響を与える傾向があるからです。Quality (品質) 設定 (Edit > Project Settings の順に移動し、Quality カテゴリを選択) を使用して、選択したデバイスに適したエディターの Quality Level (品質レベル) を選択します。Quality 設定は 2 つの主要エリアに分かれています。Quality マトリックスが上部に表示され、その下に、選択した Quality Level の設定が表示されます。
Unity では、簡単に参照できるように、画質オプションの組み合わせに名前をつけることができます。マトリックスの行で、各 品質レベル をどのプラットフォームに割り当てるかを選択することができます。マトリックスの一番下の Default の行は画質設定そのものはではありませんが、各プラットフォームで使用されるデフォルトの品質を設定します (列の緑のチェックボックスは、現在、そのプラットフォームに選択されたレベルを表します)。Unity では 6 つの 品質 が標準で既に使用可能ですが、マトリックスの下にあるボタンを使用して 独自のレベルを追加 することができます。
A: このプロジェクトで定義した Quality Level。
B: 現在アクティブな Quality Level。
C: 現在の Quality Level の設定。
不要な Quality Level を削除するには、ごみ箱のアイコン (右端) を使用します。
編集する Quality Level を選択するには、マトリックスでその名前をクリックします。
新しい Quality Level を定義するには、Add Quality Level ボタンをクリックし、Name プロパティボックスに新しいレベルの名前を入力します。
次に、以下のセクションで説明する品質オプションのうち、更新や設定を行うものを選択します。
プロパティ | 説明 |
---|---|
Render Pipeline | この Quality Level で使用するレンダーパイプラインアセット。 |
Pixel Light Count | Unity が フォワードレンダリング を使用する場合の、ピクセルライトの最大数を設定します。 |
AntiAliasing | GPU が実行するマルチサンプリングアンチエイリアス (MSAA) のレベルを選択します。オプションは Disabled、2x Multi Sampling、4x Multi Sampling、8x Multi Sampling です。 アンチエイリアスは、ポリゴンエッジの外観を滑らかにします。アンチエイリアスのレベルが上がるにつれて、滑らかさとパフォーマンスが向上します。アンチエイリアスのレベルが上がると滑らかさが増し、GPU のパフォーマンスコストも上がります。 MSAA はフォワードレンダリングのみと互換性があります。他のタイプのアンチエイリアスや互換性については、ポストプロセス を参照してください。 |
Realtime Reflection Probes | これを有効にすると、ゲーム中に リフレクションプローブ を更新します。 |
Resolution Scaling Fixed DPI Factor | デバイスの画面解像度を元の解像度よりダウンスケールします。詳細は、Android Player 設定と iOS Player 設定を参照してください。 |
V Sync Count | 垂直の空白とレンダリングを同期するか、まったく同期させないかを選択します。 Unity は、レンダリングとディスプレイデバイスのリフレッシュレートを同期させてティアリングアーティファクトを防ぐ ことができます。可能な選択肢は Every V Blank、Every Second V Blank、Don’t Sync です。 |
Realtime GI CPU Usage | ランタイムに Enlighten リアルタイムグローバルイルミネーションがライティング計算に使用できる CPU 予算。これを高くすると、システムはより多くの CPU 時間を犠牲にしてライティングの変化に素早く反応します。 ノート: プラットフォームによっては、すべての CPU がワーカースレッドによって占有されることを許可するものもあれば、ある最大値を強制するものもあります。例えば、一部のゲームコンソールでは、最大 4 つの CPU コアが許可されます。Android デバイスの場合、bigLittle アーキテクチャの場合は小さな CPU のみが使用されます。それ以外の場合は、最大数は CPU の合計数より 1 つ少ない数になります。これはスクリプタブルレンダー パイプラインの場合にのみ表示されることに注意してください。 ビルトインレンダーパイプラインを使用する場合、このプロパティは グラフィック設定 にあります。 |
ディスプレイ上の画像は継続的に更新されるのではなく、Unity のフレーム更新のように定期的な間隔で更新されます。しかし、Unity の更新は必ずしもディスプレイと同期しているとは限りません。そのため、ディスプレイがまだ前のフレームをレンダリングしている最中に Unity が新しいフレームを発行してしまう場合があります。この場合、フレームが変更された画面上に “ティアリング” と呼ばれる目に見える画像の乱れが発生します。
ディスプレイが更新されていない期間 (いわゆる “垂直ブランク”) にのみフレームを切り替えるように Unity を設定することが可能です。Quality 設定の V Sync Count オプションは、フレームのスイッチをデバイスの垂直ブランクと同期させます。または、任意で、ひとつおきの垂直ブランクごとに同期させることもできます。後者は、ゲームで、複数デバイスのフレームレンダリングの更新を必要とする場合に有用です。
プロパティ | 説明 |
---|---|
Global Mipmap Limit | Unity がテクスチャをレンダリングするときに使用する最高解像度のミップマップ レベルを選択します。高いミップマップレベルは解像度が低いので、GPU メモリと GPU 処理時間が少なくて済みます。 このプロパティは、テクスチャ形状が 2D のテクスチャにのみ影響します。 以下のオプションがあります。 |
ミップマップを持たないテクスチャは、選択したオプションに関係なく、完全な解像度でレンダリングされます。 |
|
Mipmap Limit Groups | これらのグループを使用して、globalTextureMipmapLimit を無視する、またはバイアスを加える特定のテクスチャを指定します。これにより、重要なテクスチャにより多くのメモリバジェットを割り当て、重要性の低いテクスチャにより少ないメモリバジェットを割り当てることが可能になります。 このプロパティは、テクスチャ形状 が 2D のテクスチャにのみ影響します。 オプションは以下のとおりです。
オーバーライドは、テクスチャの該当グループのミップマップ制限値にバイアスをかけます。例えば、Global Texture Mipmap Limit が Half Resolution の場合に、Override Global Mipmap Limit: Full Resolution を選択すると、該当するテクスチャグループの新しいミップマップ制限は Full Resolution (フル解像度) になります。 ノート: ミップマップ制限グループを削除または名称変更するとダイアログボックスが開き、そのグループ内のテクスチャを再インポートするオプションを提供します。 “元に戻す” では、これらのインポートの変更を元に戻すことはできません。 |
Anisotropic Textures | Unity が異方性テクスチャの使用方法を設定します。オプションは Disabled (無効)、Per Texture (テクスチャ毎)、Forced On (強制、つまり常に有効) です。 |
Texture Streaming |
これを有効にすると、ミップマップストリーミング を使用します。ミップマップストリーミングを使用しない場合は、この機能を無効にすると CPU メモリのオーバーヘッドを避けられます。 |
Add All Cameras | このチェックボックスを有効にすると、Unity はプロジェクト内のすべてのアクティブなカメラに対して ミップマップストリーミング を計算します。これはデフォルトで有効になっています。 詳細については、ミップマップストリーミングシステム: カメラの設定 を参照してください。 |
Memory Budget | ミップマップストリーミングシステム を使用する場合に、ロードされたすべてのテクスチャに割り当てるメモリの合計量 (MB) を設定します。デフォルトでは 512 MB に設定されています。詳細は、ミップマップストリーミングシステム: メモリ バジェットの設定 を参照してください。 |
Renderers Per Frame | メインスレッドと関連するジョブの ミップマップストリーミングシステム の CPU 関連オーバーヘッドを制御します。これはデフォルトでは 512 です (つまり、1 フレームにつき 512 のメッシュレンダラーを処理します)。値を低くすると処理時間が短縮されますが、ミップマップのロードが遅くなります。 |
Max Level Reduction |
ミップマップストリーミングシステム が Memory Budget に達した場合に、テクスチャストリーミングシステムが破棄できるミップマップの最大数を設定します。これはデフォルトで 2 に設定されています (これは、システムが 2 つより多くミップマップを破棄しないことを意味します)。 この値は、ミップマップストリーミングシステムが起動時に最初にロードするミップマップレベルでもあります。例えば、これを 2 に設定すると、Unity は最初のロード時に最も高いレベルの 2 つのミップマップをスキップします。 詳細は、ミップマップストリーミングシステム: メモリバジェットの設定 を参照してください。 |
Max IO Requests | 同時使用可能な ミップマップストリーミングシステム からのテクスチャファイルイン/アウト (IO) 要求の最大数を設定します。デフォルトで 1024 に設定されています。このデフォルトは、Async Upload pipeline、またはファイルシステム自体のために既にアクティブな IO の上限を超えないように、十分に高い値に設定されています。 シーンテクスチャコンテンツが大幅に短時間で変化すると、システムはファイル IO が追いつける数より多くのテクスチャミップマップを読み込もうとします。この値を小さくすると、ミップマップストリーミングシステムが生成する IO 帯域幅が小さくなります。その結果、ミップマップ要件の変更に対するより迅速な対応が可能になります。 |
プロパティ | 説明 |
---|---|
Soft Particles | パーティクルが、不透明なゲームオブジェクトのエッジに近づくときにフェードするかどうかを示します。詳しくは、ソフトパーティクル を参照してください。 |
Particle Raycast Budget | 近似パーティクルシステムの衝突のために使用する レイキャスト の最大数を設定します (Medium か Low の品質で)。パーティクルシステム衝突モジュール を参照してください。 |
ソフトパーティクルは、シーン中の物体との交点付近でフェードアウトします。見た目はずっと良くなりますが処理の負荷は高くなり、かつ 深度テクスチャ をサポートするプラットフォームでしか動作しません。さらに、ディファードシェーディング を使用するか、あるいはスクリプトで、カメラに 深度テクスチャ をレンダリングさせる必要があります。
プロパティ | 説明 |
---|---|
Billboards Face Camera Position | これを有効にすると、レンダリング中に、カメラ面の代わりにビルボードがカメラに正面を向けるよう強制します。これにより、より良い、より現実的な画像が生成されますが、レンダリングするのがより高負荷になります。 |
Use Legacy Details Distribution | このオプションを有効にすると、以前にサポートされていたスキャタリングアルゴリズム (ディテールが重なることが多かった) を使用できます。Unity 2022.1 以前で作成された Terrain (地形) との後方互換性のために利用します。 |
Terrain Setting Overrides | 有効にすると、すべてのアクティブな Terrain (地形) の値をオーバーライドするさまざまなオーバーライド設定 (“品質設定を無視する” 設定が有効になっているものを除きます)。 これらの設定の詳細は、Terrain (地形) の設定 を参照してください。 |
Pixel Error | Terrain (地形) の Pixel Error に設定された値。Terrain (地形) の設定 を参照してください。 |
Base Map Dist. | Terrain (地形) の Basemap Distance に設定された値。Terrain (地形) の設定 を参照してください。 |
Detail Density Scale | Terrain (地形) の Density Scale に設定された値。Terrain (地形) の設定 を参照してください。 |
Detail Distance | Terrain (地形) の Detail Distance に設定された値。Terrain (地形) の設定 を参照してください。 |
Tree Distance | Terrain (地形) の Tree Distance に設定された値。Terrain (地形) の設定 を参照してください。 |
ビルボードスタート | Terrain (地形) の Billboard Start に設定された値。Terrain (地形) の設定 を参照してください。 |
Fade Length | Terrain (地形) の Fade Length に設定された値。Terrain (地形) の設定 を参照してください。 |
Max IO Requests | Terrain (地形) の Max Mesh Trees に設定された値。Terrain (地形) の設定 を参照してください。 |
プロパティ | 説明 | |
---|---|---|
Shadowmask Mode | Shadowmask の Mixed lighting (混合ライティング) モードを使用するときのシャドウマスクの動作を選びます。シーンで設定するには、Lighting ウィンドウ (Window > Rendering > Lighting) を使用します。 | |
Distance Shadowmask | Unity は Shadow Distance に達するまでリアルタイムの影を使用し、それを超える場合はベイクした影を使用します。 | |
Shadowmask | シャドウを投影する静的ゲームオブジェクトは、常にベイクしたシャドウを投影します。 | |
Shadows | 使用するシャドウのタイプを選択します。使用可能な選択肢は Hard and Soft Shadows、Hard Shadows Only、Disable Shadows です。 | |
Shadow Resolution | シャドウをレンダリングする解像度を選択します。使用可能なオプションは Low Resolution、Medium Resolution、High Resolution、Very High Resolution です。解像度が高いほど、処理オーバーヘッドが大きくなります。 | |
Shadow Projection | シャドウをディレクショナルライトから投影するために使用する方法を選択します。 | |
Close Fit | より高い解像度のシャドウをレンダリングしますが、カメラが動くとシャドウがわずかに揺れることがあります。 | |
Stable Fit | 低解像度のシャドウをレンダリングしますが、カメラの動きでは揺れません。 | |
Shadow Distance | シャドウが表示されるカメラからの最大距離を入力します。 Unityは、この距離を超えたシャドウをレンダリングしません。 | |
Shadow Near Plane Offset | シャドウパンケーキで歪む大きな三角形を考慮した前方クリップ面のオフセットを設定します。 | |
Shadow Cascades | 使用するシャドウカスケードの数を選択します。可能なオプションは No Cascades (カスケード無し)、Two Cascades (2 つ)、Four Cascades (4 つ) です。カスケードの数を増やすと、品質は向上しますが、処理のオーバーヘッドは増加します (詳細は シャドウカスケード を参照してください)。 | |
Cascade splits | 各カスケード間の垂直線を左または右に動かすことによって、カスケードシャドウの分割を調整します。 Shadow Cascades 設定で選択した値に応じて、2 つまたは 4 つの異なる色で表示されます。Shadow Cascades が_No Cascades_ に設定されている場合、この制御全体が非表示になります。 |
プロパティ | 説明 |
---|---|
Time Slice | バッファリングされたテクスチャとメッシュデータデータを GPU にアップロードするのに費やす CPU 時間を、ミリ秒/フレーム単位で設定します。非同期テクスチャアップロード を参照してください。 |
Buffer Size | GPU への テクスチャとメッシュデータのストリーミングに使用する Async Upload Buffer のサイズをメガバイト単位で設定します。非同期テクスチャアップロード を参照してください。 |
Persistent Buffer | アップロードするものがない場合でも、アップロードバッファを持続させるかどうかを示します。 |
プロパティ | 説明 |
---|---|
Lod Bias | Level of Detail (LOD) バイアスを設定します。 LOD レベルは、オブジェクトの画面サイズに基づいて選択されます。サイズが 2 つの LOD レベルの間にある場合、その選択肢は 2 つの使用可能なモデルのより詳細でない傾向、または、より詳細な傾向に偏っている場合があります。この値は 0から +無限大の分数として設定されます。0 と 1 の間に設定すると、詳細さが減少します。1 より大きい値を設定すると、より詳細になります。例えば、LOD Bias を 2 に設定し、距離を50%に変更すると、LOD Bias は実際には 25% しか変化しません。 |
Maximum LOD Level | ゲームが使用する最高の LOD を設定します。詳細は最大LODレベル を参照してください。 |
Unity は、LOD が Maximum LOD Level より低いモデルは使用せず、ビルド対象から外します (これにより、ストレージとメモリ容量が節約されます)。Unity はターゲットプラットフォームに対して Quality 設定で紐づけられたすべての MaximumLOD 値からもっとも低い値を使用します。LODレベルが含まれている場合、その LODGroup のモデルはビルドに含まれ、使用される Quality 設定にかかわらず、その LODGroup のランタイムに常にロードされます。例として、LOD レベル 0 が任意の Quality 設定で使用されると、すべての LOD レベルはビルドに含まれ、参照されるすべてのモデルはランタイムにロードされます。
プロパティ | 説明 |
---|---|
Skin Weights | アニメーション中に頂点に影響を与えるボーンの数を選択します。可能な選択肢は 1 Bone、2 Bones、4 Bones、Unlimited (無制限) です。 |
QualitySettings