法線とは何か?接線との違いや傾きの積が−1になる理由を徹底解剖
教室の黒板を飛び出し、法線が最も過酷に、かつ大量に消費されている現場が3DCGおよびゲームエンジンの開発環境です。Unreal EngineやUnity、Blenderといった制作ツールを扱うクリエイターにとって、法線は「理解していなければグラフィックスが成立しない」極めて切実な要素となっています。
3DCG空間において、物体は無数の微小なポリゴン(多角形メッシュ)の集合体として表現されます。各ポリゴンやその頂点には、面がどちらを向いているかを示す「面法線」や「頂点法線」が設定されています。コンピュータが画面上にリアルな立体感を描き出す際、光源から放たれた光のベクトルと、ポリゴンの法線ベクトルとの内積を計算することで、「面が光を正面から受けているか、斜めに受けているか」を判定し、明るさや陰影の階調(シェーディング)を決定します。
物理光学の基本である光の反射と入射角の法則を思い出してください。「入射角と反射角は等しい」という古典的なルールにおいて、その角度を測る基準線は接触面そのものではなく、接触面から垂直に立ち上がった法線です。法線に対する角度を $0$ 度と定義することで、光の正反射や屈折(スネルの法則)をシンプルな数式でシミュレーションできます。
この仕組みを極限まで活用した技術が、現代のリアルタイムグラフィックスに不可欠な3DCG法線マップ(Normal Map)です。本来であれば何百万ものポリゴンを消費して表現するような微細なシワ、レンガの凹凸、金属の彫刻などを、ポリゴンの形状そのものを変えることなく、法線ベクトルの向きのデータだけをRGB画像(テクスチャ)として貼り付けることで再現します。青紫色に見える法線マップ画像は、R成分が $X$ 軸、G成分が $Y$ 軸、B成分が $Z$ 軸方向の法線の傾きを記録しており、処理負荷を抑えながら映画品質のディテールを実現する技術的ブレイクスルーとなっています。
しかし、3D開発の現場取材では、初学者が必ずぶつかる深刻なトラブルとして法線の反転と裏返りが挙げられます。モデリング中に誤った押し出し操作を行ったり、外部ソフトからモデルをインポートした際、ポリゴンの法線が意図せず内側を向いてしまう現象です。現代のレンダラーは描画負荷を削減するため、カメラに背を向けているポリゴンを描画しない「バックフェイスカリング」を採用しています。そのため、法線が裏返ると「モデルに穴が空いて中が透けて見える」「影が真っ黒に焼き付いて不気味な黒ずみが発生する」といった深刻なバグを引き起こします。開発者コミュニティやQ&Aサイトでも「法線の再計算(Shift + N)」は最も頻出する解決策の一つです。