2026年6月15日月曜日

[Zbrush]ZbrushのUVSmoothの挙動の確認とReUVでの他ソフトとの連携について

今回はタイトルの通りZbrushのUVSmoothについての挙動と他ソフトとの連携方法について触れます。

ZBrushのUV Smooth(Suv)は、Subdivisionレベルを変更するたびにUVSmoothが毎回適用されるため、作業中にUV形状が意図しない形に変化してしまいます。

その結果、他ソフト上のモデルとのUV不一致が発生し、Displacementベイクなどで問題になることがあります。

何が起きてるのか、どうしておくと無難なのか、現在の知見をまとめます。

Zbrushのバージョンは2022.0.8です。


Suvとは?問題点は?


これをOnにすることで、Sdivを上げたときにMayaのSmoothのUVオプションでいうPinBorderの形でUVにスムースがかかります。

それだけ聞くとよさそうなのですが、この機能には現状問題があり、スカルプト作業しながらSdivレベルを上げたり下げたりするたびにスムースがかかってしまい、どんどんUVの形が変わってしまします。

こうなってしまうと、Mayaで使うモデルとUVが乖離してしまい、Displacementなどテクスチャのベイクで問題が起きます。

なのでSuvはオフにして作業している人が多いかと思います。

この問題はバージョン3.7くらいではすでに報告されており、昔から言われている問題です。

ここで問題なのが、ある程度のハイポリで他ソフト(SubstancePainterやMariなど)にモデルを持っていきたいときに、UVのSmoothがかかっていないLinear状態のモデルになってしまうので、レンダーするときのUVSmoothのオプションによってはマップにずれが生じます。

ReUV機能について

上記の問題を解決するのにReUV(RecalcUV)機能を使います。

SuvをONにしても既存のSubdivisionレベルのUVは更新されません。

ReUVを実行することで、現在のSubdivisionレベルに対してUV Smoothが再計算されます。

例えばsDiv5まであるモデルがあって、sDiv3のものを書き出したい場合。

①セーブする。

②sDiv3にする。(自分が書き出したいsDivレベルにする。)

③Suvをオン。

④Reuvを押す。

⑤モデル書き出しして、セーブせずZbrushを落とす。(Zbrush上では変更を保存したくないため)

以上です。

これでUVSmoothがLinearからPinBorderに変更されたモデルを受け渡しできます。


ZbrushのUV運用の結論

現状は

スカルプト作業中はSuvをオフ

必要に応じてReUVを使ってジオメトリ書き出しを行う

です。

異論は認めますが、いろいろな問題にぶつかってきた中で、現状これが一番無難です。