Graphics 設定 (メインメニュー: Edit > Project Settings の順に移動し、Graphics カテゴリを選択) を使用して、Graphics にグローバル設定を適用します。
プロジェクトをビルドするとき、これらの設定の値は静的になります。ランタイムに設定を変更することはできません。
このセクションでは、以下のプロパティのグループに関して説明します。
Default Render Pipeline フィールドを使用して、Unity がプロジェクトを描画するために使用するデフォルトのレンダーパイプラインを設定します。例えば、Default Render Pipeline をユニバーサルレンダーパイプライン (URP) アセットに設定すると、プロジェクトの描画には URP が使用されます。
Default Render Pipeline が None に設定されている場合、Unity はビルトインレンダーパイプラインを使用します。
詳細については、以下を参照してください。
これらのプロパティを使用して、ビルドのシェーダーバリアントストリッピングを設定できます。
デフォルトでは、Unity はビルド内のシーンを検証し、それらのシーンで使用されていないシェーダーバリアントを自動的に除去します。ただし、そうしなければビルドに含まれないシェーダーやバリアントをランタイムで使用すると、問題が発生する可能性があります。例えば、これらのシェーダーやバリアントに依存する AssetBundles または Addressables を使用する場合や、ランタイムにシェーダーキーワードを使用してバリアントを変更する場合などです。
| プロパティ | 機能 | |
|---|---|---|
| Lightmap Modes | ライトマップ関連シェーダーのシェーダーバリアントストリッピング動作を決定します。 | |
| Automatic | Unity はビルド内のシーンを検証し、それらのシーンで使用されていないバリアントを自動的に除去します。これがデフォルトの設定です。 | |
| Custom | 以下のライトマップモードのバリアントを手動で加える/除外するには、このオプションを選択します。 * Baked Non-Directional * Baked Directional * Realtime Non-Directional * Realtime Directional * Baked Shadowmask * Baked Subtractive |
|
| Fog Modes | Unity のビルトインフォグエフェクトに関連するシェーダーのシェーダーバリアントストリッピング動作を決定します。 | |
| Automatic | Unity はビルド内のシーンを検証し、それらのシーンで使用されていないバリアントを自動的に除去します。これがデフォルトの設定です。 | |
| Custom | 以下のフォグモードのバリアントを手動で加える/除外するには、このオプションを選択します。 * Linear * Exponential * Exponential Squared |
|
| Instancing Variants | GPU インスタンシングに関連するシェーダーのシェーダーバリアントストリッピング動作を決定します。 | |
| Strip Unused | Unity は、特定のシェーダーを使用するマテリアルの少なくとも 1 つで Enable instancing が有効になっている場合に、そのシェーダーの GPU インスタンシングのバリアントのみを加えます。これがデフォルトの設定です。 | |
| Strip All | たとえ使用中であっても、すべての GPU インスタンシングのバリアントを除去します。 | |
| Keep All | たとえ使用されていなくても、すべての GPU インスタンシングのバリアントを加えます。 | |
これらのプロパティを使用して、アプリケーションで Unity が シェーダーバリアントコレクションを事前準備する方法を設定できます。
グラフィックス API サポートに関する重要な情報を含む事前準備については、シェーダーのロード: シェーダーバリアントの事前準備を参照してください。
| プロパティ | 機能 |
|---|---|
| Renderer Light Probe Selection | レンダラーがライトプローブからグローバルイルミネーションを受けるが、ライトプローブのグループの影響音量 (四面体) 内にない場合に、Unity が使用するプローブのタイプを選択します。 オプションには以下のものがあります。
|
| Preload Shaders | アプリケーション開始時に事前準備するシェーダーバリアントコレクション。 |
| Preload shaders after showing first scene | このプロパティは、Preloaded shaders で指定されたシェーダーバリアントを Unity が事前準備するタイミングを決定します。 有効にすると、Unity は最初のシーンが完全にロードされた後にバリアントをロードして事前準備します。それ以外の場合は、Unity は最初のシーンを表示する前にそれらをロードして事前準備します。 |
| Preload Shaders | このプロパティは、Preload shaders after showing first scene が有効になっている場合に、Preloaded shaders で指定されたシェーダーバリアントを Unity がどのように事前準備するかを決定します。 値が 0 の場合、Unity は最初のシーンを表示した後の次のフレームで、すべてのシェーダーバリアントをプリロードします。 そうでない場合は、Unity は最初のシーンを表示した後で、新しいシェーダーバリアントを複数フレームにわたってプリロードします。指定されたフレームで、Unity はこのプロパティで設定された時間制限に達するまでシェーダーバリアントの事前準備を行います。その後、次のフレームまで新しいシェーダーバリアントの事前準備を開始しません。 |
Unity エディターでは、アプリケーションの実行時にどのシェーダーバリアントを使用しているかを追跡できます。この情報を使って、シェーダーバリアントコレクションをビルドすることができます。
| コントロール | 機能 |
|---|---|
| Create asset | 現在追跡されているシェーダーバリアントを使用して、新しいシェーダーバリアントコレクションアセットを作成します。 |
| Clear | 追跡されたシェーダーバリアントを消去します。 |
| プロパティ | 機能 | |
|---|---|---|
| Camera-Relative Culling | Unity がカメラ位置をカリングの参照位置として使用するかどうかを指定します。 | |
| ライト | ライトをカリングするための参照位置として、ワールド空間の原点の代わりにカメラ位置を使用します。Lights を有効にすると、ライトがカメラから遠くにある場合にちらつきが軽減されます。詳細については、視錐台についてを参照してください。 | |
| シャドウ | シャドウをカリングするための参照位置として、ワールド空間の原点の代わりにカメラ位置を使用します。Shadows を有効にすると、影がカメラから遠くにある場合にちらつきが軽減されます。詳細については、視錐台についてを参照してください。 | |
Graphics 設定ウィンドウには常に、以下のビルトインレンダーパイプライン設定が表示されます。
ただし、プロジェクトでユニバーサルレンダーパイプライン (URP) や HD レンダーパイプライン (HDRP) などのスクリプタブルレンダーパイプライン (SRP) を使用している場合、ウィンドウにはプロジェクトの SRP ごとに 1 つのタブが含まれます。詳細については、以下のページを参照してください。
これらのプロパティは様々なレンダリングの設定を制御します。
| プロパティ | 機能 | |
|---|---|---|
| Transparency Sort Mode | オブジェクトをレンダリングする順序を、特定の軸に沿ったオブジェクトの距離で定義します。Unity のレンダラーは、レイヤー番号やカメラからの距離などのいくつかの基準によってソートされます。これは通常、2D 開発でのみ役立ちます。例えば、スプライトを高さでソートしたり、Y 軸に沿ってソートしたりします。 | |
| Default | カメラモードに基づいてオブジェクトをソートします。 | |
| Perspective | オブジェクトを透視投影ビューに基づいてソートします。 | |
| Orthographic | オブジェクトを平行投影ビューに基づいてソートします。 | |
| Custom Axis | Transparency Sort Axis で定義されたソートモードに基づいて、オブジェクトをソートします。 | |
| Transparency Sort Axis | カスタムの Transparency Sort Mode を定義します。 | |
ビルトインレンダーパイプラインでは、Tier settings を使って、ハードウェアの種類に応じてレンダリング設定やシェーダーコンパイルの設定を変更することができます。詳細については、グラフィックス階層を参照してください。
| プロパティ | 機能 | |
|---|---|---|
| Standard Shader Quality | スタンダードシェーダーの品質を High、Medium、または Low に設定します。 | |
| Reflection Probes Box Projection | リフレクションプローブでリフレクション UV マッピングの投影を有効にします。 | |
| Reflection Probes Blending | リフレクションプローブのブレンディングを有効にします。 | |
| Detail Normal Map | 詳細法線マップサンプリングを有効にします (割り当てられている場合)。 | |
| Enable Semitransparent Shadows | 半透明のシャドウを有効にします。 UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS シェーダーコンパイラー定義を追加または削除します。 |
|
| Enable Light Probe Proxy Volume | 補間したライトプローブの 3D グリッドのレンダリングを有効にします。 | |
| Cascaded Shadows | カスケードシャドウマップの使用を有効にします。 UNITY_NO_SCREENSPACE_SHADOWS シェーダーコンパイラー定義を追加または削除します。 |
|
| Prefer 32 bit shadow maps | DX11 または DX12 を使用するプラットフォームをターゲットにする場合は、32 ビット Float シャドウマップを有効にします。 ほとんどのプラットフォームには、調整できない固定シャドウマップ形式があります。これらは形式が異なり、16 ビット、24 ビット、または 32 ビットで、float ベースの場合も int ベースの場合もあります。32 ビットのシャドウマップは 16 ビットよりも高品質のシャドウを生成しますが、GPU のメモリと帯域幅の使用量が増加します。 注意32 ビットのシャドウマップを使用するには、深度バッファも 32 ビットに設定されていることを確認してください。 |
|
| Use HDR | この階層のハイダイナミックレンジレンダリングを有効にします。 | |
| HDR Mode | HDR が現在のグラフィックスの階層で有効になっている場合に、HDR バッファに使用する形式を選択します。デフォルトでは FP16 に設定されています。 | |
| FP16 | カラーレンダリングテクスチャ形式、チャンネルごとに 16 ビット浮動小数点数 | |
| R11G11B10 | カラーレンダーテクスチャ形式R と G チャンネルは 11 ビットの浮動小数点数、B チャンネルは 10 ビットの浮動小数点数です。 | |
| Rendering Path | Unity がグラフィックスを描画する方法を選択します。レンダリングパスが異なると、ゲームのパフォーマンスやライティングとシェーディングの計算方法に影響します。パスの中には、他のプラットフォームやハードウェアに比べて、一部の特定のプラットフォームやハードウェアにより適したものがあります。 平行投影の使用中は、遅延_レンダリングはサポートされません。カメラの投影モードが平行投影に設定されている場合、カメラは常に_フォワード_レンダリングとなります。詳しくは、レンダリングパスを参照してください。| ||フォワード|従来のレンダリングパスです。Unity グラフィックスの一般的な機能 (法線マップ、ピクセル単位のライト、シャドウなど) すべてをサポートします。ただし、デフォルト設定では、最も明るいライトのうち少数のみがピクセルごとのライティングモードでレンダリングされます。残りのライトは、オブジェクトの頂点またはオブジェクトごとに計算されます。| ||Deferred|ディファードシェーディングは、最もライトとシャドウの忠実度が高く、リアルタイムのライトが数多くある場合に最適です。一定のレベルのハードウェアサポートを必要とします。| ||古い頂点ライト|古い頂点ライトはライティングの忠実度が最も低いレンダリングパスで、リアルタイムの影をサポートしません。Forward_ レンダリングパスのサブセットです。 |
|
| Realtime Global Illumination CPU Usage | ランタイムに Enlighten Realtime Global Illumination がライティングの計算に使用する CPU バジェット。この値を大きくすると、より多くの CPU 時間が消費されますが、ライティングの変化に対してシステムがより速く反応します。 注意すべての CPU をワーカースレッドで占有できるプラットフォームもあれば、強制的に最大値が設定されるプラットフォームもあります。例えば、一部のゲームコンソールでは、最大 4 つの CPU コアを使用できます。Android デバイスが bigLittle アーキテクチャの場合、小さい方の CPU のみが使用されます。それ以外の場合は、最大数は CPU の総数から 1 引いた数になります。 URP または HDRP レンダーパイプラインを使用する場合は、品質設定でこのプロパティを設定できます。 |
|
| 低 | 許容 CPU スレッドの 25 % をワーカースレッドとして使用します。 | |
| 中 | 許容 CPU スレッドの 50 % をワーカースレッドとして使用します。 | |
| 高 | 許容 CPU スレッドの 75 % をワーカースレッドとして使用します。 | |
| 無制限 | 許容 CPU スレッドの 100 % をワーカースレッドとして使用します。 | |
これらの設定を使用して、ビルトインレンダーパイプラインにリストされた各機能にどのシェーダーを使用するかを指定します。
| レンダリングパス | 使用するシェーダー |
|---|---|
| Deferred | ディファードシェーディングで使用します。 |
| Deferred Reflection | ディファードシェーディングでリフレクションプローブと共に使用します。 |
| Screen Space shadows | PC/コンソールプラットフォームのディレクショナルライトのためのカスケードシャドウマップと共に使用します。 |
| Motion Vectors | オブジェクトベースのモーションベクトル計算に使用します。 |
| Lens Flare | レンズフレアと共に使用します。 |
| Light Halo | ライトハローと共に使用します。 |
これらの機能ごとに、使用するシェーダーの種類を選択できます。
Custom shader を選択すると、プロパティの下に Shader 参照プロパティが表示され、使用したいシェーダーへの参照を設定できます。
Unity がビルドごとに考えられるすべてのバリアントを加えるシェーダーのリストです。これは、ビルドに含まれないシェーダーやバリアントをランタイムに使用する必要がある場合に便利です。例えば、それらのシェーダーやバリアントに依存する AssetBundles や Addressables を使用する場合や、ランタイムにシェーダーキーワードを使用してバリアントを変更する場合などです。
注意:スタンダードシェーダーなど、多数のバリアントを持つシェーダーには、この機能は推奨されません。ランタイムとビルド時のパフォーマンスに重大な問題が発生する可能性があります。代わりに、必要なバリアントのみを含むシェーダーバリアントコレクションを作成し、ビルドに含める必要があります。
注意この設定は、シェーダーキーワード宣言設定よりも優先されます。リストの各シェーダーについて、宣言タイプが “shader feature” であっても、Unity はすべてのキーワードのすべてのセットを含めます。
シェーダーをリストに追加するには、Size プロパティの値を増やします。リストの最後のシェーダーを削除するには、Size プロパティを小さくします。リストの最後ではないシェーダーを削除するには、値を None に設定します。
GraphicsSettings