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

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

スカルプト造形にはまだZbrushが必須。Blender 2.9系の追い上げはこれから(2020年10月)

(約 7,300文字の記事です。)

f:id:yamato-tsukasa:20201025015227p:plain

ここしばらくBlender2.90.1、2.91ベータ、2.92アルファのスカルプト能力を探っていた。結論を言えば、スカルプト造形を要する人にとってはまだまだZbrushが必須であり、Blenderのみ(脱Zbrush)というワークフローはかなり厳しいと感じた。

Blender 2.92アルファまでで実際に触って感じたこと

アルファ・ベータ版は本当に毎日更新されるので日々バグの出入りがあるので、あくまでも自己責任で「試す」だけにした方がいい。間違っても業務に組み込んではいけない。危険すぎる。

で、2020/10/24現在のBlender 2.92アルファ版まででいいなと感じた部分のみ簡単にご紹介。

アルファ・ベータ版利用時のお約束手順

どうやら機能によっては以下の項目をONにして、実験的な機能のタブから更に必要な項目に手動でチェックを入れないと表示されない項目があるらしい。アルファ・ベータ版を使うまで知らなかった。

f:id:yamato-tsukasa:20201024232527p:plain

情報提供ありがとうございます。

Histone (@histone_zb) | Twitter

なお、アルファ・ベータ版では新機能のテスト導入と削除(延期など)が頻繁に行われているので、あるはずの新機能があったりなかったりする。その辺のトラブルシュートなども全部自分で面倒見れる人しか触ってはいけないシロモノだ。決して安定版のソフトウェアではない。不安を感じる人は触ってはいけない。安定版が出るまで待つべし。

アルファ版・ベータ版はボランティアのベータテスターに対して公開されているだけ、と思った方がいい。あるいは新機能をチラ見したい人向け。

ZbrushのMove F, Move Bブラシ相当の実装

榊馨氏が配布しているMove F, Move Bブラシはこちら。

ZbrushのMoveF, MoveBブラシのサイズが急に変わる(固定したい) - 3DCGで何をどう作るか考え中

これと同等の動作をするブラシをBlender 2.92アルファで体験できる。

具体的にはグラブブラシのシルエットモードをONにすると、カーソル中心の法線方向にブラシ範囲内の面が移動する。

f:id:yamato-tsukasa:20201024234844p:plain

Move F, Bと違ってドラッグ方向に応じて法線方向の正負のどちらにも移動可能だ。

Pablo Dobarro on Twitter: "The Grab Brush has a new option to deform only the silhouette of the mesh without modifying the opposite side of the shape. #b3d #devfund https://t.co/Knbg5M8xtz… https://t.co/g8aqDWLMXh"

これは動画のように指のような近接する部位を太らせたり細めたりするのに役に立つ。スカルプター待望の機能が早くも登場の兆しを見せた。

トリム系ブラシの実装

f:id:yamato-tsukasa:20201024233930p:plain

要するに投げ縄選択ツールや矩形選択ツール、直線描画ツールを使ってメッシュを直接ブーリアン減算して削る機能。だいぶZbrushの機能に近づきつつある(Blender 2.91ベータに実装中)。

f:id:yamato-tsukasa:20201024235205p:plain

ただし直線ツールは「ライン投影ブラシ」とあるように、投影であってトリミングではない。なので平面上に「潰す」だけであってブーリアン減算ではない。今のところ。なので直線トリムをするためにはこんな感じで投げ縄ツールの直線部分を使う必要がある。今のところ。

f:id:yamato-tsukasa:20201024235325p:plain

ま、ベータ版なのでまだ不安定な所もある。くり抜き方によっては厚さゼロの平面ができたりする。また投げ縄ツールによる断面はBlenderの自動機能に依存してガタツキが決まるのでイマイチ綺麗なエッジにならなかったりする。矩形ツールで四角形にくり抜く分には何の問題もない。

スカルプトモード自体の動作が軽くなってきた

要するに以前はもたつくほどのハイポリであっても、2.92アルファでは軽快さが出てきていて、ハイポリの上限の限界が上がったってことだ。とはいえ、基本的には200万~800万ポリがBlenderで快適に扱えるハイポリの上限だと思った方がいい。

ただしこれは今後更に上がる可能性もあるが。

脱Zbrushは難しい。Zbrush+Blenderで効率化を模索するのがいい

Blender 2.9系のスカルプトの伸びしろを説明したが、残念ながら現状では、スカルプトを要するワークフローを抱える人にとっては、色々な点から考えてもZbrushを利用した方がスムーズに行くだろうという点がたくさん見つかった。なので現状では、脱Zbrushは難しく、Blenderが得意なところをBlenderを使って補いつつ、Zbrushが得意なところはZbrushで処理する、というZbrush+Blenderという構図は変わらない。

まだまだZbrushなしでのワークフローを作ることは難しいと感じた。

