ベイクした GI の LOD
シーンビューにおける GI の可視化

メタパス

メタパスは、アルベドとエミッシブの Enlighten 使用を標準シェーダーパスから切り離します。

オブジェクトの見え方は、シェーダーで定義されます。 Unity 3 や 4 では、ライトマッパーのマテリアルプロパティーには、マテリアルプロパティーのマッピングをそのまま使っていました。多少は機能しましたが、ネーミング規則、タグとストリングスに基づいていました。基本的にハードコードされていたため、サーフェイスプロパティーをカスタムすることはできませんでした。

Unity 5.x では、アルベドとエミッシブは特別なメタシェーダーパスを使ってレンダリングすることができます。これは、ライトマップ座標空間でレンダリングされ、GPUを使用します。つまり、ライトマッパーが分離しているので、シェーダーのカスタマイズにより、画面上でのオブジェクトの見え方を制御できる、ということです。リアルタイムレンダリングで使われるシェーダーに影響することなく GI を制御することもできます。

メタパス フロー
メタパス フロー

これが、内部で金属的な表面のためにアルベドを扱う方法です。Enlighten は放出トランスポートを扱い、各バウンスで表面アルべドを使用します。黒、または黒に近いアルべドの金属的表面は、どんなライトもバウンスしません。アルべドをレンダーするシェーダーパスは、金属がかった明るい色のほうへ偏ってレンダーします。 絶縁マテリアル (材木、プラスチック、石、コンクリート、皮革、皮膚) には白い鏡面反射があります。金属には鏡面反射があります。

メタパスの使用は、DynamicGI.SetEmissive ほど早くはありませんが、単色に制限していないため柔軟であることに注意してください。

ベイクした GI の LOD
シーンビューにおける GI の可視化