画力がないなら立体を作ればいい

「何を作る」より「どう作るか」を考えたい人

Zbrushで作ったメッシュの変形の自由を得た瞬間

(約 5,000文字の記事です。)
f:id:yamato-tsukasa:20190920004155p:plain
今日はとても大きなブレークスルーを得た。Zbrushで作ったメッシュをBlenderに移してリグ入れとウェイト塗りを完成させることができた。つまり、今後、Zbrushで自由に形を作り(必要ならばリトポなどしてローポリ化し)、Blenderに持っていってリグ入れとウェイト塗りの調整をすれば、自由な造形物を自由にポージングさせることができるのだ。ついにここに到達した。

Zbrushで作り、Blenderで思い通りにポージングさせる

これなんだ。Zbrushでモデリングし、Blenderでポージング。今回はテスト的な単純なメッシュだが、これができたということは、複雑なメッシュでも地道にリグ入れとウェイト塗りをすればポージングに8割耐えうるポーズ可能メッシュが出来上がる。

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

Zbrushのポリグループ情報を利用してBlender上で範囲選択を楽する

ZbrushからGonBプラグインを利用してメッシュを渡してみた。恐らくはFBXでもOBJでもいい。ここでポイントは「ポリグループの頂点情報を頂点グループとしてBlenderに渡す」ということだ。それを利用するので今回のウェイト塗り作業では頂点選択は基本的に頂点グループ(ポリグループ)を選択してボタンクリックで済ませている。私の知識でZbrushとBlenderとがようやくリンクし始めた。

Blenderのオートウェイトは修正前提

だいたいいい感じのウェイトができるが、完璧ではない。なので範囲選択により頂点を適切に選び、指定したウェイト値で塗りつぶす必要がある。

以前はその方法すら分からずシコシコとブラシで塗って、メッシュの裏側を塗れずにイライラした。
この時期です。
f:id:yamato-tsukasa:20190917173749p:plain


が、今は違う。ポリグループの範囲を呼び出してウェイト値を0だったり1だったりにボタン一発で綺麗に塗りつぶす。それだけ。瞬殺だ。
最初はこんな感じでぐにゃりだった床板用のウェイト値が、
f:id:yamato-tsukasa:20190920001932p:plain

2,3クリック後にはこんなにスパッと。もちろん3本の柱の動きからの影響はなく、水平に置いたボーンにのみ追従。ここまでの作業でウェイトブラシは触る必要すらない。
f:id:yamato-tsukasa:20190920001959p:plain

ZbrushでもBlenderでもマスクは重要

あとは各関節部分を練習がてらウェイト値を伸ばしたり圧縮したりを試してみた。ウェイト値は滑らかにスムーズに変えることが難しかったが、Blur, Smearブラシでいい感じに調整できることが分かった。何もバカみたいにウェイト値+ブラシで塗りたくる必要はない。

柱の根元のウェイト値も、知識がなければブラシでシコシコと塗っていたことだろう。だが今は違う。頂点選択方法やマスクの方法を身に付けたので、適切にマスクをすれば後はブラー系ブラシで2,3回なでればウェイト値がいい感じになって終了だ。Zbrushでもそうだったが、とにかく作業対象となる範囲を制限する=マスクをかけることがとても重要だと再認識。3DCGではマスクこそが作業効率化のカギだと理解した。ZbrushでもBlenderでも。はみ出さなければ修正すら必要ない。当たり前だが、それをせずに拡大してブラシのサイズを変更して作業することがZbrushでもやってない?さっさと一手間のマスク塗りをすれば大胆に盛れる(塗れる)のにね。

とにかくマスクは大事。

ゼロから作業すると「分かる」と「分からない」がはっきりするので理解が進む

今回はゼロから作ったので、自分で作業して分からないところなどない。だから、Blenderのアウトライナーを眺めて、これは何だ?というものを一つずつ調べていった。おかげで理解が深まった。自動でソフトが作った謎のデータなどない。全て自分で作業したから。それの繰り返しでBlenderの動作の癖などがよく分かった。だんだん天使&悪魔のBlenderの作業手順とその必要性が分かってきた。モードの切替えやアウトライナーでの選択の癖なども。

その過程で頂点グループとZbrushのポリグループの関係が見えてきた(もちろんゴミデータもあったけれど)。

ポーズデータの保存と呼び出し

ポーズデータの保存と呼び出しでも失敗から得た物がある。全体のポーズデータと、部分的なポーズデータの保存分け方法だ。これはつまり、今後、キャラクター全体の前身ポーズを保存したり、過去のポーズを呼び出せるだけでなく、それを例えば手のポーズ、腕だけのポーズ、という風に、自分の過去のポーズデータを部位ごとに保存したり呼び出したりできるわけだ。

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

例えばこのメッシュ、以下の2つの全体ポーズを個別に保存したとしよう。

f:id:yamato-tsukasa:20190920004934p:plainf:id:yamato-tsukasa:20190920004940p:plain

で2つめのポーズのうち緑だけを最初のポーズに変更すると、こうなる。

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

ボーン選択をちょっと変えただけだ。後は2,3クリックだ。

部分ごとにポーズを適用させられる

