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

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

Blenderでウェイト付きメッシュをGoBアドオン経由でZbrush上で加工できるのか?

(約 3,000文字の記事です。)
f:id:yamato-tsukasa:20200603013010j:plain

Blenderでリグ入れしたウェイト付きメッシュをZbrushで加工してウェイト付きのままBlenderに戻せる日が来るのか?
疑問に思ったのでKromar氏に聞いてみることにした。

現状では頂点群の実データが消える

頂点グループ名は残るものの、中身がゼロ。頂点群の情報がないものだから、ウェイト情報も当然ない。だから一見すると上手くいったように見えて、頂点群とボーンとのリンクは切れている。

f:id:yamato-tsukasa:20200603013032j:plain

2020/06/08 追記
今ではリグとメッシュとがきちんと対応します。リグにメッシュが追従します。

f:id:yamato-tsukasa:20200607224132j:plain

Kromar氏は「バグ」だと思っているらしいので確認してもらうことにした

Kromar氏は「頂点ウェイト情報がインポートされないバグ」というバグ用スレッドを立てていたのでそこに確認のコメントをしてみた。

vertex weights not imported · Issue #99 · JoseConseco/GoB · GitHub

というのも、Zbrushが本当に「Zbrushでは決して使わないウェイト情報やボーン名(頂点グループ名)を、保持したまま中間生成ファイルにそれらを律儀に含めて出力してくるのか?」が、極めて怪しいと思ったから。

もしZbrushが「頂点グループからウェイト情報を消し去ったデータを出力する」ならば、それはZbrushの仕様なのでバグではなく仕様上の制限であり、待てど暮らせど永遠に実現不可能、ということになるから。

もっとも、私も中間生成ファイルがどこにあるのかということとデータの構造までは眺める手段がないからそれはKromar氏にお任せだが、私の勘では「Zbrushの出力データに元のウェイト情報は含まれていない、0が入っているだけ」だと予想しています。

(頂点情報自体はポリグループとして活用できるものの、各頂点が持つデータ自体はZbrushでは利用しないため、返す値は全部ゼロ、というオチだと予想)

返信が来たらまた報告します。

GoB及びGoBアシストツールではメッシュ操作のみならばほぼ互換状態

ZbrushとBlenderを連携&リグ変形もできるZbrush用プラグイン「GoBアシストツール」 - YAMATO - BOOTH

純正GoBアドオンには安定版のVer.3.2.5では「隣り合ったポリグループが1塊のポリグループに結合されるバグ」がある。今のところ、ベータ版のVer.3.3.6を使えば、メッシュというシンプルな「頂点座標位置のみで表現される立体」については、ポリグループもキープしたままBlenderとZbrushとの往復が可能。

GoBアドオンのバグ修正済みベータ版 Ver.3.3.6 公開 - 3DCGで何をどう作るか考え中


今のところは、Blenderで仮にリグ入れしてポージングさせたモデルであっても、一度GoBでZbrushに送ったら、あとは基本的にZbrush内で完結させるしかない。あるいはBlender2.83で実装予定の「フェイスセット(Zbrushで言うところのポリグループ)」ベースでのポーズブラシを利用するためにZbrushと往復することになるかも知れない。

あるいはシンプルにZbrush内でマスク+ギズモでの微調整が一番早かったりするかも知れない。何にしてもZbrush上で大きなポーズ変更はかなりの手間になる。8割方のポージングをBlender上でボーン入りモデルで検討し、Zbrushでは腹をくくって決定稿を仕上げる、というアプローチになるかも知れない。

実装の可能性はゼロじゃない!

Kromar氏の返答に期待。もし実現できるとすれば、また可能性が広がる。恐らくは「トポロジ変更を伴わないブラッシング操作のみであれば」もしかしたらZbrushがきちんと各頂点が持っていたウェイト情報を出力してくれるならば、その可能性はある。つまり、ZbrushからBlenderにもどしても頂点に紐付いたウェイト情報がそのままBlenderに残ってくれるのであれば、いけるかも知れない。

ん?ということは、仮にZbrushが頂点ウェイト情報をリセットするとしても、Blender側へのインポート時に「元々あった正しい頂点ウェイト情報をGoBが「上書きしない」仕様として実装してもらえれば」回避することは可能なのかも知れない。

今回の返答後に、提案してみようと思う。

もし実装されれば、次のワークフローが開けることになる。

  1. Blenderで粗めのメッシュにリグ入れ
  2. ざっくりポージング
  3. ポージングの完成型の検討
  4. ポリゴン数を非破壊で増やすモディファイアを適用
  5. Zbrushに送る
  6. Zbrush上でスカルプト(ただしトポロジはいじらないこと)
  7. GoBでBlenderに戻してポージングの微調整、再びZbrushへ
  8. ポージング完成によりZbrush上でリメッシュなどトポロジ変更操作
  9. 細部の彫り込み仕上げ
  10. 完成!

上記手順の3,7の往復がZbrush上で作業中でもできるようになることが大きい。もし可能であればかなりのワークフローの改善が期待できる。

もし実現すれば、ウェイト情報が維持されたままハイポリ化を進めつつZbrush上でスカルプトも可能。
で、もしスカルプト中にポージングを変えたくなったら、一度Blenderに戻してボーンを微調整。そしてZbrushに戻してスカルプト再開。

というワークフローが実現できます。ハイポリなのにポージングが後からでも変更できて、それでいて基本的にはスカルプトはZbrushで行う、という夢のようなワークフローが。実質的にこれ、Zbrushにリグとウェイトを導入したようなもの。

果たして実現するかどうかはKromar氏次第ですが。。。
そして実際問題どれくらいのハイポリまでBlenderが耐えられるか?もたつかずにポーズ変更ができるのか?など色々課題はありますが、夢は膨らむ(笑)


まずはKromar氏の返答を待つことにしよう。


ついにできるようになりました!

Zbrushのメッシュをリグ入りモデルでポージングさせる方法 - 3DCGで何をどう作るか考え中


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



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

Amazonギフト券 Eメールタイプ - Amazonベーシック

Amazonギフト券 Eメールタイプ - Amazonベーシック

  • 発売日: 2010/07/15
  • メディア: Ecard Gift Certificate