第08回 視線と法線による輪郭表現
2 / 4 内積から輪郭Maskへの変換
このステップの目的
正面で小さく、輪郭で大きい値を作ります。
値の反転と幅の調整
Saturateした内積へOne Minusをつなぎます。One Minusは1から入力値を引きます。さらにPowerノードへ渡し、指数をFloatプロパティRim Powerで指定します。まず1から始め、Powerの出力をBase Colorへ表示します。
輪郭を明るくするリムライト
リムライトは、背後からライトを当てることで物体の縁を明るくする表現で現実世界の映画撮影などでも使われる技法です。
CG では、視線方向と法線の内積を使うことで輪郭に近い部分を取り出せます。
キャラクターを背景から分離したり魔法、オーラ、強調などの表現に使えます。
視線方向と法線の内積でリムライトを作る
Dot(Normal, View Direction) を計算すると面をどの角度から見ているかが分かります。
正面に近いほど値は大きくなり輪郭に近いほど値は小さくなります。
ですがこれでは視線をライトとして照らしているような表現になりますので One Minus を使って反転し、輪郭側ほど大きい値に変換します。
これだけでリムライトの表現が可能です。
エッジを強調したい場合は、さらに Power で調整します。
条件を変えた確認
内積が1、0.5、0の場所でOne Minusはいくつになりますか。Rim Powerを1から4へ上げると、中間値0.5はどう変わりますか。
予測と結果の照合
反転後は0、0.5、1です。0.5の4乗は0.0625なので中間部分が暗くなり、明るい範囲が輪郭へ狭まります。
Rim Power=1へ戻し、白黒のMaskを保存します。
チェックリスト
- 反転とPowerが輪郭の値へ与える効果を数値で説明できる。