夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

MayaとBlenderでメッシュの向き(ノーマル)を確認する方法の比較

本日はモデリング枠です。

モデリングを行い、UnityやUE、その他のソフトウェアでモデルを見ようとするときによくみられるトラブルとして、モデリングソフトでは存在する、メッシュの一部が欠けている(かけて見える)トラブルです。

例えば次の例ではBlenderの画面では正しい表示ですが、Unityではメッシュの一部が非表示になっていることがわかります。

右の画面がBlender,左のUnityの画面ではメッシュの一部が破断していることがわかる

これはメッシュが実際にかけてしまっているのではなく、メッシュの向きが反転してしまっており、カリングによって非表示になっているために発生するトラブルです。

 3DCGのメッシュは物理学的なものとは違って厚みがありません。しかし面の向きが存在します。

 ソフトウェアや描画プログラムであるシェーダーによってはカリング(意:摘み取る)と呼ばれる最適化処理によってメッシュの裏面の描画計算をオミットして軽量化を図る機構が働いていることがあります。

 メッシュの両面描画自体はシェーダーによって簡単に実現できますが、メッシュの向きがそろっていないことはライティングやその後のレンダリングを含め意図しないトラブルが発生することがあり、基本的にはメッシュの向きはジオメトリで一致している必要があります。(ジオメトリの中で数か所のメッシュだけが反転していることがないようにする)

 今回はMaya及びBlenderでメッシュの向きを確認する方法を紹介します。

 なおこのメッシュの向きのことを一般的にはノーマル(日本語では法線)と呼びます。

〇ノーマルの確認方法

・Mayaの場合

Mayaの場合は上部ワールドメニューディスプレイからポリゴンそしてフェース法線を選択します。

これによってノーマルの確認が可能となります。

ここで表示されるノーマルのギズモ(ビューポート上の見た目)はディスプレイポリゴン法線のサイズの設定から任意に変えることができます。

Blenderの場合

Blenderの場合は3Dビューポート画面右上のオーバーレイのオプションから面の向きにチェックを入れることで確認ができます。

 面が表を向いているときは青、裏を向いているときは赤が表示されるようになっています。

上記の例では1ポリゴン(メッシュ一つ)だけ赤く表示され面が裏返っていることがわかりました。

〇ノーマルの反転(修正)

では次に確認した法線を反転させ正しく描画されるようにします。

・Mayaの場合

①対象のメッシュをフェース選択します。

選択中のメッシュのみ法線が反転していることがわかる

②上部メニューよりメッシュ表示から反転を選択することでノーマルの反転=メッシュの向きの反転が可能です。

Blenderの場合

①編集モードで対象のメッシュを選択します。

②上部メッシュメニューよりノーマル反転を選択します。

これによって面の向きが反転します。

〇自動調整

上記では手動でメッシュを選択して反転させる機能を紹介しました。

では次の画像のようにランダムにメッシュが反転してしまっている場合は手動で一つ一つメッシュを選択しては膨大な手間がかかります。

そこで自動調整機能を試します。

・Mayaの場合

①オブジェクトモードで対象のオブジェクトを選択します。

②上部メッシュ表示メニューから方向の一致を選択します。

これによって自動で修正が行われます。

Blenderの場合

①編集モードでAキーを押しオブジェクト全体を選択します。

②上部メッシュメニューからノーマル面の向きを外側にそろえるを選択します。

 これによってジオメトリの形状をもとに自動的にメッシュのノーマルがそろえられます。


なお、自動調整機能はジオメトリの形状によっては期待した結果を得られない場合もあるため、まず自動調整で整え、破断している個所を手動で調整すると早いと思います。

本日は以上です。