Unity は異なる レンダリングパス に対応しています。どれを選択すべきかは、ゲームの内容やターゲット、ハードウェアに依存します。異なるレンダリングパスは、ライトやシャドウに影響を与える異なる特徴やパフォーマンスを持ちます。技術的な詳細は、Unity のレンダリングパイプライン を参照してください。
プロジェクトで使用されるレンダリングパスは Graphics ウィンドウで選択できます。さらに、各 カメラ にそれをオーバーライドできます。
グラフィックスカードが選択したレンダリングパスを処理できない場合、Unity は自動的に低い忠実度を使用します。例えば、ディファードシェーディングを処理できない GPU では、フォワードレンダリングが使用されます。
Deferred Shading (ディファードシェーディング) はライトと影が最も厳密にレンダリングされます。もし多くのリアルタイムライトを使いたいのであれば最適でしょう。ただ、これはハードウェアがある一定のレベルが必要です。
詳細は ディファードシェーディングレンダリングパス を参照してください。
Forward rendering (フォワードレンダリング) は、従来のレンダリングパスです。法線マップ、ピクセルライト、影など、よく使う Unity グラフィックス機能をサポートしています。ただし、デフォルト設定では、少数の最も明るいライトのみピクセルライティングモードでレンダリングされます。残りのライトはオブジェクトの頂点やオブジェクトごとに計算されます。
詳しくは フォワードレンダリングパスの詳細 を参照してください。
古いディファード (ライトプリパス) はディファードシェーディングに似ています。単に、異なるトレードオフを持つ異なるテクニックを使用しています。この機能は、Unity 5 の物理ベースのスタンダードシェーダーをサポートしません。
詳しくは 旧 Deferred Lighting レンダリングパス を参照してください。
Vertex Lit は一番軽いレンダリングパスで、リアルタイムの影をサポートしません。これは、フォワードレンダリングパスのサブセットです。
詳しくは Vertex Lit を参照してください。
注意 ディファードレンダリングは、平行投影を使用しているときは、サポートされません。カメラの投影モードが Orthographic (平行投影) に設定されているとき、この値はオーバーライドされ、カメラは常にフォワードレンダリングを使用します。
ディファード | フォワード | 古い Deferred | 頂点ライト | |
---|---|---|---|---|
機能 | ||||
パーピクセルライト (法線マップ、ライトクッキー) | サポート | サポート | サポート | - |
リアルタイムシャドウ | サポート | 警告あり | サポート | - |
リフレクションプローブ | サポート | サポート | - | - |
デプス/ノーマルバッファ | サポート | 追加のレンダリングパス | サポート | - |
ソフトパーティクル | サポート | - | サポート | - |
半透明オブジェクト | - | サポート | - | サポート |
アンチエイリアス | - | サポート | - | サポート |
ライトカリングマスク | 制限あり | サポート | 制限あり | サポート |
ライトの厳密さ | すべてのピクセル | 一部のピクセル | すべてのピクセル | すべての頂点 |
パフォーマンス | ||||
1 ピクセルあたりのライトのコスト | ライトが当たる pixel の数 | ライトが当たるピクセル数*オブジェクトの数 | ライトが当たる pixel の数 | - |
通常レンダリングされるオブジェクトの個数 | 1 | ピクセル単位のライトの数 | 2 | 1 |
シンプルなシーンのオーバーヘッド | 高 | None | 中 | None |
サポートするプラットフォーム | ||||
PC (Windows/Mac) | Shader Model 3.0+ & MRT | すべて | Shader Model 3.0+ | すべて |
モバイル (iOS/Android) | OpenGL ES 3.0 & MRT、Metal (A8 以降の SoC を伴うデバイス上) | すべて | OpenGL ES 2.0 | すべて |
コンソール | XB1、PS4 | すべて | XB1、PS4、360 | - |