Twinmotion2020になって新しくSSGIを採用!でもそれってどんな機能?
2019と比較しながら検証してみました。
GI(グローバルイルミネーション)とは
まず、GIとはGlobal Illuminationの略で、大域照明とも呼ばれます。照明の直接的な光だけではなく、その光が物体に当たって反射した間接光も計算します。
現実の例で見てみます。
家の壁に赤いきつねを近づけると、壁が影で暗くなるだけでなく、ほんのり赤く染まっているのが分かるでしょうか。ヤドンを近づけると、ほんのりピンク色に染まります。これが間接光です!
GIはこの現象を表現することができ、それによって画のリアリティや雰囲気をぐっと向上させることができます。
Twinmotion2019ではどうだったか?
検証シーンを作りました。
下の図では、床、突き当りの壁、ソファーに色を付けてみました。lightingは変更していません。上の画像と見比べてみてください。壁のreflection値は0ですが、床の間接光の影響で、壁や天井に赤みがかかっています。突き当り壁の周りも、ほんのちょっとだけ緑がかっているように見えます。
太陽光をなくして、室内照明のみにしました。こうすると間接光の影響は分からなくなります。このように、Twinmotion2019では太陽光に対してのみ間接光が計算されるようです。インテリアのシーンにはちょっと不利と言えますね。
Twinmotion2020.1ではどうなったか?
同様のシーンで検証します。下の二つの画像を見比べてみてください。2019よりも間接光の表現が繊細になっている(多分、より現実に近い結果になっている)ことが分かると思います。ソファーの周りが少し青みがかかっていることまで表現できています。
室内照明ではどうでしょうか。ちょっと分かりづらいかもしれませんが、下の二つの画像をよーく見比べてみてください。下の画像は壁や天井に赤みがかかり、ソファーの周りはほんのり青く、突き当りの壁の周りは緑がかかっています。2020.1では太陽光でなくても間接光を計算してくれるようになったのです!
“SS(スクリーンスペース)”とは?
では、SSGIのSSとは何か?これは Screen Space の略で、ビューポート(操作画面)に入っている範囲しか計算しないということです。逆に言うと画面外の計算を省略することで高速なレンダリングを実現しているのです。
実験してみます。先ほどのシーンで床がビューポートに入らないぐらいカメラを見上げてみると・・・
天井や壁の間接光の赤みが消えてしまいました。このように、ビューポート内のオブジェクトに関してのみ間接光を計算するのがSSGIという機能なのです。
SSGIの影響範囲を拡張する
Export > Image右下のMore > Refinement を設定することにより、SSGIの影響範囲をビューポートよりもある程度広く拡張することができます。RefinementをHighに設定すると、ビューポート内に床が映っていなくても、天井や壁に間接光の赤みが反映されました。
Refinementは、Twinmotion2019ではMax reflectionという機能でした。これについては過去記事参照。
【Twinmotion】Max reflection(Refinement)って何だ?
まとめ
SSGIとは、Screen Space Grobal Illumination(スクリーンスペースグローバルイルミネーション)のことで、ビューポート内の間接光を表現してくれる機能のことでした。
以上.