なお、ローポリモデリングまでならばBlenderのほうがZModelerよりも便利に使える(複数要素の選択や各種アドオンによる効率化)。なのでローポリモデリングの効率化を模索するためにBlenderの操作方法+ローポリモデリング手法を学ぶ価値はあるだろう。

Zbrushでは簡単だがBlenderでは難しい項目

スカルプト作業でZbrushでは簡単だがBlenderでは難しいと私が感じた項目をまとめてみた。あくまでも私がそう感じたこと。書き殴った後に重要度順に整理してみた。

  1. マスク+ポリッシュ系機能による半自動スムーズ化
  2. ポリグループの活用
  3. 快適なスカルプト体験(手ぶれ補正、ブラシ種類の多さ、有料・無料のカスタムブラシやアルファブラシ)
  4. メッシュが粗く見えたら即ディバイド
  5. 一時的であっても200万~800万ポリを超えるようなハイポリによる細部のモデリング
  6. ディビジョンレベルを生かしてノーマルマップ・ディスプレースメントマップなどを出力可能(ゲームエンジンなどでローポリのまま高い表現力を保持できる)
  7. 超絶ハイポリメッシュからでもデシメーションマスターによるZbrush内ワンストップで軽量なSTLファイルなどを作成可能

今回は各項目について解説はなし。

こうして見るとZbrushのほうが「面の集合体としての扱い方」にまだまだ歩があり、秀でている点でもある。様々な自動マスク機能とポリッシュ機能とを組み合わせることで広大な面積を一瞬で磨き上げることができる。こういう半自動化が重要だったりする。またポリグループの活用もこういう半自動化に貢献する。

現状ではBlenderのFace Setsはまだ未熟で、ポリグループの代替相当にはなっていないと感じる。だからBlenderでのスカルプトでは歯がゆさを感じることが多い。

他、やはりポリゴン数が数千万に達するような高精細な表現をした後であっても、そこから高解像度のノーマルマップに落とし込んでメッシュ自体はミドルポリ程度に押さえ込める点も見逃せない。一時的であっても数千万ポリゴンを軽快に扱える点はZbrushの凄いところだ。このように超絶ハイポリをあっさり扱える点はBlenderが(DCCツールという原理上)達し得ない部分ではないか、と感じている。

もちろん将来的にBlenderもそれほど軽快になってくれる可能性はあるが、1頂点当たりに付加される情報量がZbrushとBlenderとでは違いすぎるので、扱う情報量が違うという根本をどうやって解決するのか、見当が付かない。なので無理ではないか、と考えている。

あるいはZbrushモードと呼べるような「一時的に取り扱い情報を削除して軽快に動くモード」を実装するとか?あくまでも私の妄想。

結論 スカルプト造形後の処理でZbrushでしか扱えない内容がある以上、Zbrushは必須

例えば作業上で一時的で200万~800万ポリゴンを超えるならばZbrush上で作業する事が必要になるだろう。また、最終出力がローポリ+ノーマルマップであったとしても、その出力の途中でこれまたハイポリになるならば、ハイポリ化している工程はZbrush上で作業することになるだろう。Blenderでのスカルプトで「代替が効かない」工程がある以上、Zbrushは必須ということになる。



とはいえ、もちろんBlender内でスカルプトと他の作業のアウトプットまでワンストップにするメリットもある。

Blender内でスカルプトを完結させるメリット

  1. モディファイアを適用したままスカルプト変形可能
  2. スムーズシェード表示によってローポリでもミドルポリのようなリッチな見せ方が可能(シェーダー表現限定だが)
  3. リグ入れ後のポージングの可逆性(初期ポーズをキープしているのでポーズライブラリでいつでも自由にポーズ変更可能)
  4. リグポージング状態でトポロジ変更可能
  5. ほぼレンダリング出力に近い見栄えのままでスカルプトできる
  6. (BPainterアドオンなどを使ってレイヤーを使った塗りが可能(テクスチャ塗りだからローポリでもOK))

主にリグによるポージングの可逆性と、モディファイアを適用したままスカルプトできる点と、シェーダー由来の見た目の良さ・最終出力に近い見た目のままスカルプトができる点。ポージングの可逆性と見た目に関する内容が多い。

ただ、これらは使い方次第でZbrush経由でも克服できる部分も多い。フィギュア用のポージングなら後半戦に向けてどんどんポージングの変更が減るので微調整ができればそれでいい、ということは可能だ。見た目のリッチさもZbrushでハイポリ化してしまえば問題ない。ポージング中のトポロジ変更も、要するにポージングを完成させてしまえばトポロジ変更とリグとは何の関係もない。そもそもA, Tポーズでキャラを完成させた後のリギング・セットアップは、従来から作業として切り分け可能であったわけで、何のツールでスカルプトしたかは問題にならない。

BPainterアドオンによるテクスチャ塗りも、Zbrush上でミドルポリ+ノーマルマップをBlenderに読み込ませれば見た目そのままで塗りができる。

