本日はモデリング枠です。
モデリングを行い、UnityやUE、その他のソフトウェアでモデルを見ようとするときによくみられるトラブルとして、モデリングソフトでは存在する、メッシュの一部が欠けている(かけて見える)トラブルです。
例えば次の例ではBlenderの画面では正しい表示ですが、Unityではメッシュの一部が非表示になっていることがわかります。
これはメッシュが実際にかけてしまっているのではなく、メッシュの向きが反転してしまっており、カリングによって非表示になっているために発生するトラブルです。
3DCGのメッシュは物理学的なものとは違って厚みがありません。しかし面の向きが存在します。
ソフトウェアや描画プログラムであるシェーダーによってはカリング(意:摘み取る)と呼ばれる最適化処理によってメッシュの裏面の描画計算をオミットして軽量化を図る機構が働いていることがあります。
メッシュの両面描画自体はシェーダーによって簡単に実現できますが、メッシュの向きがそろっていないことはライティングやその後のレンダリングを含め意図しないトラブルが発生することがあり、基本的にはメッシュの向きはジオメトリで一致している必要があります。(ジオメトリの中で数か所のメッシュだけが反転していることがないようにする)
今回はMaya及びBlenderでメッシュの向きを確認する方法を紹介します。
なおこのメッシュの向きのことを一般的にはノーマル(日本語では法線)と呼びます。
〇ノーマルの確認方法
・Mayaの場合
Mayaの場合は上部ワールドメニューディスプレイ
からポリゴン
そしてフェース法線
を選択します。
これによってノーマルの確認が可能となります。
ここで表示されるノーマルのギズモ(ビューポート上の見た目)はディスプレイ
→ポリゴン
→法線のサイズ
の設定から任意に変えることができます。
・Blenderの場合
Blenderの場合は3Dビューポート画面右上のオーバーレイのオプション
から面の向き
にチェックを入れることで確認ができます。
面が表を向いているときは青、裏を向いているときは赤が表示されるようになっています。
上記の例では1ポリゴン(メッシュ一つ)だけ赤く表示され面が裏返っていることがわかりました。
〇ノーマルの反転(修正)
では次に確認した法線を反転させ正しく描画されるようにします。
・Mayaの場合
①対象のメッシュをフェース選択します。
②上部メニューよりメッシュ表示
から反転
を選択することでノーマルの反転=メッシュの向きの反転が可能です。
・Blenderの場合
①編集モードで対象のメッシュを選択します。
②上部メッシュ
メニューよりノーマル
→反転
を選択します。
これによって面の向きが反転します。
〇自動調整
上記では手動でメッシュを選択して反転させる機能を紹介しました。
では次の画像のようにランダムにメッシュが反転してしまっている場合は手動で一つ一つメッシュを選択しては膨大な手間がかかります。
そこで自動調整機能を試します。
・Mayaの場合
①オブジェクトモードで対象のオブジェクトを選択します。
②上部メッシュ表示
メニューから方向の一致
を選択します。
これによって自動で修正が行われます。
・Blenderの場合
①編集モードでA
キーを押しオブジェクト全体を選択します。
②上部メッシュ
メニューからノーマル
→面の向きを外側にそろえる
を選択します。
これによってジオメトリの形状をもとに自動的にメッシュのノーマルがそろえられます。
なお、自動調整機能はジオメトリの形状によっては期待した結果を得られない場合もあるため、まず自動調整で整え、破断している個所を手動で調整すると早いと思います。
本日は以上です。