今回の記事から実際のサブディビジョン・モデリングの手順とコア技術について解説します。本来ならば有料記事としたいところですが、この手法の有効性を知ってもらうこと、そして普及することを願って、無料記事として公開することにしました😊
技術情報だけでも1つの記事に収まらないのでここから数回に分けて技術的な実行手順とその理屈を説明していく。
更新履歴
2024/01/14 公開。
(約 3,600文字の記事です。)
当手法の特徴の確認
1オブジェクトあたり上限約5万ポリ※でサブディビジョン・モデリングとスカルプト、シェイプキー変形と編集モードを全て使うことができる。
1オブジェクトあたり最大5万ポリね。1キャラあたりの総ポリゴン数ではない点に注意。オブジェクトが複数に分かれていれば1キャラあたりのポリゴン総数はPC能力の上限まで使えます😊
- 純粋な静的メッシュの四角ポリ数は1オブジェクトあたり最大約5万ポリ
- サブディビジョン・モデリングの下3段、上1段まで
この場合、以下の全ての機能を利用できる。
- シェイプキーにスカルプト変形を記録させ、いつでも可変できること
- スカルプトモードを普通に利用できること
- 編集モードでスカルプトしたメッシュを編集できること
- ベースメッシュ(最下位メッシュ)のトポロジ構造をいつでも変更可能
- その場合でもシェイプキーの変形情報(スカルプトによる変形情報)は維持される
- その場合でもサブディブの各情報も維持される
- 当然ながらリグポージングやカーブオブジェクトなども普通に使える
その他の詳細は前回の記事をご覧下さい。
逆転の発想「サブディブを下げる方向で」
サブディビジョン・モデリングを説明する上では少しだけZbrushに触れることになる。ディビジョンレベルの切り替えとスカルプトの強力さはZbrushの魅力の一つだ。なのでZbrushの仕様がある種の基準となってしまうのも仕方のないことだ。
だが本当に重要なのは手法の仕様ではなくて、ディビジョンレベルのある程度の範囲内でのレベル切り替えと、サブディビジョン・モデリングの特徴を使えることなのだ。なのでZbrushの実装でなくてもいいわけだ。そして色々試行錯誤した結果、Blenderの弱点を埋めつつサブディビジョン・モデリングを実現できる手法に辿り着いた。
最初に完成時用のミドルポリメッシュを用意する
だた当手法では逆で、最初に「必要なポリゴン密度」までディビジョンレベルを適用したミドルポリメッシュを静的メッシュとして確定させてしまう。
なぜここでミドルポリ?完成型ならハイポリじゃないの?
もちろん本当の出力用データとしてはハイポリになるのだが、それは最後の最後にサブディビジョンサーフェス・モディファイアをメッシュとして適用した瞬間にハイポリになる。ここでミドルポリと言ったのはディビジョンレベルの上げ下げやスカルプトをシェイプキーで自由に可変させるといった編集が可能な最大のポリゴン密度、という意味なので、ミドルポリが作業上の最大ポリゴン数と同じ意味で言っている。
例えば以下の画像。そう、木の枝です。木の枝を縦に置いただけです。こぶや膨らみのある木の枝です。それ以外の何物でもありません😅
注目すべきはオブジェクト情報。四角面が約2.5万ポリ。今回はこの木の枝を例に挙げて説明する。くどいが、木の枝です。念のため。1オブジェクト5万ポリの半分なので十分条件を満たす。
次の説明を分かりやすくするために、以下ではオブジェクトモードやスカルプトモードでもメッシュのフレームを常時表示させている。
2.5万ポリだと割とハイポリ寄りのミドルポリだと分かる。
もちろんこれでスカルプトするとトポロジに逆らうブラッシングですぐにガタガタする。なので「これで何での自由にスカルプト」とは行かない。そもそもそれができないからこそ、今回の造型手法を模索したわけで。
あくまでも「スムーズで滑らかな木の枝」を作ることが今回のサンプルの造型目的だ。なので以下のサンプルでもスカルプトのガタツキや滑らかさを見るのではなくて、これに対してスカルプト操作が反映可能かどうかを判断する実験・サンプルだと理解して欲しい。
デシメート・モディファイアをセットする
初めて聞いた人も多いだろう。私も実際にこれを試したのはこの逆転の発想の手法を実験したときだった。
そして「分割の復元」を選び、反復を0から2, 4, 6と変えてみよう。すると!
どんどんとサブディビジョンレベルが下がっていくことが分かると思う。
反復が偶数回で1レベル分下がる。奇数の斜めメッシュは何とも不思議だ。(将来的に何かに活用できるかも知れないが今は割愛。)
レベルダウンの下限は「元のポリゴンレベル」まで
復元回数=6は、3レベル分下げたことになる。だが①~③を見て欲しい。謎の三角ポリが現れた。なぜか?
実はこの木の枝のメッシュは製作時には全て四角ポリでできている。そこから2レベル上げたサブディビジョンサーフェス・モディファイアを適用してミドルポリにしたわけ。なのでこのミドルポリの場合、実は2レベルダウンで製作当時のトポロジになった。
なので1レベル分「下げすぎた状態」なのが反復6の状態。なのであり得ない三角ポリが出現し始めた。
もっとも、Zbrushであってもサブディビジョンレベルを無限に下げられるわけではないのであくまでも当手法の注意事項の一つとして理解して欲しい。
デシメートの復元回数が多いほどPCが重くなる
これも試してみれば分かる。デシメートの復元回数が多いほどPCが重くなっていく。ズバリ演算量が4のN乗倍で増えていくのだろう。なので当手法の制限で「ディビジョンレベル下げは3回まで」と制限したのは、こういう現実的な制限によるものだ。
そしてディビジョンレベルが下3段まであればもう十分だろう。
そしてこの演算負荷は、静的メッシュのポリゴン数が多いほど、重くなる。なので今の2.5万ポリの3レベル時のPC負荷よりも、5万ポリの3レベル時のPC負荷が高くなる。
そしてこのモディファイアの都合だけではなくて、次回記事にする色々な手法についても、やはりというか、ハイポリを扱うことはほぼ現実的ではない。3~4万ポリ程度かそれ以下で運用する造型にこそ利用できる。
もし数十万ポリのハイポリが必要なら、残念ながら当手法は使えないが、Blender 4系ならばモディファイアなし・シェイプキー変形なしならば800万ポリまではサクサク動くので、スカルプトモードオンリーのワークフローを試すことになる。あるいは素直にZbrushを使うか。
ミドルポリ以下を前提としたワークフロー
なので当手法のサブディビジョン・モデリングは基本的にほとんどの工程をミドルポリ以下でモデリングすることが前提となる。Zbrushでのサブディビジョン・モデリングも最初はローレベルからスタートし徐々にレベルを上げるように、当手法も最初にミドルポリにして作業をしてもいいが、今回のようなPC負荷の問題があるので、ギリギリのハイポリ寄りに無理にしなくてもいい。
どちらかというとローポリとミドルポリの間の静的メッシュを用意して作業を開始した方がいいかもしれない。(別記事で説明するが、Zbrushと同様に、ディビジョンレベルをあとから上げることは可能。ただしPCが動くポリゴン密度の範囲内=5万ポリ以下に限る。)
今回は「デシメート・モディファイア」という逆転の発想でサブディビジョン・モデリングを実現させるというコア技術の紹介でいったん区切ります。次回をお楽しみに😊
今回の創作活動は約3時間30分(累積 約3,705時間)
(959回目のブログ更新)