3DCGで何をどう作るか考え中

ZbrushとBlenderの使い方、ヒント、コツなど。たまにZbrushプラグイン開発も。

Zbrushで交差したクリース線の注意点(変な突起ができる)

(約 3,200文字の記事です。)

f:id:yamato-tsukasa:20210218002909j:plain

Zbrushではローポリから作成した際にクリースをかけてからサブディビジョンレベルを上げるという手法がよく使われている。だがクリース線が特定の条件で交差すると、サブディビジョンレベルを上げ続けても消えない突起ができてしまう。今回はその原因と対策の解説。

突起部、凸部なら問題なし

f:id:yamato-tsukasa:20210218003000j:plain

このように、クリース線が交差する部位が外向きに突出している場合は、特に問題ない。

谷、凹部、へこみでクリース線が交差したらNG

f:id:yamato-tsukasa:20210218003013j:plain

逆に、全体的にへこむような形状でクリース線が2本以上交差するならば、それはもうNGだ。サブディビジョンレベルを上げれば上げるほど、このように消えない突起ができる。そしてこれの根本的な解決法はないと思う。転写などの色んな手法を検討したが無理だった。強いて言えば「Undoして戻って、サブディビジョンレベルを使わない」ことくらいだろう。(理由は後述)

f:id:yamato-tsukasa:20210218002909j:plain

極わずかにだが、とんがって見える。眺め回してみると、確かに歪んでとんがっている。その後、マスクとスムーズブラシを駆使して見るも、どうにもしっくりこない。なぜだ?

突起の原因 クリース線の交点は移動しない

f:id:yamato-tsukasa:20210218005339j:plain

サブディビジョンレベルを上げると、普通の四角ポリゴンはカトマル・クラーク法によってわずかに縮退する。縮みながら角丸を作るわけだ。だがクリース線が交差した所にある頂点は、サブディビジョンレベルを上げても動かない。微動だにしない。これが原因だ。つまり、サブディビジョンレベルを上げたときに、

  1. クリース線の交点は移動せず
  2. それ以外の周りの四角ポリはどんどん縮退する
  3. (交差しないクリース線は径方向にのみ縮退する)

なのでサブディビジョンレベルを上げるほどに、クリース線の交点以外は縮む(移動する)ため、移動しないその交点だけが突起として残って目立つわけ。これが原因だ。

突出しているわけではなくて、周囲の頂点が全体的に内向きに縮んだ結果なのだ。

だから、メッシュの形状によっては全体が縮退しにくい形状の場合には、この突起が目立たない。それはそれでいいことなのだが、逆に、クリース線の交点付近でメッシュの表面のカーブが大きく変化する場合、この頂点は目立つことになる。そして根本的にこの突起は解消できない。ごまかせるかどうかは周囲のメッシュ形状に依存する。だから厄介なのだ。

うまくいく時もあれば手こずるときもあるというのが一番厄介。

これを手動で修正することは基本的には無理です。メッシュの形を多少いびつにして妥協してOKとするか。(もちろん微細なパーツについてはそれがむしろ王道です。)

ただし、修正するのではなくて、修正しなくても問題ないメッシュを作る方法はいくつかあります。

根本的には「ブーリアン演算」か「形が決まってから押し出し」など

この突起を数学的に出さないようにするためには、

  1. ブーリアンで形を作る
  2. 形を決めた後にサブディビジョンレベルを上げない

この2択だ。サブディビジョンレベルを上げると形が変わり、クリース線の交点だけが位置が変わらないからこそできる突起なので、サブディビジョンを使わないことが一つの解決策となる。(まぁ、それができないから困るわけだが。)

完成したらブーリアン結合する場合、結合部位には三角ポリが量産されるが、形状が維持された新メッシュが出来上がるので、当然ながら上記のような突起はできない。(その代わりサブディビジョンモデリングは以後できないことになる。)

もしFusion 360などのCADソフトでSTLで三角メッシュで出力するのであれば、ミドルポリ以上のハイポリの三角ポリで出力すれば綺麗に出力できる。ただし当然スカルプトなどはできないので、完成型としてZbrushに受け渡すのみだ。ほとんどの場合はデシメートされるだけだろう。

現実的な手段「ループエッジの挿入」

f:id:yamato-tsukasa:20210218011252j:plain

f:id:yamato-tsukasa:20210218003906j:plain

コントロールエッジなど、色々呼び名はあるが、要するにクリースが欲しいエッジ付近に「それと平行するループエッジを近接させるか挿入する」ことでサブディビジョンレベルを上げるほどに鋭いエッジとなるように、トポロジを制御するわけだ。疑似クリースと言える。

とってもレガシーな方法。枯れた技術。ただし前提条件として「周囲が全てループエッジで構成されていること」という厳しい制約がある。(そうしないと変なところに変な山盛り表現が無数に出現するw )そしてトポロジ制御の話になる(笑)
トポロジ制御が自由になった「その向こう側」にあるもの - 3DCGで何をどう作るか考え中

なので、どっちの方向をクリースで済まし、どっちの直交する方向をループエッジで疑似クリースにするかを考える必要がある。

それが面倒ならば、最後の最後にブーリアン結合するか、あるいはCADなどで一発出力して一切メッシュに触らない。これしかない。



なんだか色々検討した割には、ごく普通の結論になってしまった。車輪の再発明か、無駄なことをしたのかもしれない。だが、トポロジ制御の自由を手に入れた上で検討してみても無理だったとなると、知識や技術の違いではなくて、どうやら原理的に無理っぽい、という確証を得た。これは私にとっては重要なことだったりする。揺るがない原理だと分かったので、もうここに深入りすることはないだろう。





今回の創作活動は約1時間30分(累積 約2,266時間)
(694回目のブログ更新)

筆者はAmazonアソシエイト・プログラムに参加しています。(AmazonアソシエイトとはAmazon.co.jpの商品を宣伝し所定の条件を満たすことで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下のリンクを経由してAmazonで何かを買うと購入額の1~3%ほどのお小遣いが私に寄付されます(笑)

ZBrushでメカを作る! ZModeler超入門講座

ZBrushでメカを作る! ZModeler超入門講座