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

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

ZbrushとBlenderを連携・同期させる「GoBアシストツール」の使い方

(約 11,500文字の記事です。)

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

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

Ver.2が公開されました

2020/06/25 追記。

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

ですがVer.1と共通する説明が多いため、まずは基本情報としてこちらをお読み下さい。Ver.1と異なる部分の説明に入る段階でVer.2用のマニュアルのあるリンクを用意してあります。

ついに待望の「Zbrushメッシュにリグ変形機能」を導入できた!

2020/06/08 追記。こちらをご覧下さい。まるでZbrushにリグ変形機能が追加されたようなものである。使用感としてはほぼそれ。

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

はじめに 効率重視の「プロ志向ツール」です

当ツールは「プロ志向」です。手間暇を惜しまないセミプロ・アマチュアであれば純正GoBアドオンを駆使して「何とか」できます。ですが、当プラグインがプロ志向という理由は、それを「現状で可能な限り最短の手順で実現させられる」からです。特に複数オブジェクトの扱いについては純正GoBアドオンでは、オブジェクト数に比例して手間がかかります。耐えがたい苦痛です。

まずはGoB純正アドオンを試して頂き、その後に改めて当プラグインの各種デモ動画をご覧頂いた上で、当プラグインの価値をご判断下さい。
ZbrushとBlenderとを駆使するユーザーにとっては「他に代替手段がない」ほどの価値があると信じています。

当ページは書籍レベルで丁寧に記載してありますのでボリュームがありますが、当プラグインに関する全ての情報が記載されています。
ZbrushとBlenderユーザーはぜひ当プラグインをご検討ください。


GoBアシストツールの概要

ZbrushのサブツールとBlenderのオブジェクトを連携させるプラグイン。2クリックでZbrushからBlenderへ。BlenderからはワンクリックでZbrushの同名サブツールに上書き(置換)される。名前の保持以外にもサブツールの変更履歴・並び順・ディビジョンレベル・ポリグループ・ポリペイント、を保持。

f:id:yamato-tsukasa:20200517012619g:plain

BlenderでリトポしてからZbrushの元の位置に戻せます。リトポフローなどの優秀なトポロジ編集機能をBlenderで使ってから「ワンクリックで」Zbrushの元の位置に戻せます。

f:id:yamato-tsukasa:20200517175221g:plain

BlenderからZbrushに戻してもZbrush内の過去の履歴は保持されているという優れ物。

f:id:yamato-tsukasa:20200517013802g:plain

Blender上で複数のオブジェクトを選択しても「ワンクリック」でまとめて一気にZbrushに戻せる。

f:id:yamato-tsukasa:20200517014702g:plain

ALT+右クリック(または左クリック)で、キャンバス上の各サブツールを選択状態にできます。憶えておきたい豆知識。

サブツールの上書きなのでサブツール数が増減することもなく、名称のダブりもない。完全にZbrushキャンバスとBlenderビューポートがリンクする。
理想的なツールです。

なお事前にGoBプラグインのインストールが完了していることが前提です。


更新履歴

2020/06/24 GoB Ver.3.3.10安定版リリース。全トランスフォーム問題のバグが直りました。なので気にせず何度でもZbrushとBlenderとで往復できます。安定版公開に伴い古い情報を整理。

2020/06/23 全トラスフォーム問題のバグが修正見通しであることを追記。
GoB Ver.3.3.9安定版公開に伴い、更新履歴以外の古い情報を整理。

2020/06/08 【重要】オブジェクトモードでメッシュを移動させた場合には、必ず一度「全トランスフォームを適用」させてからZbrushにエクスポートすること。

2020/05/20 ポリグループ問題についてKromar氏にバグ報告した記事のリンクを追加。

2020/05/19 純正GoBアドオンのバグによりポリグループの保持について仕様上の制限があることをトラブルシュートに追記。

2020/05/17 慣れたGIF動画を1つにまとめた方が分かり易かったので作り直しました。ついでにテロップを入れて分かり易くしました。
GoBアシストツールの全貌を理解するならこちらの動画(2分15秒)を見た方が早いです。

