4 / 4 輪郭色の設定と制作課題
輪郭の計算結果を色へ使い、用途に合う幅を選びます。
Maskから色への接続
ColorプロパティBase TintとRim Tintを作り、LerpのA・Bへ接続します。輪郭MaskをTへ、Lerpの出力をBase Colorへつなぎます。Maskが0ならBase Tint、1ならRim Tintです。
角度による変化の課題
Cameraを正面と斜めへ動かした二つの状態を記録します。その後Cameraを固定し、Rim Powerだけを変えて、選択中の物体を見分けやすい輪郭を作ってください。幅と色を選んだ理由も説明します。
予測と結果の照合
Cameraの変更は視線方向、Powerの変更は同じ内積から作るMaskの幅へ影響します。色を変える操作は、方向の計算自体を変えません。
Cameraを基準へ戻し、採用したPowerと色を保存します。
発展:法線マップと接線空間
法線マップとタンジェント空間
法線方向を保存するテクスチャー

タイルの画像とその法線マップの適用例です(AI生成)。
法線マップは、表面の細かな向きを RGB の値として保存したテクスチャーです。
X が赤、Y が緑、Z が青の成分に対応し、 ピクセルの色がその部分の法線方向を表します。
モデルの頂点数を増やさずに細かな凹凸のような陰影を作れます。
石、布、皮膚、金属、床など様々な質感の表現に使われる、CGの基本的な技術です。
法線マップを方向として読み込む

Texture Type を Normal map に設定することで Unity が法線マップとして正しく扱えるようになる。
法線マップでは、RGBを色ではなく法線方向として扱います。
RGBは 0 ~ 100% の値ですが法線の方向は-1~+1の範囲で表されるため正しく扱うための指定が必要です。
Unity ではテクスチャーの Import Settings で Texture Type を Normal map に設定します。
表面ごとの座標系であるタンジェント空間
接線、従法線、法線の3方向で表されるタンジェント空間の模式図です。出典: Wikimedia Commons / Public domain。
法線マップだけでは、RGB で表した法線が表面上のどちらを向いているのか分かりません。
基準となる座標系が必要です。
タンジェント空間は、法線、接線、従法線の 3方向で作る表面ごとのローカルな座標系です。
法線マップ上の法線は、この表面の座標系に基づいて解釈されます。
外積で垂直な方向を作る
タンジェント空間は、法線、接線、従法線の3方向で構成されます。
面の法線は、頂点ごとに定義された法線が補間されて得られるため描画ピクセルごとにタンジェント空間を計算する必要があります。
接線は、UV展開の方向を手がかりに用意するのが一般的です。
外積 は、2つのベクトルの両方に垂直なベクトルを返す演算です。
接線と法線が分かれば、外積 で従法線の向きを求められます。
こうして三方向がそろうことで、法線マップの法線を正しく解釈できるようになります。
法線マップでライティングを変える
ライティングに使う法線方向を細かく変えることで凹凸があるように見せるのが法線マップの役割です。
法線マップは、実際の形状を変えるわけではありません。
ライトの当たり方を変えることで、見た目を変える技術です。
石の表面、木の板、布のシワ、皮膚の細かい凹凸など多くの質感表現に欠かせない技術ですが法線マップだけでは厚みのある物体の表現には限界があります。
法線マップを実際に材質へ適用する際は、第10・11回でも読み込み設定とNormal入力を確認します。
- CameraとPowerを別々に変えて比較した。
- 輪郭の幅と色を選んだ理由を説明できる。