バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事はunityの警告を解消した備忘録です。
書いとくと未来の私や誰かの参考になるかもしれないから書いておく。
unityに自作3Dオブジェクトをインポートしたら「A polygon of Mesh~ is self-intersecting and has been discarded.」って警告が出た
blenderで3Dオブジェクトを作って、unityにインポートしたら出た。
エラーではなく警告なので普通に使えるが…
エラーじゃないからビルドもできるし、消去しとけばいいんだけど。
でもなんか気持ち悪い感じですね(~_~;)
自作したものを配布する時にこういう警告が出ると「えーナニコレ!?」って感じにはなりそう。
でも検索してみたら、アセットストアとかで配布されてる凄い3Dモデルでも結構この警告出るっぽいので、そこまで気にしなくてもいいとは思う。
というか私がこれまでアセットストアで買ったモデルでも、インポートした時に結構この警告見た気がする(;^_^A
まぁ直せるなら直したほうがいい、くらいでいいかも。
原因:ポリゴンが重なっていることが原因っぽい
翻訳したらそのようになった。
重複しているポリゴンはunityが自動で破棄してくれたみたいです。
見た目はほぼ変化ないのでこのままでも使えるけど、できればなくしたいかも。
解決策:blenderで重複頂点を削除する
今回はblenderで自作したファイルなので、重複頂点を削除すれば行けると思う。
重複頂点が消えれば重複面も消えるだろう。多分。
こちらの頭のいい先輩のページが参考になりました。
ありがとうございます(*^-^*)

編集モードにして全選択、メッシュ→クリーンアップ→距離でマージ で距離を調整する
オブジェクトを選択してTABキーで編集モードに、Aキーで全選択、メッシュ⇒クリーンアップ⇒距離でマージ で。
でもあまりやりすぎるとおかしくなってしまう。
スライダー動かして調整するとやりすぎてしまうので、少しずつ手動で入力して具合を見たほうがいいかも。
どこまでやればエラーが出なくなるのか?分からないので、何度かやってみるしかないかも。
やりすぎて穴が空いちゃったら、Fキーで面を張るか、スナップで穴を埋める
穴の周りの辺を選択してFキーで面を張れる。
この段階で法線が逆になっているところがあれば直しておいた方がいいかも。

一応言っとくと青赤になってるのはここの「面の向き」にチェックを入れると表示できます。
もしくはスナップで頂点を移動させても穴を埋められる。
でも穴が大きい場合は面を張ったほうがいいかな。
既にUV展開してテクスチャ貼ってる場合は、スナップしたところのテクスチャの表示がおかしくなってしまうかもしれないので注意。
これで警告が出なくなった
わざわざ新規プロジェクトを作って確認したから多分大丈夫だと思う。
一度警告が出るとキャッシュが残ってるのか?というかもう処理済みなのか?二度と警告が出なかったので他のプロジェクト作って試した。
これでもダメな場合は手動で重複面を特定してやらないとダメらしい。
流石にそこまでしなくても…と思うから、これでダメなら諦めたほうがいいかも(;^_^A
別に普通に使えるからね。