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

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

Zbrushにカーブメッシュを再呼び出し可能に保存することの難しさ

(約 3,600文字の記事です。)
f:id:yamato-tsukasa:20190721023528p:plain

とりあえず実装方法を検討するべく色々Zbrushをいじりまくっていた。結論から言うと、かなり厳しいけど「いける」気がする。ただ、かなりハードルは高い。Back To the Center(BTC)以上の難易度の実装になりそうだ。そこまでして完成させたとして、需要があるのか?自分がそんなに使うのか分からないぞ。う~ん。そんな日記。

実はカーブラインだけじゃなかった

色々いじってみて分かったことがある。それはカーブライン「だけ」を保存できればいいわけじゃなかった。どういうことかというと、

  1. 赤いブラシの直径(メッシュの太さ)
  2. Z Intensity(ブラシの厚さ)
  3. 水色ブラシの直径(カーブラインの細かさ)
  4. カーブラインのカーブフォールオフグラフ(*.zcvファイル)(入り抜き情報)
  5. カーブラインの各種ボタンの状態を個別に記憶(必須)
  6. IMブラシの種類の記憶(必須)
  7. IMMブラシの場合のブラシセレクト状態の記憶(必須)
  8. 上記をサブツール名に関連づけて読み書き(BTCの応用)
  9. まとめて別名ファイルで読み書き(全カーブラインの情報)
  10. サブツール個別の上記情報を1つずつ読み書きするオプション(個別に運用可能にするため)


こんだけあったよ、記憶したり読み込んだりすべき項目が……。それぞれにエラー処理を仕込まないと人に使わせられない。自分で使うなら適当でいいけれど。

そしてBack To the Centerよりもハードルが高い理由、それはエラー処理の量が半端じゃないことだ。

エラー処理の多さ(目眩がする)


各種パラメータの読み書きは地道にコーディングすれば何とかなる。だが、ブラシの選択についてはエラー処理がたくさん必要だ。ブラシはZbrush起動時に読み込まれるものと、後からライトボックスやXMD ToolBoxなどで読み込ませる場合とでZbrush内でのブラシ番号が変わる。だからエラー処理には「もしそのブラシがない場合」の処理が必要だ。そしてそれがIMブラシかIMMブラシかでまた挙動が別れる。それぞれにエラー処理が必要。もちろんIMMブラシのブラシの存在可否でもエラー処理が必要だ。

次にカーブグラフのファイルの読み書き。

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

カーブラインで作られるカーブメッシュには入り抜きに相当するグラフが設定されている。これもサブツール名の選択状態に合わせて読み書きする必要がある。ファイル名の受け渡しが必要だ。今のところサブツール名をそのまま受け渡す予定だが、重複した場合は?存在しない場合は?どのタイミングで上書き処理する?またまたエラー処理である。

とても大変なのは間違いない。BTC以上の開発時間が必要。8月どころじゃ終わらないかも知れない。いや、もしかしたら断念するかも知れない。それくらい大変。

けどまぁ、これが完成した場合の挙動はこんな感じになる。

もしこれが完成すると

  1. マネキンの頭に1本カーブラインを引く
  2. 太さ、厚さ、入り抜き、カーブラインを完成させる
  3. できたメッシュをパブリッシュ(別サブツールとしてコピー出力)
  4. 同時に全パラメータをメモリに記憶。サブツール名に紐付く
  5. マスターとなるサブツールにはマネキンの頭とカーブラインだけ(カーブメッシュは消える)
  6. 上記を毛束の数だけ繰り返す

で、だいぶ後からの工程で毛束メッシュを調整したくなったら、

  1. マスターサブツールを選択
  2. リロード用ボタンを押して全パラメータをメモリから読み込む
  3. カーブブラシをクリックするだけで一発復元
  4. カーブラインを整える。他、各種パラメータを微調整する
  5. パブリッシュ
  6. 完成

