Graphics (グラフィックス) 設定 (Edit > Project Settings の順に移動し、Graphics カテゴリを選択) を使用して、Graphicsにグローバル設定を適用します。
このセクションでは、以下のプロパティのグループに関して説明します。
Unity がプロジェクトのレンダリングに使用するデフォルトのレンダーパイプラインを設定できます。スクリプタブルレンダーパイプラインに基づくレンダーパイプラインを設定するには、ここで任意のレンダーパイプラインアセットを割り当てます。
詳細については、アクティブなレンダーパイプラインを取得、設定、構成する方法 を参照してください。
これらのプロパティは様々なレンダリングの設定を制御します。
プロパティ | 機能 | |
---|---|---|
Transparency Sort Mode | 特定の軸に沿った距離によって、オブジェクトをレンダリングする順序を定義します。Unity のレンダラーは、レイヤー番号やカメラからの距離など、いくつかの基準によってソートされます。これは一般的に、スプライトを高さや Y 軸に沿ってソートするなど、2D 開発でのみ有用です。 | |
Default | カメラモードに基づいてオブジェクトをソートします。 | |
Perspective | オブジェクトを透視投影ビューに基づいてソートします。 | |
Orthographic | オブジェクトを平行投影ビューに基づいてソートします。 | |
Custom Axis | Transparency Sort Axis で定義されたソートモードに基づいて、オブジェクトをソートします。 | |
Transparency Sort Axis | カスタムの Transparency Sort Mode を定義します。 |
Built-in Render Pipeline では、Tier settings を使って、ハードウェアの種類に応じてレンダリング設定やシェーダーコンパイルの設定を変更することができます。詳しくは、Graphics tiers を参照してください。
プロパティ | 機能 | |
---|---|---|
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_ALPHABLEDED_SHADOWSシェーダーコンパイラー定義を追加または削除します。 |
|
Enable Light Probe Proxy Volume | 補間された ライトプローブ の 3D グリッドのレンダリングを有効にします。 | |
Cascaded Shadows | カスケードシャドウマップの使用を有効にします。 UNITY_NO_SCREENSPACE_SHADOWS シェーダーコンパイラー定義を追加または削除します。 |
|
Prefer 32 bit shadow maps | PS4 や、DX11 や DX12 を使用しているプラットフォームをターゲットにしている場合は、32 ビット float のシャドウマップを有効にします。 ほとんどのプラットフォームのシャドウマップは、調整できない固定の形式です。これらは形式で異なり、16 ビット、24 ビット、32 ビットのいずれかであり、かつ、float 型と integer 型のいずれかになります。32 ビットのシャドウマップは、16 ビットよりも高品質のシャドウを提供しますが、GPU のメモリと帯域幅の使用が増加します。 ノート: 32 ビットのシャドウマップを使用するには、深度バッファも 32 ビットに設定されていることを確認してください。 |
|
Use HDR | このティアの ハイダイナミックレンジレンダリング を有効にします。 | |
HDR Mode | HDR が現在のグラフィックスのティアで有効になっている場合に、HDR バッファに使用する形式を選択します。デフォルトでは FP16 に設定されています。 | |
FP16 | カラーレンダリングテクスチャ形式、チャンネルごとに 16 ビット浮動小数点数 | |
R11G11B10 | カラーレンダリングテクスチャ形式。R と G チャンネルは 11 ビットの浮動小数点数、B チャンネルは 10 ビットの浮動小数点数です。 | |
Rendering Path | Unity がグラフィックスをレンダリングする方法を選択します。レンダリングパスが異なると、ゲームのパフォーマンス、ライティングとシェーディングの計算方法に影響します。パスによって適するプラットフォームやハードウェアが異なります。 ディファード レンダリングは、平行投影を使用するときにはサポートされません。カメラの投影モードが Orthographic (平行投影) に設定されている場合、これらの値はオーバーライドされ、カメラは常に Forward レンダリングを使用します。詳細については、レンダリングパス を参照してください。 |
|
Forward | 従来のレンダリングパス。これは、Unity グラフィックスの一般的な機能 (法線マップ、ピクセル単位のライト、シャドウなど) すべてをサポートします。ただし、デフォルト設定では、最も明るいライトのうち少数のみがピクセルごとのライティングモードでレンダリングされます。残りのライトは、オブジェクトの頂点またはオブジェクトごとに計算されます。 | |
Deferred | ディファードシェーディング は、最もライトとシャドウの忠実度が高く、リアルタイムのライトが数多くある場合に最適です。ある程度のレベルのハードウェアサポートを必要とします。 | |
Legacy Vertex Lit | 古い頂点ライティング は、ライティングの忠実度が最も低く、リアルタイムのシャドウをサポートしないレンダリングパスです。 Forward レンダリングパスのサブセットです。 | |
Legacy Deferred (light prepass) | 古いディファード はディファードシェーディングに似ています。異なる犠牲 (引き換え) を使う異なるテクニックを使用するだけです。Unity 5 の物理ベースのスタンダードシェーダーはサポートしていません。 | |
Realtime Global Illumination CPU Usage | The CPU budget you allow Enlighten Realtime Global Illumination to use for lighting calculations at runtime. Increasing this makes the system react faster to changes in lighting at a cost of using more CPU time. Note: Some platforms allow all CPUs to be occupied by worker threads whereas some enforce maximums. For example, some gaming consoles allow a maximum of 4 CPU cores. For Android devices, if it is a bigLittle architecture, only the little CPUs are used; otherwise the maximum is one less than the total number of CPUs. |
|
Low | 許容 CPU スレッドの 25 % をワーカースレッドとして使用します。 | |
Medium | 許容 CPU スレッドの 50 % をワーカースレッドとして使用します。 | |
High | 許容 CPU スレッドの 75 % をワーカースレッドとして使用します。 | |
Unlimited | 許容 CPU スレッドの 100 % をワーカースレッドとして使用します。 |
これらの設定を使用して、ビルトインレンダーパイプラインにリストされている各機能に使用するシェーダーを指定します。
レンダリングパス | 使用するシェーダー |
---|---|
Deferred | ディファードシェーディング と共に使用します。 |
Deferred Reflection | ディファードライティングに伴う リフレクションプローブ と共に使用します。 |
Screen Space shadows | PC/コンソールプラットフォームのディレクショナルライトのためのカスケードシャドウマップと共に使用します。 |
Legacy deferred | 古いディファード ライティングと共に使用します。 |
Motion Vectors | オブジェクトベースのモーションベクトル計算に使用します。 |
Lens Flare | レンズフレアと共に使用します。 |
Light Halo | Light Halos と共に使用します。 |
これらの機能ごとに、使用するシェーダーの種類を選択できます。
Custom shader を選択すると、プロパティの下に Shader 参照プロパティが表示され、使用したいシェーダーへの参照を設定できます。
これは、Unity がすべてのビルドですべての可能な バリアント を有するシェーダのリストです。これは、通常はビルドに含まれないシェーダーやバリアントをランタイムに使用する場合に役立ちます。例えば、それらのシェーダーやバリアントに依存する AssetBundle や Addressable を使用する場合や、シェーダーキーワード を使用してランタイムにバリアントを変更する場合などです。
注意: この機能は スタンダードシェーダー のような、多数のバリアントを持つシェーダーには推奨されません。ランタイムとビルド時のパフォーマンスに重大な問題を引き起こす可能性があります。代わりに、必要なバリアントだけを含む シェーダーバリアントコレクション を作成し、それらをビルドに加えるべきです。
ノート: この設定は シェーダーキーワード宣言の設定 を上書きします。リスト内の各シェーダーについて、“シェーダー機能” 宣言タイプを使用している場合でも、Unity はすべてのキーワードのすべてのセットを加えます。
リストにシェーダーを追加するには、Size プロパティの値を増やします。リスト内の最後のシェーダーを削除するには、 Size プロパティを減らします。リスト内の最後ではないシェーダーを削除するには、値を None に設定します。
これらのプロパティにより、ビルドの シェーダーバリアントのストリッピング を設定することができます。
デフォルトでは、Unity はビルド内のシーンを検査し、それらのシーンで使用されていない シェーダーバリアント を自動的に除去します。ただし、通常はビルドに含まれないシェーダーやバリアントをランタイムに使用したい場合、問題が発生する可能性があります。例えば、それらのシェーダーやバリアントに依存する AssetBundle や Addressable を使用する場合や、シェーダーキーワード を使用してランタイムにバリアントを変更する場合などです。
プロパティ | 機能 | |
---|---|---|
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 サポートに関する重要な情報を含む事前準備に関する情報については、Shader loading の シェーダーバリアントの事前準備 を参照してください。
プロパティ | 機能 |
---|---|
Preload Shaders | アプリケーション起動時に事前準備するシェーダーバリアントコレクション。 |
Preload shaders after showing first scene | いつ Unity が Preloaded shaders で指定されたシェーダーバリアントを事前準備するか。 有効にすると、Unity は最初のシーンが完全にロードされた後に、シェーダーバリアントをロードしてプリウォームします。そうでない場合は、最初のシーンを表示する前にロードし、事前準備します。 |
Preload Shaders |
Preload shaders after showing first scene が有効な場合、 Preloaded shaders で指定されたシェーダーバリアントを Unity が事前準備する方法。 この値が 0 の場合、Unity は最初のシーンを表示した次のフレームですべてのシェーダーバリアントをプリロードします。 そうでない場合、Unity は最初のシーンを表示した後、複数のフレームにわたって新しいシェーダーバリアントをプリロードします。あるフレームで、設定されたその制限時間に達するまで、シェーダーバリアントを事前準備します。それ以後は次のフレームになるまで新しいシェーダーバリアントの事前準備を開始しません。 |
Unity エディターでは、アプリケーションのランタイムにどのシェーダーバリアントを使用しているかを追跡できます。この情報を使って、シェーダーバリアントコレクション をビルドすることができます。
制御 | 機能 |
---|---|
Create asset | 現在追跡されているシェーダーバリアントを使用して、新しいシェーダーバリアントコレクションアセットを作成します。 |
Clear | 追跡されたシェーダーバリアントを消去します。 |