ウーパの手習い

私的開発メモ用途なのでご容赦ください。2020年現在はSwiftとUnityでARのお勉強中。

Blenderエクスポート時の謎の症状

謎1:スムースの影

f:id:uuupacom:20180305192356p:plain画像のローテーブルの脚だけに対して、Blender上でスムースをかけてFBX形式でSubstancePainterにエクスポートすると、

f:id:uuupacom:20180305192408p:plain

上図のように、SubstancePainter上の表示では足の下半分に変な影がつく。Cキーを押して各マップ画像を確認しても、影の原因が分からない。

f:id:uuupacom:20180305192430p:plain

スムースをかけなければ、上図のようにおかしな影は現れない。

謎2:裏表が逆の怪

いくつかのオブジェクトをモデリングしていて、10モデル中2モデルぐらいで出くわした怪現象。FBX書き出ししてSubstancePainterでインポートすると、ポリゴンが全部裏を向いている。Blenderに戻って確認してみるが法線の向きは間違っていない。まさかと思いBlenderのポリゴン面を全て裏向きにしてエクスポートすると、SubstancePainterやUnityでは期待通りに表示される。Blenderと、エクスポート先であるその他のアプリケーション上とで、ポリゴンの裏表の扱いが完全に逆になっている怪現象。
FBXを再度Blenderにインポートしたり、いろいろやったけど解決せず、結局モデルを作り直した。
ネット記事を見ると「Blender上で裏返っているのに気づかずにエクスポートしているのが原因。Blenderのポリゴン両面表示をoffにしたり、法線表示したりして裏表を修正すればいい」という記事ばかりですが、上記の僕の症例はそういうデバッグもした上で、Blender上では絶対にポリゴンの向きは正しいのに、エクスポートした先のSubstancePainterやUnityでは裏返っている。

追記:謎2について一応の解決はできた。症状が出ているオブジェクトは、ポリゴン面を裏ポリゴンが表にくるような状態で表示しておく。別の立方体オブジェクトを作成し適当にUV展開。両方のオブジェクトを選択(立方体を後に選択?)し、Ctrl+Jでオブジェクト統合させると、統合したタイミングで症状のあるオブジェクトが勝手に裏返る、つまりポリゴン表面が表にくる。エクスポート先でも正常に表示されるようになった。