という具合だ。2度目の修正はカーブラインの調整だけやり直せば、他の項目は復活するので作業が全滅することはない。全ての項目が「微調整止まり」となる。全滅ではない。

だがこれ、今のZbrushではこれがとっても難しい。毛束が20本程度ある場合、確かに20本のカーブラインだけは残せる。だが、各カーブラインにはそれぞれ個別の上記パラメータ設定がされている。太さ、厚さ、入り抜き、カーブメッシュの細かさ、もちろんブラシの種類すら変えていることもある。前髪と横髪と後ろ髪では特に変えることが多い。それらを「ちょっとだけ手直しする際」であったとしても、20個を正確に手動で個別制御は不可能だ。だからカーブラインだけがZPRに残っていても役に立たないのだ。

このプラグインが完成すれば、1つの毛束に関する全情報はサブツール名に紐付いてメモリ&名前を付けた保存されるファイルに保管されることになる。だから、マスターサブツールを選んでリロードボタンを押して、後はカーブの調整からリスタートできる。ちょっとクリックする程度だ。それで修正後のメッシュが再び手に入る。何度でも蘇るのである。

で、需要はあるの?

とっても強力なツールだが、需要は本当にあるのか?寄付金額はBTC並、あるいはそれ以上だ。だって世界にないでしょ?こんなツール。んでもって必要とされるのは、フィギュアの造形師のうち、カーブブラシを多用する人、あるいはロン毛のキャラを多く制作する人だ。めっちゃくちゃニッチだ。ニッチすぎる。ほとんど受託開発に近いぜ(笑)

応用範囲としては「後から修正可能な」筋彫り用途

これなら結構需要はある。カーブラインで筋彫り用のラインをメッシュの表面に沿って引いてもらえれば、深さは均一にできる。直線の滑らか曲線も自由だ。ライブブーリアンなら元のベースメッシュは非破壊なので、元の形状の修正も筋彫りラインも最後まで何度でも再検討できる。最後にブーリアン結合で彫り込み完成。

これは彫り込みラインが後からカーブメッシュとして何度でも修正できる点と、ライブブーリアンだから元々の形を何度でも作り直せる点とのコラボにより実現可能だ。今は前者が不可能なのでこのような手法を使っている人は稀だろう。まぁ、筋彫りくらいなら入り抜き無しだから、IMブラシ設定をその都度別名保存しておけば事足りる気がする。

……、終わった?(笑)いやいや、赤と水色のブラシサイズが変わると元のメッシュにならないから、無理だわ。やっぱりカーブラインだけ保存されていても役に立たない。

段階的に実装してリリースしていくとか?

もちろん最後に目指すべき所はロン毛を自由に作って後から修正できるレベル。ウチヤマ本のこれを何度でもサクサク作り直せるツールだ。

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


だが、これを書きながら考えをまとめてみると、そこに至るまでリリースしないってのはかなりのハードルだ。なので、最初は筋彫り用のカーブラインを作れるレベルでリリースするとか。これならブラシの種類の実装はまず省ける。ユーザーも、記憶できるパターンのIMブラシしか使わないし、入り抜きカーブグラフの出番もない。サブツール名と少々のブラシパラメータの読み書きでいける気がする。最小限の実装。


次のステップで、ブラシの種類以外の部分、入り抜きカーブファイルの読み書き、Z Intensityやカーブブラシ特有の詳細なパラメータの読み書きを実装。で、最後にブラシの種類の自動読み込み&そのエラー処理で、完成かな。だいぶ先は長い。

結論 作れそうだけれどめっちゃ大作になる予感

そして本当に需要があるのか謎。で、自分としてはエレノアさんの髪をリメイクしたい予定。そしてこれがもし完成すれば風でなびく前髪もゼロから作るのではなく既存のモデルから「カーブラインの修正」というスタイルでちょっとカーブをいじる程度で髪をはためかせられるから、価値はある。あるのだが、遠いなぁ。

私が笑顔になる日は来るのだろうか……。



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