Blenderで左右対称(シンメトリー)が崩れたメッシュを非破壊的に修復するRestoreSymmetryアドオン
Blenderでモデリング中に左右の対称が崩れてしまった場合、いくつか修正の方法がありますがミラーモディファイアなどを利用する場合UVの展開がリセットされてしまいます。
ミラーモディファイを適用してUV展開後にUVを壊さずに左右の対称を修正できるアドオンを紹介します。
Blenderの標準機能でも
という機能があるのですが、この機能では修正できる範囲に限界があってあまり激しく壊れているとうまく治せないです。RestoreSymmetry というアドオンはUV展開を壊さずに非破壊的にX、Y、Zのそれぞれの軸に対してメッシュを対称的に修復してくれるアドオンです。
ミラーモディファイアを適用しなおしたり、Auto Mirrorアドオンやスカルプトモードのsymmmetrizeなどは、一度メッシュの半分を削除して、元の半分をコピーするので、UVを左右に展開してしまっていた後だとUV展開をやり直さなくてはなりません。このアドオンのいいところはメッシュを非破壊的に修復してくれるため、ノーマルマップなどをベイクした後で左右の対称が崩れてしまった場合にUVをやり直すことなく修復することができるところです。
ただし、動作するうえでいくつかコツがあるので使い方と合わせて紹介します。
RestoreSymmetry の使い方
インストール方法は mesh_restoresymmetry.py のファイルをアドオンフォルダに投入し、Blender側でアドオンとして有効にするだけです。
実行方法は修復したいオブジェクトを選択して、
> > を選択するだけです。実行後にオプションで対象とする軸や座標の+か-どちらか、または適応する量を調整できます。
UVを壊すことなく左右の対称を修復できます。
エラーへの対応のコツ
このアドオンを利用するうえでいくつかコツがあり、アドオン側でエラーがでて実行できない場合があります。その場合エラーごとに下記の点をチェックしてみてください。
Asymmetry encountered (central edge loop(s) not centered?)
左右のトポロジーが合致しない。
頂点構造が同じでも辺や面が対称のトポロジになっていないとエラーが出る場合があります。
Couldn’t follow edge path (inconsistent normals?)
法線の向きがそろっていない。
一つの構造体でメッシュの法線が途中で裏表反対になっているとダメ見たいです。一度法線方向を合わせて試してみてください。
Failed to find central edge loop(s). Please recenter.
左右の対称性を認識できない。
左右に浮いているメッシュ(たとえば左右の目など)では対称性が判断できないため、実行できない場合があります。その場合は対象とする軸の0座標に頂点ができるようにして面で両側のメッシュをつないであげると認識できるようになるみたいです。
ダウンロード
開発者のcyaoeuさんのgithubで公開されています。
2020年1月時点でまだ2.8に対応していなかったので、forkして2.8に対応しました。いつか開発元がアップデートされるかもしれません。
開発元:2.7まで
https://github.com/cyaoeu/BlenderAddons/tree/master/RestoreSymmetry
2.8に対応したfork版
https://github.com/12funkeys/BlenderAddons/tree/master/RestoreSymmetry