Version: 2023.1
言語: 日本語
Preset Manager
Script Execution Order

Quality

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 プロパティボックスに新しいレベルの名前を入力します。

次に、以下のセクションで説明する品質オプションのうち、更新や設定を行うものを選択します。

Rendering

プロパティ 説明 
Render Pipeline この Quality Level で使用するレンダーパイプラインアセット。
Pixel Light Count Unity が フォワードレンダリング を使用する場合の、ピクセルライトの最大数を設定します。
AntiAliasing GPU が実行するマルチサンプリングアンチエイリアス (MSAA) のレベルを選択します。オプションは Disabled2x Multi Sampling4x Multi Sampling8x Multi Sampling です。

アンチエイリアスは、ポリゴンエッジの外観を滑らかにします。アンチエイリアスのレベルが上がるにつれて、滑らかさとパフォーマンスが向上します。アンチエイリアスのレベルが上がると滑らかさが増し、GPU のパフォーマンスコストも上がります。

MSAA はフォワードレンダリングのみと互換性があります。他のタイプのアンチエイリアスや互換性については、ポストプロセス を参照してください。
Realtime Reflection Probes これを有効にすると、ゲーム中に リフレクションプローブ を更新します。
Resolution Scaling Fixed DPI Factor デバイスの画面解像度を元の解像度よりダウンスケールします。詳細は、Android Player 設定と iOS Player 設定を参照してください。
V Sync Count 垂直の空白とレンダリングを同期するか、まったく同期させないかを選択します。 Unity は、レンダリングとディスプレイデバイスのリフレッシュレートを同期させてティアリングアーティファクトを防ぐ ことができます。可能な選択肢は Every V BlankEvery Second V BlankDon’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 オプションは、フレームのスイッチをデバイスの垂直ブランクと同期させます。または、任意で、ひとつおきの垂直ブランクごとに同期させることもできます。後者は、ゲームで、複数デバイスのフレームレンダリングの更新を必要とする場合に有用です。

Textures

プロパティ 説明 
Global Mipmap Limit Unity がテクスチャをレンダリングするときに使用する最高解像度のミップマップ レベルを選択します。高いミップマップレベルは解像度が低いので、GPU メモリと GPU 処理時間が少なくて済みます。
このプロパティは、テクスチャ形状が 2D のテクスチャにのみ影響します。

以下のオプションがあります。
  • 0: Full Resolution (フル解像度)
  • 1: Half Resolution (ハーフ解像度)
  • 2: Quarter Resolution (1/4 解像度)
  • 3: Eighth Resolution (8 分の 1 解像度)
これらの解像度の意味に関する詳細は、ミップマップ入門 を参照してください。
ミップマップを持たないテクスチャは、選択したオプションに関係なく、完全な解像度でレンダリングされます。
Mipmap Limit Groups これらのグループを使用して、globalTextureMipmapLimit を無視する、またはバイアスを加える特定のテクスチャを指定します。これにより、重要なテクスチャにより多くのメモリバジェットを割り当て、重要性の低いテクスチャにより少ないメモリバジェットを割り当てることが可能になります。

このプロパティは、テクスチャ形状 が 2D のテクスチャにのみ影響します。

オプションは以下のとおりです。
  • Offset Global Mipmap Limit: –3 (グローバルミップマップ制限をオフセット: –3)
  • Offset Global Mipmap Limit: –2 (グローバルミップマップ制限をオフセット: –2)
  • Offset Global Mipmap Limit: –1 (グローバルミップマップ制限をオフセット: –1)
  • Use Global Mipmap Limit (グローバルミップマップ制限を使用)
  • Offset Global Mipmap Limit: +1 (グローバルミップマップ制限を使用: +1)
  • Offset Global Mipmap Limit: +2 (グローバルミップマップ制限を使用: +2)
  • Offset Global Mipmap Limit: +3 (グローバルミップマップ制限をオフセット: +3)
  • Override Global Mipmap Limit: Full Resolution (グローバルミップマップ制限をオーバーライド: フル解像度)
  • Override Global Mipmap Limit: Half Resolution (グローバルミップマップ制限をオーバーライド: 1/2 解像度)
  • Override Global Mipmap Limit: Quarter Resolution (グローバルミップマップ制限をオーバーライド: 1/4 解像度)
  • Override Global Mipmap Limit: Eighth Resolution (グローバルミップマップ制限をオーバーライド: 1/8 解像度)
