今回からBlenderでサブディビジョン・モデリングを行なうための記事を執筆していく。その前にBlenderでのサブディビジョン・モデリングについて少し解説をしておきたい。最初はしばらく座学となる予定。
更新履歴
2024/01/07 公開。
(約 3,700文字の記事です。)
モディファイアが2つもある
Blenderではサブディビジョン・モデリングを実践するためのモディファイアが2つもある。いきなり混乱の種。
マルチレゾレゾリューション・モディファイアとサブディビジョンサーフェス・モディファイアだ。
モディファイアが2つある以上、実は一言でサブディビジョン・モデリングと言っても実は機能的には2種類に分かれる。なので正しいサブディビジョン・モデリングの理解が最初に重要になるのだ。
サブディブ・モディファイアは「滑らかにするため」
サブディブ・モディファイアは曲面を滑らかに見せるために使う。まずはこの説明が一番分かりやすいだろう。
Zbrushユーザーでもサブディビジョン・モデリングと言えばこの理解の人が多いと思う。
だがBlenderでのサブディビジョン・モデリングでは、このサブディブ・モディファイアでもう一つの別の使い方ができる。
山と谷の「丸さのコントロール」
Blenderではクリース値が0~1の間も指定可能
Zbrushではクリース値が0か1かの二択だ。なのでハードサーフェスモデリングで「角をキッチリ出す」とき以外にクリースの出番がなかった。
だがBlenderでは驚きの0~1の範囲内で少数点の値を指定できるのだ。
動画の調整方法以外にも、エッジを複数選択して右クリック>辺のクリース、マウス移動操作でも調整可能。(クリースについては各自で学習して下さい。)
凸部の角だけじゃなくて当然谷となる凹部のクリースも同様に制御できる。
またエッジだけではなくて頂点にも頂点クリースを設定できる。なのでとがらせることはとても簡単だ。
(Blenderでは厳密には-1~1の範囲でクリース値を設定可能。-1の意味は?これ、実はあとからクリース値を変更するときにマイナス値を指定することで既存のクリース値から減算できるのだ!例えば既存のエッジを複数選択して「全体を-0.2だけ減らす」という演算が新規クリース設定で行える。そのためのマイナス値が用意されている。なおクリースの掛かり具合そのものは0~1の範囲で変形するという理解でOK)
なのでBlenderでのサブディビジョン・モデリングでは角の丸さの制御について「クリース値の制御」という技が使える。なので必ずしもコントロールエッジの追加とエッジ間の間隔調整による角丸コントロールに限らない。
実はBlenderのサブディビジョン・モデリングのメリットの一つはこの「クリース値の調整」による山や谷の丸さの制御なのだ。
そして最終的にモディファイアを適用してしまえば今見えている形がそのまま静的メッシュとして確定される。なので直前までクリース値による丸さの制御を可逆に調整できる。
この点で言えばBlenderのサブディビジョン・モデリングはZbrushよりも便利ということになる。(もちろんBlender以外のツールと連携して使いつつクリース値制御を行なうとなると色々と気を使うことが増えてくるのだが今は割愛。)
エッジループの挿入による角丸のコントロールからの脱却
クリース値制御のメリットは無駄な「角丸コントロール用のエッジループ」を挿入せずに済む。これが重要。ループエッジ間の幅での角丸制御の弱点は「形を表現するための適切なのトポロジを壊し、形を制御するための不適切なトポロジを要する」という矛盾を産む。トポロジを制御することで形を制御するという逆転現象が問題なのだ。
それに対してクリース値の制御ではトポロジ変更が不要なので本質的だ。欲しい形のためだけのトポロジをキープできる。
ハイポリ化のためのマルチレゾ・モディファイア
次にマルチレゾ・モディファイア、これのほうがZbrushのサブディビジョンの上げ下げに対応する機能になる。詳細な解説は割愛するが画像を見れば分かるだろう。
ではBlenderのマルチレゾでZbrushと同じスカルプトができるのか?と言われれば、結論から言えばNoだ。このマルチレゾ・モディファイア、上図のような機能の対応関係なのだが、残念ながらほぼ実用に耐えない。
マルチレゾ利用中に中間メッシュを編集モードで操作できない
これはスザンヌをマルチレゾで4段階細分化したときのスカルプトモードと編集モードの切り替えの動画。クリース値も効いているのが分かる。
なのでこのハイポリ状態で、確かにスカルプトモードではスカルプトできるのだが、いざ編集モードに入ると、最下位レベルのローポリモデルしか編集モードで制御できない。
これはZbrushユーザーからすればあり得ないことだろう。Zbrushでは自由なサブディブ・レベルの変更と、いつでもギズモで編集できたわけで。ところがBlenderでは、編集モードではモディファイアが解除された状態でしか操作できないので、Zbrushのような中間レベルのメッシュを編集モードで操作できない。これは痛い。
もちろんスカルプトモードでもギズモ操作は可能だが、Zbrushと比べるとかなり操作性が落ちる。また編集モードのような操作感とも異なる。とても使いにくい。
スカルプトモードで操作するのであれば簡単。シンプルにマルチレゾのレベルを上げ下げするだけでいい。
マルチレゾの再構築が使えない理由
次の発想として「一度中間レベルでマルチレゾを適用して静的メッシュに確定させてしまえば?」という考えが出てくる。でもこれもまた惜しいが、使えない。
- 普通にやるとハイポリ側のディティールが消滅する
- マルチレゾの再構築をするとシェイプキーが消滅する
- メッシュ適用後にトポロジ変更を1つでも行なうと再構築ができなくなる
①はまぁ当たり前で、中間メッシュを静的メッシュに確定させるためにはそれまでスカルプトしたハイポリのディティールを失うことになる。これはまぁ予想できる。(なお裏技的に復元は可能だが、別の理由でやはり却下。)なのでサブディビジョン・モデリングの旨味がなくなる。
②は致命的で、マルチレゾの再構築をするとどうやら頂点番号がまるっきり変わるらしく、それに関連するのか分からないが、それまでのシェイプキーが全て消滅する。頂点数が同じだからと言ってシェイプキーを移植しても正しく変形しない。やはり頂点番号の振り直しが行なわれているようだ。これは致命的。シェイプキーに記録させたスカルプト変形情報が失われるとなると、かなり使いにくいワークフローになってしまう。(なおマルチレゾ利用中のスカルプト変形情報はシェイプキーに保存できない。編集モードで見える頂点の移動情報しか保存されないため。)
③についてはZbrushでも然りで、メッシュ確定後にカトマル・クラーク法に沿わないトポロジになっていれば再構築はできない。これについても裏技的にチカラ技で何とかローポリ側のメッシュを強制的に取得することは可能なのだが、その際にトポロジ構造の破壊が起こる「リスク」がある。それを回避することも可能だが、もうはっきり言ってかなり細かい話になるので、これも現実的じゃない。
なのでBlenderのマルチレゾ・モディファイアは、Zbrushの機能に似て非なる物だったのだ。まったく使い物にならない。
Blenderのサブディビジョン・モデリングは絶望的?
そうなるとハイポリ側でのスカルプトを利用しつつ、サブディビジョン・モデリングで利用できないのか?う~ん、一般的にはそうなるだろう。そういう結論に辿り着くのが普通だ。
だが当手法では別の方法で、ギリギリ何とか実用レベルで上記の問題は回避することに成功した。次回はその続きの解説です😍
今回の創作活動は約2時間30分(累積 約3,701時間)
(957回目のブログ更新)