Skip to content
第08回 視線と法線による輪郭表現

1 / 4 視線方向と法線の対応 ​

このステップの目的

表面からCameraへ向かう方向を、法線と同じ空間で扱います。

正面と輪郭の比較 ​

Normal VectorとView DirectionをどちらもWorldへ設定し、それぞれNormalizeしてDot Productへつなぎます。Saturateした結果をBase Colorへ表示します。正面を向く場所と輪郭近くで、値の大小を比べます。

観測される光に視線方向が必要な理由 ​

前回扱ったランバート反射では、 法線とライト方向から明るさを求めました。

ですが現実の物体の光の反射は一律ではありません。
光の入射方向に対して、様々な方向に反射されます。

そして、物体の表面で反射した光は、カメラに届いて初めて観測されます。
つまり、質感表現では光源の方向だけでなく視線の方向も重要になります。

View Direction ​

View Direction は、表面からカメラへ向かう方向を表すベクトルです。

法線と視線方向が近いほど、面を正面から見ていることになります。
法線と視線方向が直角に近いほど、面を横から見ていることになります。

同じ面でも、カメラの位置や向きが変わると View Direction の値も変わります。

視線方向を使うと、反射や透明感のような観測角度に依存する質感を扱えます。

リムライトやフレネルのような、 輪郭側を強調する演出にも応用できます。

条件を変えた確認 ​

法線と視線が同じ向き、直角のとき、正規化した内積はいくつですか。Cameraだけを動かして確認します。

予測と結果の照合

同じ向きは1、直角は0です。Cameraを動かすと、表面からCameraへ向かう方向が変わります。

Cameraを元へ戻します。次にこの値を反転して輪郭を明るくします。

チェックリスト
  • 視線の向きと座標空間を説明できる。