破綻したメッシュを修正したいときの方法リスト

例えば3Dスキャンしたデータや、スカルプトした3Dデータ、ブーリアンしておかしくなったメッシュデータなど、3DCGのメッシュデータを修正したいときがある。Mesh FixやMesh Repairで検索するといくつか有効な手段が出てくるけれど、個人的に有用だった手段を以下にまとめておきたい。

Bambu Studio のメッシュ修正機能
本来はスライサーソフトだが、Bambu StudioのWindows版に無償でついているメッシュ修正機能がかなり有用。STLエクスポートができるので、STLをBambu Studioのプレート上にインポートして、おかしなメッシュがあることを検出させ、修正をかけると、かなり精度良く修正することができる。
(なお執筆時点でMac版にはこの機能は搭載されていない。)

BlenderのMesh Fix Wizardアドオン
有償アドオンだが、無償版も一応あり、特に有償版のみについているWrap機能でかなりの範囲のメッシュを修正することができる。どのツールでもダメで諦めかけているものがある場合は、一考の価値あり。

Nomad Sculpt / ZBrush / 3DCoat などについているボクセルリメッシュ機能
個人的にこれが一番便利で、大抵のものはこれで修復することができる。特にNomad Sculptや3DCoatなどのボクセルベースのスカルプトツールは、トリムなどの指定範囲をカットすることが自由自在にでき、これを駆使すれば下手にBlenderでSubDivやローポリ編集をするよりも正確に形状を作成することもできるので、臨機応変に使うと良い。

BlenderのQuad Remesherアドオン(もしくはNomad SculptのQuad Remesher、あるいはZRemesher)
定番ではあるものの、1万円を超えるちょっと高額なアドオンではあるが、ZRemesherの有用さを知っている人であればとりあえずこれを選択肢に入れておけば、たいていのハイポリメッシュは自由自在に扱うことができる。買い切りなので、買っておいて損はない。自分が今まで購入したアドオンのなかで、最も有用だと感じていて、特にNomad Sculptの有償オプションだと2万ポリゴンまでになぜか制限されているのもあり、Blenderに入れておくことをおすすめする。
なお、Instant Meshesも同様の機能を持っていて使いやすく、さらに場合によってはCozyBlanketなどのアプリで手動リトポするのも良い。この両者は、Quad Remesherと違ってトポロジーの制御がある程度可能なので、トポロジーについてこだわりがある場合は、こちらの方法が良い。

ポイントクラウド(点群)にして、メッシュをBall Pivotingアルゴリズムで計算させる
最終手段というか奥の手ではあるものの、ポイントクラウド(点群)からメッシュを計算させると比較的綺麗なメッシュが生成されることがあるので、どうしようもないときの選択肢に。
MeshLabやCloud Compareを使って無償で計算させることができ、おそらくOpen3DやPCLでプログラムで計算させることもできる。PLYかSTLにモデルを変換して、点群から一度ノーマル(法線ベクトル)を計算して、メッシュを生成させる。

ちなみに、穴がボコボコでどうしようもないメッシュの場合は、Nomad Sculptの膨張ブラシ→ボクセルリメッシュを繰り返すことで埋めることもあるし、Blenderなどで適当な立体図形をブーリアン合成して、最初に紹介したBambu Studioのメッシュ修正で直すこともできる。
なお、ブーリアン合成はおかしなメッシュがつくられる確率がかなり高いのだが、このメッシュを一度Nomad Sculpt等でボクセルに変換してボクセルリメッシュすると、物によっては再度美しいメッシュが得られるので、これをQuad Remesherなどでリトポロジーして再利用するというプロセスは、一度覚えておくとかなり使える。(ボクセルリメッシュを経ずにいきなりQuad Remesherにかけても直るものもあるので、Blenderのみで完結させたい場合は一度試すもアリ。)
もし簡単な形状であれば、最悪、CADやスカルプト、Blenderなどでデータを作り直すというのもアリといえばアリ。