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 を定義します。 |
この設定を使うと、ビルトインの定義を微調節して、レンダリングとシェーダーコンパイルにプラットフォーム特有の調整を行うことができます。例えば、これを使って、ハイスペックの iOS デバイスでカスケードシャドウを有効にする一方、ロースペックの iOS デバイスでカスケードシャドウを無効にして、パフォーマンスを向上させることができます。ティアは Rendering.GraphicsTier で定義できます。
プロパティ | 機能 | |
---|---|---|
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 | 最終的なライティング計算に割り当てる CPU 使用率をランタイムに選択します。これを高くすると、システムはより多くの CPU 時間を犠牲にしてライティングの変化に素早く反応します。 ノート: プラットフォームによっては、すべての CPU がワーカースレッドによって占有されることを許可するものもあれば、ある最大値に強制するものもあります。例えば、Xbox One と PS4 では最大 4 つの CPU コアが使用できます。Android デバイスの場合、bigLittleアーキテクチャでは、わずかな CPU しか使用されません。そうでないものでは、最大値は CPU の総数よりも 1 少ない値です。 |
|
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 参照プロパティが表示され、使用したいシェーダーへの参照を設定できます。
実際にシーン内で使用されていない場合でも、プロジェクトと共に常に保存される シェーダー のリストを指定します。ストリーミングされたアセットバンドルが使用するシェーダーをこのリストに追加して、確実にアクセス可能にすることが重要です。
シェーダーをリストに追加するには、Size プロパティの値を増やします。
リストの最後のシェーダーを削除するには、Size プロパティを小さくします。
リストの最後ではないシェーダーを削除するには、値を None に設定します。
特定のシェーダーを取り除くことで、ビルドのデータサイズを削減し、読み込み時間を短縮します。
デフォルトでは、Unity はシーンとライトマッピングの設定を見て、どの Fog と Lightmapping モードが使用されていないかを調べ、対応する シェーダーバリアント をスキップします。
ただし、アセットバンドルをビルドする 場合は、特定のモードを選択して、使用したいモードが含まれていることを確認できます。
デフォルトでは、Lightmap modes プロパティは Automatic に設定されていて、スキップするシェーダーバリアントを Unity が自動的に決定します。
どのモードを使用するかを指定するには、Lightmap modes を Custom に変更し、以下のライトマップモードを有効または無効にします。
デフォルトでは、Fog Modes プロパティは Automatic に設定されていて、スキップするシェーダーバリアントを Unity が自動的に決定します。
どのモードを使用するかを指定するには、これを Custom に変更し、以下のライトマップモードを有効または無効にします。
シーン内のどのゲームオブジェクトでも GPUインスタンシング が有効になっていない場合、インスタンシングバリアントは削除されます。 Instancing Variants プロパティを使用して、デフォルトのストリッピング動作をオーバーライドできます。
値 | 説明 |
---|---|
Strip Unused (デフォルト) | Unity がプロジェクトをビルドするとき、シェーダーを参照する少なくとも 1 つのマテリアルが Enable instancing を有効にしている場合は、プロジェクトにはインスタンシングシェーダーバリアントのみが含まれます。Unity は Enable instancing が無効で、マテリアルによって参照されないすべてのシェーダーを取り除きます。 |
Strip All | たとえ使用されていても、すべてのインスタンシングシェーダーバリアントを削除します。 |
Keep All | たとえ使用されていなくても、すべてのインスタンシングシェーダーバリアントを保持します。 |
ゲームのロード時にプリロードするシェーダーバリアントコレクションアセットのリストを指定します。このリストで指定されたシェーダーバリアントは、アプリケーションの存続期間中ずっと保持されます。頻繁に使用されるシェーダーのプリロードに使用します。詳細は、シェーダーのロード時間を最適化 を参照してください。
シェーダーバリアントコレクションをリストに追加するには、Size プロパティの値を増やします。