この可能性はとてつもない。例えば無個性な「走るポーズ」を作っておけば、どのキャラにもそれを読み込むだけでランニングポーズになる。後はちょっとだけ個性を付けるために変更し、「エレノア Run」などと別名でポーズデータを保存すれば、以降はそれがエレノア専用ランニングポーズになる。次回にはまた少し変化を付ければ別の走るポーズになる。そうやって3パターンもあれば、以後は、走るポーズが必要ならポーズデータを指定するだけで終わることになる。これは早い。早すぎる。

手のポージングについてはそれこそ作れば作るほど楽になる。そしてもしかしたら既に世の中にポージング集があるかも知れない。いや、多分あるな。となると、後は既存のボーンを自分のボーンに転送する技術を身に付ければ手のポージングはクリック作業でしかなくなる。(全身ボーンについては必ずしもボーンが対応できるとは限らないから当てにしないが、手ならばいけるだろう)

もっとも、しばらくは単純なボーンで手は簡易的なボーンで表現する予定なので複雑化させないが、将来的にモデルのアップデートは十分に可能だ。

今までは別ソフトでポージングさせたりポーズを適用させて取り出していたが、ボーン位置やメッシュの変形具合に不満があった。だがこれからは素体そのもののカスタムができる。しかも詳細に。

まだIKとかそういうのがよくわからないけれどもFKでポージングはできる

普通のキャラモデリングでは足にIKが多いと思う。けど現状の技術だけで、FK(フォワード・キネマティクス)ならば自由にポージング可能だ。IK(インバース・キネマティクス)を仕込めば、更にポージングの効率化が可能だろうが、そのためにはIKに関する勉強も必要になる。今日はこれでお腹いっぱいなので終了にするが、メッシュが大幅に破綻しない程度ってだけでFKでポージングでも十分に効率的だと思っている。Zbrushでマスク、ギズモ選択、3方向からの調整、を関節1つごとにやることに比べたら全然違う。

今後の課題

IKだったり、ウェイト値の転送だったり。体と一体になっていないメッシュについて適切にウェイトを塗ることが重要だ。衣類など体表面に沿うモデルについては、今の予測では、MMDキャラのように、結局は見えない部分のメッシュを削ってしまうのが一番だと思っている。ないメッシュはウェイトが付かないし、当然突き抜けもしない。MMDユーザーはよく服の下の素体のメッシュの無さにがっかりしたことだと思うが(笑)作り手からすれば存在しても百害あって一利無しな部分だということが、今ならよく分かる。


あとは実際に作りつつ、ポージングさせつつ、作品作りを進めつつ、足りないところを補いながら進めることになると思う。ようやく3DCGの作業のコアな部分がデジタルになった。

(ここでいうデジタルとはPC作業とかそう意味ではなくて、Undo, Redo, Copy, repeatなどデジタル機能を駆使した作業であって、何度もやり直したり同じ手順を繰り返す作業はデジタルツールを使ったアナログ作業なのだ。アナログ作業は効率化できない。例えばCLIP STUDIO PAINTを使ったお絵描きはデジタルツールを使ったアナログ作業である。レイヤを駆使したりベジェでの線画はデジタル作業である。だが塗りはほとんどがアナログ作業に相当する。だからある工程以降の作業についてはその一部だけの修正が難しい。デジタル作業ならば後からでもその一部だけの修正が可能である。後からの修正に強いのが本当のデジタル作業。)

シンプルを心がける

シンプルなキャラをZbrushで思い通りに作り、Blenderでポーズ人形化し、Zbrushで関節などの仕上げをする。Zbrushで背景用のグッズを仕上げ、Twinmotionで全メッシュの質感設定をして天気や照明をセットアップして撮影する。ここでポーズに時間をかけずに済むってのがとても大きい。背景などでどうしてもアナログ作業=モデリングだったり既存モデルの修正だったり、Twinmotion上での質感設定作業、に時間が取られることが分かっているためだ。

もちろんポーズによってはメッシュが破綻することは分かっているため、その後要部だけをZbrushで修正して(アナログ作業)完成にすればリグモデルそのものにこだわりすぎる必要もない。(あるいはその要部自体のメッシュ密度を上げる必要があるかも知れないため。)静止画が最終出力であることが前提の手法だけれども。もっとも、暫定的に妥協して完成Ver.1.0として世に出しても別に悪くはない。シーン全体の印象・イメージこそが重要であって、細部の関節の破綻がどれほど問題かってことだ。木を見て森を見ずになってはいけない。これは3DCG全体に言えることだ。こだわったところが、仕上がりを見るとほとんど見えない、ということは誰しもが経験することだろう。

今日は興奮気味にキーボードを叩いてしまった。だが私にとっては大きな一歩となった日だ。とても嬉しい。

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

(追記)

Zbrushはハイポリに強い。だがそれを直接Blenderでリグ入れで変形させるのはきつい(と思う)。詳細は実験中だが、工夫次第でZbrushのハイポリメッシュをBlenderのリグ経由で変形させることはできる。(中級のZbrushユーザーなら手法をだいたい思いつくはず。)多分フィギュア造形師にとって新たな可能性に繋がると思う。同じキャラでもポージングの手間が大幅に減るからバリエーション作りの役に立つだろう。

f:id:yamato-tsukasa:20190920032925p:plainf:id:yamato-tsukasa:20190920004940p:plainf:id:yamato-tsukasa:20190920032933p:plain

だが私はフィギュア作りするつもりはないので、この手法についてはこれ以上煮詰めるつもりはありません。あとはご自身で試してみて下さい。