バーチャル3Dクリエイター神部まゆみです(*^-^*)
この記事はunityの警告を解消した備忘録です。
書いとくと未来の私や誰かの参考になるかもしれないから書いておく。
動作確認した最新のバージョンはblender4.2ですが、特に新しい機能を使ってるわけでもないのでたぶんどのバージョンでもだいたい同じだと思います。
unityに自作3Dオブジェクトをインポートしたら「A polygon of Mesh~ is self-intersecting and has been discarded.」って警告が出た
blenderで3Dオブジェクトを作って、unityにインポートしたら出た。

エラーではなく警告なので普通に使えるが…
エラーじゃないからビルドもできるし、消去しとけばいいんだけど。
でもなんか気持ち悪い感じですね(~_~;)
自作したものを配布する時にこういう警告が出ると「えーナニコレ!?」って感じにはなりそう。
でも検索してみたら、アセットストアとかで配布されてる凄い3Dモデルでも結構この警告出るっぽいので、そこまで気にしなくてもいいとは思う。
というか私がこれまでアセットストアやBOOTHで買ったモデルでも、インポートした時に結構この警告出ましたね…。
まぁ直せるなら直したほうがいい、くらいでいいかも。
原因:ポリゴンが重なっていることが原因っぽい
翻訳したらそのようになった。

重複しているポリゴンはunityが自動で破棄してくれたみたいです。
自作3Dモデルを配布してる人以外は別に気にしなくてもいいか…?
購入したアセットで警告が出た人の場合は特に対応しなくても良いと思うけど、blenderで3Dモデルを作って配布している人の場合は、不具合が出ても困るしblenderで調整できるならしておいたほうが良いかも?
unityが自動で破棄してくれたとは言ってもどこまでやってくれているか分からないし、できる範囲で調整できるならそのほうがいいかもしれない。
あとはたぶんインポートしてこの警告が出てからunitypackageにして配布すれば、unityが自動で破棄してくれたわけだから、その後ダウンロードした人はこの警告出ないかも?
まぁあくまで自動削除だから精度がどのくらいだか分からないし、3Dモデルによるとは思うけど。
メッシュの一部分に穴が開いたりなど、表示に多少不具合が出る可能性があっても自己責任ですかね…。
まぁどこまでこだわるかって話で、別に気にしないならやらなくても良いけど(;^_^A
解決策:blenderで重複頂点を削除する
今回はblenderで自作したファイルなので、重複頂点を削除すれば行けると思う。
重複頂点が消えれば重複面も消えるだろう。多分。
こちらの頭のいい先輩のページが参考になりました。
ありがとうございます(*^-^*)
編集モードにして全選択、メッシュ→クリーンアップ→距離でマージ で距離を調整する
オブジェクトを選択してTABキーで編集モードに、Aキーで全選択、メッシュ⇒クリーンアップ⇒距離でマージ で。

でもあまりやりすぎるとおかしくなってしまう。
スライダー動かして調整するとやりすぎてしまうので、少しずつ手動で入力して具合を見たほうがいいかも。

どこまでやればエラーが出なくなるのか?分からないので、何度かやってみるしかないかも。
やりすぎて穴が空いちゃったら、Fキーで面を張るか、スナップで穴を埋める
穴の周りの辺を選択してFキーで面を張れる。

この段階で法線が逆になっているところがあれば直しておいた方がいいかも。
一応言っとくと青赤になってるのはここの「面の向き」にチェックを入れると表示できます。


もしくはスナップで頂点を移動させても穴を埋められる。


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