はじめに 今回は、頂点の法線を球体(Sphere)の法線に変形させることで、細部の陰影を弱め、顔に不要な陰が出ないようにするテクニックを紹介します。 本記事で解説される新要素 VertexModifier関数でオブジェクト空間での法線を修正する 法線を編集する意味 法線を編集して陰影を弱めるというのは、一体どういうことでしょうか。以下のコードを見てください。 float diffuse = saturate(dot(s.Normal, gi.light.dir)); これは拡散反射光であるdiffuseを求めている式です。計算式についてはランバート反射 - Wikipediaでも見てもらうとして、一言でいえば"法線(面の向き)とライトの向きの間の角度で、面の明るさが決まる"ということです。 法線とライトベクトルのなす角が0度の場合、つまり光が面に真正面から当たっている場合はCos(0度)=