なお細部を見る場合には当ページのGIF動画の方が高解像度なのでそちらもご覧下さい。

2020/05/17 Twitterのmp4動画で紹介した内容を細切れにしてGIF動画にして当ページ内に配置しました。

https://twitter.com/yamato_tsukasa/status/1261669742294691840

はじめに

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

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

このプラグイン「GoBアシストツール」はGoBプラグインを支援するアシストツールです。以下、GoBアシストツールの事をGoBAツールと略記します。

GoBAツールではZbrushとBlenderとのメッシュの往復のために、Zbrushの機能である「GoZ機能」を呼び出しています。ツール内にあるGoZボタンが押されたときにGoBプラグインが動作するようにして下さい。ですのでまずはGoBプラグインを正しくインストールしてからご利用下さい。

重要な了解事項

GoBプラグインとの関係

GoBAツールではGoBプラグインのソースコードなどは一切使用しておりません。GoBプラグインの挙動に関しては開発元にお問い合わせ下さい。GoBAツールはGoBプラグインの実行前と実行後にZbrushの挙動を制御するだけのツールであって、GoBプラグイン実行時のメッシュの転送そのものには関与していません。ですので、Zbrushのサブツール及びBlenderのオブジェクトの転送の失敗や不具合についてはGoBプラグインの仕様や既存のバグの影響を受けることを予めご了承下さい。
(既存のバグに対する対処法は最後のほうでご紹介しています。)

なお私はGoBアドオンのベータテスターとして多くのバグを発見して報告してきました。その結果、GoBが安定して信頼できるツールになったと確信しています。Thank you for your efforts, Mr. Jose and Mr.Daniel!
f:id:yamato-tsukasa:20200619184907j:plain

事前に別名ZPR保存を推奨

GoBAツール及びGoBプラグインの不具合によるデータの消失については当方では責任を負いません。ですので事前にバックアップや別名保存など、データ管理をユーザー自身の責任において行った上でご利用下さい。

名称の定義と確認「ツール」「サブツール」とは?

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

まずはGoBプラグインを導入

こちらの記事を参考にインストールを完了させて下さい。

GoBアドオン Ver.3.3.9安定版がついにリリース! - 3DCGで何をどう作るか考え中

動作環境

執筆時点の動作確認済みの環境は以下の通り。
-Windows10 Pro -Zbrush 2020.1.3, 2020.1.4 -GoB Ver.3.3.9 -Blender 2.81a, 2.82a, 2.83

DL先

ZbrushとBlenderを連携させるZbrush用プラグイン「GoBアシストツール」(Windows専用) - YAMATO Tools - BOOTH

インストール方法

Zbrushを終了させておく。
DLしてzipを解凍後に出てくる.zscファイルをZbrushのプラグインフォルダに置く。
(例)

C:\Program Files\Pixologic\ZBrush 2020.1.4\ZStartup\ZPlugs64

Zbrushを起動させてZpluginタブの配下にこれが現れればインストール完了。

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

(2020/06/25 追記)Ver.2系リリース!

GoBアシストツール Ver.2系が公開されましたのでそちらをお使い下さい。ただしWindows専用です。
Ver.2系のマニュアルはこちら。

GoBアシストツールがVer.2にバージョンアップ!大幅な安定化とシンプル化を実現 - 3DCGで何をどう作るか考え中

以下はVer.1当時のマニュアルであり、過去ログですが、1度だけでもいいので、GIF動画と画像を眺めておいて下さい。共通する基本機能が説明されているため。その後、このVer.2系マニュアルをお読み下さい。このリンク自体は適切な場所に再度紹介していますので今はリンクをクリックせずに記事を読み進めて下さい。

細かい手順を読むのではなく、GIF動画と画像だけをざっと眺めるだけでOKです。

以下、過去ログ。

使い方(初回のみの初期化編)

GoBAツールをZbrush起動後に始めて動作させる際には初期化動作を1度だけ行います。

具体的にはGoB1ボタンを押すと、初めて押した場合にのみ、「初期化動作します」というメッセージが出ます。

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

その後どこかをクリックすると、キャッシュのクリア画面がでてきます。文字列は読まなくていいのでOKボタンをクリック。

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

