面法線と頂点法線
新人教育用に話した内容を少し丁寧にまとめてみました。
面法線とは
面法線(フェース法線)とは『面がどちら側を向いているか』という情報です。裏か表か、しかありません。
頂点法線とは
頂点法線とは『それぞれの頂点がどんな向きを向いているのかという情報』です。この向きによって陰影が決まります。
頂点法線は自由に編集できます。別のモデルの法線を移植することもできます。( Mayaだと メッシュ表示>頂点法線編集ツール とか メッシュ>アトリビュートの転送 )
頂点法線と面法線は本質的に関係ないので、面法線は上を向いているけど、頂点法線は下を向いているという状態も作れます。
ハードエッジとソフトエッジ
頂点法線と密接に関係するのが、ハードエッジ、ソフトエッジです。
ソフトエッジとは頂点法線が隣り合った頂点と共有している(一緒に動く)状態です。
ハードエッジとは頂点法線が切り離されていて、それぞれバラバラに動かせる状態です。切り離された頂点の位置で頂点法線がいきなり変わるので、陰影がぱっきりと切り替わります。
ちなみにハードエッジは、Unreal Engine では頂点を実際に切り離して表現しています。
面法線の正体
実は面法線は、どちらを向いているというデータを内部的に持っているわけではありません。頂点の番号から自動的にどちら向きかが決まります。
そのため、頂点を生成する順番で面法線の向きが異なります。
Mayaだとポリゴン作成ツールで作るときに、反時計回りで点を打つと上向きになり、時計回りで点を打つと下向きになるのはそのためです。
この記事が気に入ったらサポートをしてみませんか?