もふもふ保管庫

Unityや3DCG等の創作についてまとめていくかも。不定期更新です。

【Blender】影のつき方がおかしい時の対処法【VRoid】

VRoidStudioというツールで素体(VRoid)を作成し、

それをBlenderに取り込んで編集し、アクセサリー等を追加するという事をしていますが1つ問題がありました。

VRoidは出力時全て三角ポリゴンになっているのですが、それでは編集しにくいので四角面化すると以下のように影のつき方がおかしくなってしまいます。

f:id:FLA_fluffy:20200616112650p:plain:h300
f:id:FLA_fluffy:20200616120818p:plain

VRoidを使っていない場合でも発生しうる問題なので、とりあえずの解決法を以下にメモしておきます。

三角面の四角面化について

f:id:FLA_fluffy:20200616113435p:plain:h240 f:id:FLA_fluffy:20200616113446p:plain:h240
VRoidEditorでエクスポートしたデータは全ての面が三角面になっています。(VRoidに限らず全ての3Dデータの標準的な状態です。)
Blenderにインポートして編集する場合、そのままでもいいのですが、全て四角面化しておくと編集が少し楽になります。

対象の面を全て選択してAlt+Jキーで処理してくれます。
f:id:FLA_fluffy:20200616113620p:plain:h240
しかし、ポリゴンを削減する関係上どうしても形状への変化は発生してしまいます。
今回はそれに伴いシェーディングがおかしくなっているのでそれを出来るだけ解決したいと思います。

この問題はVRoid関係なしのモデリングでも起こりますので、思いついた解決法を全て(といっても現状は2つ)書いておきます。
VRoid編集の場合は以下の①は無視して大丈夫でしょう。

①面が反転していないか確認する

ポリゴンには表裏の概念が存在し、その違いだけでライティングの結果が大きく変化します。

シェーディングの設定から[裏面の非表示]をオンにすると、カメラの位置から裏側が見えるポリゴンは非表示になるので発見しやすくなります。
f:id:FLA_fluffy:20200616112959p:plain:h300
もし表になっているべきポリゴンが裏になっていたら、その面を選択し反転機能を使えばOKです。

②法線が間違っていないか確認する

全ての面は法線というデータを持っています。
法線というのは非常にざっくりと説明すると、面の向きみたいなものです。
法線は面に対して垂直に伸びているのが普通の状態です。

法線がどの方向に向いているかはビューポートオーバーレイの設定をすると確認できます。
f:id:FLA_fluffy:20200616114720p:plain:h240

シェーディングを治したい面を全て選択し、メッシュの機能から法線を自動的に再計算してくれる[面から設定]を適用しましょう。
f:id:FLA_fluffy:20200616120041p:plain:h240

こうすると影のつき方がおかしくなる問題は解決するはずです。
これでも多少、四角面化前の状態から比較して見え方の違いは残ってしまいますが、誤差の範囲でしょう。
f:id:FLA_fluffy:20200616120325p:plain:h240

これでも治らない場合そもそもポリゴンの形状やトポロジーがおかしかったり、
マテリアル・テクスチャの設定でそう見えているだけの可能性が高いと思います。