ここまでの流れは定型です。2度目からは表示されません。Zbrushを再起動させた場合のみ再び表示されます。

実際の使い方(ZbrushからBlenderに送る)

f:id:yamato-tsukasa:20200517012619g:plain

シンプルです。

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

  1. Blenderに転送したいサブツールを選択する
  2. GoB1ボタンを押す
  3. GoB2ボタンを押す

これだけ。サブツール名と同じ名前のオブジェクトがBlender上に作成されます。

GoB1ボタンで「前処理+転送」、GoB2ボタンで「必須となる後処理」を行っています。なのでGoB1,GoB2は2つをクリックすることでワンセットの動作です。
本当はワンクリックで実現させたかったのですがZscriptの仕様上の制限です。何も考えずにGoB1, GoB2ボタンをポンポンッとクリックすべし!

BlenderからZbrushに戻す

GoBプラグインの「Zbrushにエクスポートボタン」を押すだけ。

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

【重要】トランスフォームは適用させてからエクスポートボタンを押すこと

(2020/06/24 追記)
バグレポート報告後にGoB Ver.3.3.10安定版でこの問題が修正されました。以後、何往復させても位置ズレしません。なので気にしなくていいです(笑)
過去記事との整合性のためだけにこの章を残しています。
Thanks for the quick fix, Mr.Daniel!

GitHub - JoseConseco/GoB: Fork of original GoB script (I just added some fixes)

便利なアドオンでトポロジ操作

リトポフローなどの優秀なトポロジ編集機能をBlenderで使ってから「ワンクリックで」Zbrushの元の位置に戻せます。

f:id:yamato-tsukasa:20200517175221g:plain

GoBプラグインの正常動作のためにはZbrush側ではフォルダー機能をOffにする必要があります(Zbrush側での受け取り時にエラーが出る)。そこでGoBAツールでは強制的にOff化してから動作しています。必要な人は「Folder On/Offボタン」でOnに戻すことができます。必要な場合にはBlenderから戻した後にOnにする事をオススメします。

実現できること

サブツールの重複作成の回避

  1. サブツールの数が増えない
  2. 同名サブツールに置換される

GoBAツールを使うとZbrushとBlenderとを何往復させてもサブツールの数が増減しません。同名サブツール(同名オブジェクト)に上書き(置換)するためです。

ただし正しい手順ではない操作や、GoBプラグインのバグにより、Zbrush側に「新規ツール」及びその中に同名サブツールが作成される場合があります。その場合にはBlenderとZbrushとがリンクしていないので、何度Blenderから戻しても必ず「新規ツール」及びその中に同名サブツールが作成されます。詳細はトラブルシュートをご覧下さい。

置換前のサブツールの履歴の保持

Blenderから戻す以前の履歴も保持されたままです。履歴バーを動かしてご確認下さい。

f:id:yamato-tsukasa:20200517013802g:plain

置換前のサブディビジョンレベルの保持

f:id:yamato-tsukasa:20200517020006g:plain

私はサブディビジョンレベルの上げ下げに左右の矢印キーをホットキーとして割り当てています。が、標準ではそうなっていません。念のため補足。

Blenderに送る直前のサブディビジョン情報が、置換後も保持されます。なお、送る直前にサブディビジョンレベルのあるメッシュについて、Blender側でトポロジの追加変更やリトポを行った後でZbrushに戻すと、このような確認ダイアログがでることがあります。YESボタンを押して下さい。(NOを選ぶと最低レベルを残してディビジョンレベルが削除されます。)

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

Blenderから複数オブジェクトをまとめて一気に転送

Blender上で複数のオブジェクトを選択状態にして、Zbrushにそれらをまとめて一気に戻せます。

f:id:yamato-tsukasa:20200517014702g:plain

ただし条件があって、Blenderで選択した全てのオブジェクトが過去にGoBAツール経由でZbrushからBlenderに送られている場合のみ、正常動作します。

何か一つでもGoBAツールを経由していないオブジェクトが含まれている場合にはそれは新規ツールとしてZbrushに転送されます。(あるいはBlender上で名前が変更された場合など。詳細はトラブルシュートをご覧下さい。)

