はじめに 今回は、頂点の法線を球体(Sphere)の法線に変形させることで、細部の陰影を弱め、顔に不要な陰が出ないようにするテクニックを紹介します。 本記事で解説される新要素 VertexModifier関数でオブジェクト空間での法線を修正する 法線を編集する意味 法線を編集して陰影を弱めるというのは、一体どういうことでしょうか。以下のコードを見てください。 float diffuse = saturate(dot(s.Normal, gi.light.dir)); これは拡散反射光であるdiffuseを求めている式です。計算式についてはランバート反射 - Wikipediaでも見てもらうとして、一言でいえば"法線(面の向き)とライトの向きの間の角度で、面の明るさが決まる"ということです。 法線とライトベクトルのなす角が0度の場合、つまり光が面に真正面から当たっている場合はCos(0度)=
![第5回.(上級)法線転写による滑らかなシェーディング - UnityShader 入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/a6985db763238bdb37c81f9eac40378f189fe95e/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FI%2FIARIKE%2F20170419%2F20170419010731.png)