オフセットは、テクスチャの該当グループの Global Mipmap Limit を置き換えます。例えば、Global Texture Mipmap LimitHalf Resolution の場合に、Offset Global Mipmap Limit: –1 を選択すると、該当するテクスチャグループの新しいミップマップ制限は Full Resolution (フル解像度) になります。

オーバーライドは、テクスチャの該当グループのミップマップ制限値にバイアスをかけます。例えば、Global Texture Mipmap LimitHalf 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 帯域幅が小さくなります。その結果、ミップマップ要件の変更に対するより迅速な対応が可能になります。

Particles

プロパティ 説明 
Soft Particles パーティクルが、不透明なゲームオブジェクトのエッジに近づくときにフェードするかどうかを示します。詳しくは、ソフトパーティクル を参照してください。
Particle Raycast Budget 近似パーティクルシステムの衝突のために使用する レイキャスト の最大数を設定します (MediumLow の品質で)。パーティクルシステム衝突モジュール を参照してください。

Soft particles

ソフトパーティクルは、シーン中の物体との交点付近でフェードアウトします。見た目はずっと良くなりますが処理の負荷は高くなり、かつ 深度テクスチャ をサポートするプラットフォームでしか動作しません。さらに、ディファードシェーディング を使用するか、あるいはスクリプトで、カメラに 深度テクスチャ をレンダリングさせる必要があります。

ソフトパーティクルを使用しないとシーンに交点がはっきりと描画されてしまいます。
ソフトパーティクルを使用しないとシーンに交点がはっきりと描画されてしまいます。
ソフトパーティクルを使用するとシーンに交点がスムーズに描画されます。
ソフトパーティクルを使用するとシーンに交点がスムーズに描画されます。

Terrains

プロパティ 説明 
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 (地形) の設定 を参照してください。

Shadows

プロパティ 説明 
Shadowmask Mode Shadowmask の Mixed lighting (混合ライティング) モードを使用するときのシャドウマスクの動作を選びます。シーンで設定するには、Lighting ウィンドウ (Window > Rendering > Lighting) を使用します。
Distance Shadowmask Unity は Shadow Distance に達するまでリアルタイムの影を使用し、それを超える場合はベイクした影を使用します。
Shadowmask シャドウを投影する静的ゲームオブジェクトは、常にベイクしたシャドウを投影します。
Shadows 使用するシャドウのタイプを選択します。使用可能な選択肢は Hard and Soft ShadowsHard Shadows OnlyDisable Shadows です。
Shadow Resolution シャドウをレンダリングする解像度を選択します。使用可能なオプションは Low ResolutionMedium ResolutionHigh ResolutionVery 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_ に設定されている場合、この制御全体が非表示になります。

Async Asset Upload

プロパティ 説明 
Time Slice バッファリングされたテクスチャとメッシュデータデータを GPU にアップロードするのに費やす CPU 時間を、ミリ秒/フレーム単位で設定します。非同期テクスチャアップロード を参照してください。
Buffer Size GPU への テクスチャとメッシュデータのストリーミングに使用する Async Upload Buffer のサイズをメガバイト単位で設定します。非同期テクスチャアップロード を参照してください。
Persistent Buffer アップロードするものがない場合でも、アップロードバッファを持続させるかどうかを示します。

Level of Detail (LOD)

プロパティ 説明 
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レベル を参照してください。

Maximum LOD level

Unity は、LOD が Maximum LOD Level より低いモデルは使用せず、ビルド対象から外します (これにより、ストレージとメモリ容量が節約されます)。Unity はターゲットプラットフォームに対して Quality 設定で紐づけられたすべての MaximumLOD 値からもっとも低い値を使用します。LODレベルが含まれている場合、その LODGroup のモデルはビルドに含まれ、使用される Quality 設定にかかわらず、その LODGroup のランタイムに常にロードされます。例として、LOD レベル 0 が任意の Quality 設定で使用されると、すべての LOD レベルはビルドに含まれ、参照されるすべてのモデルはランタイムにロードされます。

Meshes

プロパティ 説明 
Skin Weights アニメーション中に頂点に影響を与えるボーンの数を選択します。可能な選択肢は 1 Bone2 Bones4 BonesUnlimited (無制限) です。


  • Terrain Quality Setting Overrides は 2022.2 で追加

QualitySettings

Preset Manager
Script Execution Order