その他、維持される内容

  1. ポリペイント(頂点カラー)の維持
  2. ポリグループの維持(ただし色はランダムに変化します。)

制限事項

GoBプラグインが動作すること

最初に述べたとおり、ZbrushとBlenderとのメッシュの往復はGoBプラグインが行っています。GoBプラグインの準備はユーザー自身で行って下さい。

Zbrushのフォルダ機能はOFF時のみ正常動作

これはGoBプラグインの仕様制限です。もしフォルダ機能がONの場合にはBlenderからZbrushへのオブジェクト転送に失敗します。ですのでGoBAツールでは強制的にフォルダ機能をOFFにしています。

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

それだけでは不便な人もいると思ったので、その機能をOn/Offさせる「Folder On/Offボタン」を設置しました。Blenderからオブジェクトを受け取った後にZbrushのみで作業する場合にのみ、再びフォルダ機能をOnにする事をオススメします。
なおZbrushのフォルダ機能を使っていない人は気にする必要はありません。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Ver.2ユーザーはここまで読めば十分

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

Ver.2ユーザーはここまで眺めたら、以降はVer.1系特有の問題でありVer.2系で解消されているので読まなくてOK。続きはこちらをご覧下さい。
Ver.2系のマニュアルはこちら。

GoBアシストツールがVer.2にバージョンアップ!大幅な安定化とシンプル化を実現 - 3DCGで何をどう作るか考え中

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

以下、過去ログの続き。

必ずZbrushからBlenderにGoBAツールで転送すること

これはGoBプラグインの仕様です。新規でBlenderで作成したオブジェクトをZbrushのサブツールにリンクさせることはできません。
ですが工夫することでBlenderで新規作成したオブジェクトを、Zbrushの作業中のツールにリンクして転送する(戻す)ことはできます。詳細はTipsをご覧下さい。

GoBAツールでは1つずつしかBlenderに送れない

これはGoBAツールの制限事項ですが、ZbrushからBlenderに送る場合だけの制限です。BlenderからZbrushへは複数をまとめて一気に戻せます。
ただし条件があって、Blenderで選択した全てのオブジェクトが過去にGoBAツール経由でZbrushからBlenderに送られている場合のみ、正常動作します。

何か一つでもGoBAツール非経由のオブジェクトが含まれている場合にはそれは新規ツールとしてZbrushに転送されます。(あるいはBlender上で名前が変更された場合など。詳細はトラブルシュートをご覧下さい。)

Tips

その他の便利なヒントやコツです。

(Zbrush側ではなくて)Blender側で新規作成したオブジェクトをZbrushに送りたい

オススメの操作方法
  1. Blenderでオブジェクトを作成する
  2. オブジェクト名をコピーする
  3. Zbrushで適当なサブツールを複製などで用意する
  4. サブツール名に文字列をペーストする
  5. ZbrushからBlenderにGoBで転送する
  6. 最初に用意したオブジェクトが上書きされるので、Undoする
  7. 最初のオブジェクトに復帰したらZbrushにGoBエクスポートする
  8. 最初のオブジェクトがZbrushのサブツールになる

Blender上でのUndo操作が肝です。

他の操作方法

作業量的にはあまり変わりません。

f:id:yamato-tsukasa:20200517021545g:plain

  1. Zbrush側で適当な仮のサブツールを複製する
  2. サブツール名を適当に変更する(例、Monkey)
  3. サブツール名の文字列をコピー
  4. サブツールをGoB1, GoB2でBlenderに転送
  5. 転送された仮のオブジェクトを削除
  6. SHIFT+Aキーで、例えばモンキー選択してオブジェクトを新規作成する
  7. Zbrushに送りたいモンキーのオブジェクト名「Suzanne」を「Monkey」にペーストしてリネーム
  8. そのMonkeyオブジェクトが選択された状態でZbrushにエクスポート

結局やっていることは、Zbrush>Blender>Zbrushだったりする。理屈が理解できていればやっていることは単なる名前と実体メッシュの差し替えでしかない。

GoBAツールで転送するとリンク情報が一時的に生成される