唯一、Blenderでのみできることはモディファイアを適用させながらスカルプトでリアルタイムに頂点を移動させることができる点だ。これはZbrushではできない。モディファイアの可逆性を確保しつつ、リアルタイムで頂点群をブラシで移動させられる点は、Blender内でスカルプトするメリットになる。

シュリンクラップを使って表面にテクスチャみたいな模様を追従させつつ表面をスカルプトする、など。

……、が今のところそれくらいしか思いつかない。

ローポリ限定のスカルプトでぶつかる壁=トポロジに逆らう鋭利な部位の造形

f:id:yamato-tsukasa:20201025012612p:plain

ローポリのままスカルプトして問題が起こらないのは、マシュマロのような全体的に丸い形状。そしてローポリスカルプトで問題になるのは、エッジの方向(トポロジ)とは無関係な方向に鋭利なエッジを作ろうとした際に、四角いポリゴンが急に目立つようになること。これはリトポをして凸部の頂点に沿ってエッジを用意できれば回避できる。だが、スカルプトでは先に四角いメッシュがあって、後からブラシで自由な方向に凸部を作るわけだから、この順番は逆になり得ない。となると、一時的であるにせよ、凸部の頂点に沿って頂点を並べられるほどの高密度メッシュが必要になる。それが用意できた後にリトポすれば、確かに凸部の頂点に沿ってエッジを用意できる。が、問題はBlenderではその一時的なハイポリの上限が、現状では実質200万~800万に制限されている点なのだ。リトポ後に200万ポリ以下になっているかどうかではないのだ。

同様に、谷部分や鋭いエッジが線状に必要な場合についても、その方向に沿ったエッジがなければガタツキとして目立つ。

ハイポリのメリットは「トポロジを無視して造形できる」こと

ハイポリ化すると、こういうトポロジ依存の造形が減るので、ディビジョンレベルを上げると滑らかに見えるのだ。シンプルだが、そういうことだ。なので超絶ハイポリになれば、実はトポロジを無視して「粘土をこねるような自由な造形」が可能になる。Zbrushの売り文句と同じだ。そのためには超絶ハイポリを軽く扱える必要があり、Zbrushはそういう進化をしている。

それに関連して超絶高密度テクスチャもそのポリゴンから取得して出力できることも、Zbrushが元画像作成ツール(お絵描きツール)だった点からも分かる。

Blenderではメッシュをこまめにオブジェクト化することで勝機がある

もちろんBlenderでも1つのオブジェクト当たり200万ポリ以下にすれば常に軽快なので、メッシュの島を小分けのオブジェクトにすればかなりハイポリにしても200万ポリ以下にできるので、疑似的にハイポリのままスカルプトが可能だ。Blender 2.9系ではスカルプトモードのままホットキーでオブジェクト選択を切り替えられるように実装している。この辺と関連するだろう。

ただしその工夫は「本質的に形を作る、スカルプトする」こととはまた別の工夫やコツによってオブジェクト分割する必要があるので、クリエーターの負担になる。慣れればできるが「慣れないとできない」作業なのでそれは最初の目的である「形を作る」こととはまた別の能力だ。例えばミドルポリの全身ポリゴンなら200万を超えるが、服を着て隠れる部分で手足などを分割すれば各オブジェクトを200万ポリ以下にできる、という工夫。でもZbrushでならば最初から全身一体のハイポリでもOKとなると、スカルプトの自由度が高いことは明らかだ。

まとめ

  1. スカルプト造形が必要ならばどうやってもあと数年はZbrushが必要
  2. ローポリ限定、トポロジ操作限定、リグ入れによるポージングの効率化などを考えればBlenderが有利
  3. 要するにワークフローにスカルプト作業があるかどうか
  4. ローポリモデリングはBlenderのほうがZModelerよりも格段に便利

これが現時点での私の結論。Blenderのスカルプト能力向上の躍進に少し夢を見たが、最終的に実用レベルで考えてみると、まだまだスカルプト造形ありきの作業ではZbrushを外すことは難しい。なので効率化のためにBlenderをどうやってワークフローに組み込むかを考えた方がいい。

同様に、ローポリモデリングではもちろんBlenderが有利なので、ZModelerよりもBlenderでの頂点操作系を身に付けて王道のローポリモデリングの旨味を引き出した方が効率的だろう。

布ブラシや布シミュレーションが話題になったものの、スカルプトという本質を見つめ直した結果、そういったものではない根本的な部分で、スカルプトとハイポリと軽快さとの関係がよく分かった。スカルプトについては軽快に扱えるポリゴン数が絶対的な実力につながることは覆しようがない。その点で言えば、Zbrushはまだまだ本質的にライバル不在の一人勝ち状態ということになる。

もちろん今後のBlenderの成長にも期待したい。だが、今、現状では、Zbrush抜きにスカルプトの作業工程を運用することはかなり難しいだろう。





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

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

ZBrushで作るミニチュア胸像造形技法

ZBrushで作るミニチュア胸像造形技法

  • 作者:Histone
  • 発売日: 2019/06/09
  • メディア: Kindle版