GoBAツールで転送するとリンク情報が一時的にキャッシュファイルとして生成されます。キャッシュファイルをクリアしない限り、BlenderやZbrushの再起動・名前を付けて保存などとは無関係にリンク情報がキャッシュとして残っているので、過去にGoBAツールで転送したオブジェクトはすぐにZbrushに再び戻すことができます。

ただし不具合の内容によってはキャッシュをクリアするしかない場合もあります。その際には諦めてもう一度GoBアシストツールでZbrushからBlenderに転送してリンクを復活させて下さい。(このとき、Blenderにオブジェクトが送られた後に1回Undoすると元のBlenderの状態に戻ります。小技)

(それで上手くいかなければ諦めてください(笑)トラブルシュートをご覧下さい。)

トラブルシュート

以下は、GoBプラグインに起因する問題の解決方法です。

Zbrush側に新規ツール及び同名サブツールが新規作成される

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

これはGoZ機能そのものの仕様に起因すると思われます。BlenderとZbrushとのリンクが上手く生成されていないようです。このリンクを作るためには、GoBAツールのGoB1, GoB2ボタンをクリックして「ZbrushからBlenderに転送する」以外に解決方法が見当たりません。

なお、リンクがない状態でBlenderからZbrushに何度戻しても必ず新規ツール及び同名ツールが新規作成されます。諦めてGoBAツールを再実行して下さい。

Zbrushからのリンク作成時のサブツール名とは異なるオブジェクト名(Blender上で)になっている場合にも同様に新規ツールと同名サブツールが新規作成されます。ただしリンクが正常ならば、正しい名前にリネームすれば転送に成功します。それでも駄目な場合にはGoBAツールでやり直して下さい。

例えばBlender上でQuad Remesherをかけると、「Retopo_Monkey」のように、接頭語が追加されたオブジェクトが作成されます。これをそのままZbrushにエクスポートすると、Zbrushにはそんなサブツールがないため新規ツール内に転送されます。ですがリトポ後に名前をMonkeyに変更してから転送すれば正しく置換されます。

Zbrush側のサブツール名が変更されていた(末尾に数字が勝手に付いていた)

GoZ機能、GoBやZbrushの予期せぬ終了などでキャッシュファイルが悪さしている可能性があります。これが原因で過去のBlenderとの往復でZbrushに別ツールとして転送される場合があります。一度サブツール名及びオブジェクト名を見比べて確認してみて下さい。

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

  1. ClearボタンでGoZキャッシュをクリア
  2. Zbrushのサブツール名を元の名前に戻す
  3. Blender側にできた誤った名前のオブジェクトを削除(または正しい名前に変更)

GoBプラグインの動作が不安定

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

こちらのClearボタンを押してGoZ機能のキャッシュファイルを削除してから再度お試し下さい。このキャッシュファイルはGoZ機能によって一時的に作成される中間生成ファイルなので消してもOKです。ユーザーデータが削除されることはありません。これが悪さをして不安定になることもあるので、クリア後に再度お試し下さい。

それでも駄目な場合にはZbrush再起動、または「別名保存後に、ファイル>元に戻す(File > Revert)」をお試し下さい。

それでも駄目な場合にはGoBAツールでBlenderに転送し直してください。それができない場合には、諦めて一度Zbrushに新規ツールごと転送させてから手動でサブツールの移動・リネームを実行し、正しいツールの中に移してから、以後、GoBAツールをご利用ください。

GoB Ver3.3.9にあったFace Setsへの色の転送機能がなくなった

ポリグループ情報を格納するFace MapsからFace Sets(Blenderのスカルプトモード上での領域分け機能)への領域の転送機能に致命的なバグが見つかったため、Ver.3.3.10以降ではそれが解決されるまでこの機能は非実装になる予定です。

最後に

これでZbrushのキャンバスとBlenderのビューポートとがリンクします。煩わしいサブツール数の増大や繰り返されるリネーム作業から解放されます。
ZbrushとBlenderを駆使して快適なモデリング環境をGoBAツールで構築して利用してみてください。

ZbrushとBlenderを連携させるZbrush用プラグイン「GoBアシストツール」(Windows専用) - YAMATO Tools - BOOTH





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

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