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

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

YT GoB ReCreaser(YT GoB リクリーサー)Ver.1.0系の使い方

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

ZbrushのメッシュをGoBアドオンを経由してBlenderに送ってBlender上で作業し再びZbrushに戻すとクリースが消えます(泣)そこでYT GoB ReCreaserを使うことで「元のZbrushにあったクリース」を復元できます!

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

GoBアドオンを経由してZbrush → Blender → Zbrushと往復した際にZbrushに元々あったクリースを復元するZbrush用プラグインです。

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

事前に無料のGoBアドオンのインストールが必要です。 Zbrush とBlenderにGoBを正しくインストールする方法 - 3DCGで何をどう作るか考え中

GoBアシストツールユーザーならばGoB 3.3.8、そうでない人は最新のGoBなどお好みでどうぞ。

更新履歴

2020/12/27 Ver.1.0.1 公開。
2020/12/15 Ver.1.0.0 公開。

Ver.1.0.1の変更内容

バグ修正。使い勝手の向上。Initボタン名をResetに変更。YT Quick Importerとの連携機能追加。

初期化動作の保存先が任意の場所でOKとなるように変更。また保存先ファイル名も上書きではなくて「新規ファイル名として保存」に変更。これはYT Quick Importerとの手順の共通化を図るための変更です。ただしGoZ Binary 形式とGoZ Complete Binary形式とは別物のファイル形式である点に注意。両者の違いを強調するエラーメッセージの実装。

何ができるのか?Zbrushで設定したクリースを復元できる

  1. Zbrush上で設定したクリースを、GoBアドオンを使ってBlenderからZbrushに戻した後に復元
  2. クリース復元後に、GoBアドオン実行前のサブディビジョンレベルに復帰
  3. GoBアドオン実行前後でポリグループの色の維持

プラグインの動作の中でアンドゥ(Undo)履歴を使います。

サブディビジョンレベルを保ったままクリースを復元

まゆ毛の当たりにZModelerでクリースを追加してハードエッジになるように変形させました。またサブディビジョンレベルが3まであるデモヘッドにいくつかポリグループを設定。またレベル3でクレイビルドアップブラシで頬にスカルプト(レベル1では表現できない精細さ)。

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

GoBアドオンでBlenderに転送し、変形させます。(※トポロジ変更はできません。仕様です。)

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

その後ExportボタンでZbrushに戻し、当プラグインでクリース&ポリグループカラーを復元。

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

クリースもポリグループも、サブディビジョンレベルの設定も無事に復活しています。

ダイナミックサブディビジョンでも使える

同様にZbrush上でクリース+ダイナミックサブディビジョンをONにする造形でも利用できます。Blender上で変形させます。(※トポロジ変更はできません。仕様です。)

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

できないこと

【注意事項】Blenderのクリース設定をZbrushに移植する機能はありません

その機能が欲しい場合には後述するBetter FbxアドオンとYT Quick Importerプラグインが必要です。

リクリーサーには「Blenderのクリース機能をZbrushに移植する機能はありません」。あくまでも最初にZbrush上で設定したクリースを、BlenderからZbrushに戻した後に以前に設定したクリースを復元するだけです。クリースの新規設定や編集ではなく、復元のみです。

Blender側でトポロジ変更は不可能(Zbrush上では可能)

Zbrushから出したときと戻したときのメッシュのトポロジが変わっているとクリースを復元できません。トポロジが変わった場合、ポリグループ自体も単一色にリセットされます。なのでBlender上ではスカルプトに相当する「頂点位置の変更やサブツールそのものの移動」は可能ですが、ナイフツールやループエッジの追加・削除など、Blender上の操作で頂点数の変わる編集は一切NGです。

そのためトポロジ編集はZbrush上で行って下さい。

詳細はページ下のFAQをご覧下さい。

Ver.1.0系ではサブツール1つずつのクリース処理

諸事情によりVer.1.0系ではサブツールを1つずつクリース復元処理して下さい。複数サブツールの一括処理機能はVer.1.0系では未実装です。

技術的には複数サブツールの一括処理は可能です。ただし安全確実な動作としてはサブツール1つずつの処理のほうが安全なので、まずはその実装です。例えばZbrush自体が落ちるなどの不具合のリスクが一番少ないのです。ディビジョンレベルが高い場合には超絶ハイポリになり連続処理が追いつかずにZbrush落ちのリスクが高まるのです。。。

ダウンロード先

ダウンロード先はYT Quick Importerの販売サイトと統合しました。リクリーサー単体での利用よりもリクリーサー+クイックインポーターの組み合わせで利用するシーンが多いと考えたためです。またセット販売による割引もあります。商品管理のメンテナンス性のために販売先を統合しました。

Zbrushのサブツールに直接FBXなどを転送するプラグイン「YT Quick Importer」 - YAMATO Tools - BOOTH

ただし説明情報自体は別々の方が分かり易いので、旧販売ページは残してあります。

GoBアドオン使用時にZbrush側のクリースを復元する「YT GoB リクリーサー」 - YAMATO Tools - BOOTH

使い方

このアドオンはZbrushからBlenderにメッシュを転送した後で再びZbrushにメッシュを戻した際に、Zbrushメッシュから消えてしまった以前のクリースを復元させます。ただしZbrushの仕様上、不可避な制限事項もありますので後半の注意事項・制限事項などをよくお読み下さい。

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

最初に1回だけ自動的に初期化動作に入ります。初期化動作については後述。

  1. 当プラグインのGRaかGoBRボタンを押してZbrushからBlenderにメッシュを転送する(ToolのGoZボタン類は使わないこと。非推奨。)
  2. Blender上で作業する(ただし制限事項あり)
  3. BlenderからZbrushにメッシュをエクスポートする
  4. Zbrushウィンドウを開いたら他の操作をせずにReCrease Solo ボタンを押す(ReCsボタンでもOK)
  5. (初回のみ初期化操作が必要です。詳しくは後述)
  6. クリース復元処理とディビジョンレベルの復帰が行われる

これでZbrushで設定したクリースが維持されたままZbrushとBlenderとを往復可能です。またGRa, GoBRボタンを押した当時のサブディビジョンレベルに自動的に復帰しますので作業の流れがスムーズです。

サブディビジョンレベルの復帰はZbrushの純正機能を利用しているのでGoB往復前後でメッシュの形状は維持されているはずです。(Zbrushにバグがない限り。)

GRa, GoBRボタンの違いとは?

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

  • GRaボタンは前処理+GoBアシストツールのGoBボタン押し相当の機能(GoBアシストツールユーザー用)
  • GoBRボタンは前処理+GoZボタン押し相当の機能。(一般ユーザー用)

GRaボタンを使うためには事前にGoBアシストツールがインストールされていることが必要です。

GoBアシストツールの有無でお好きな方をお使い下さい。

もしToolのGoZボタンを使ってBlenderに送った場合

「前処理で生成されるCHKファイル」という当プラグイン独自のチェック用データファイルが生成されません。

そのためサブディビジョンレベルが最低レベルで復元されます。また選択中のサブツールが過去にGoBアドオン経由でBlenderと往復したことの確認が取れない(CHKファイルが見つからない)ため、いくつかの警告ダイアログがでます。

選択中のサブツールが過去にGoBアドオン経由でBlenderと往復し、BlenderからZbrushにメッシュを転送した直後の状態であれば警告ダイアログでどこかをクリックし続ければ当プラグインが正常動作します。

できるだけGRa, GoBRボタンでGoBアドオンを呼び出して下さい。

初期化操作

基本的にはZbrush起動後に最初に1回操作すれば最後まで有効です。ダイアログにしたがって新規ファイル名(例えばaaaなど)を付けてGoZ Binary形式を選択して下さい。GoZには複数の形式がありますが必ずGoZ (無印)Binaryを選んで下さい。 f:id:yamato-tsukasa:20201227230230p:plain

それ以外の形式ではクリース情報が失われます。

GoZファイルの保存は上書き保存でも実質的な影響はありませんが、YT Quick Importerでは上書きでは都合が悪いため、両者とも新規に別名保存を推奨しています。

その他のボタンの説明

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

Resetボタン

要するに初期化動作を再度呼び出せるようにするためのボタン。通常は初回のReCrease Soloボタンで1回だけ自動起動する機能なのですが、手動でも呼び出せるようにしたボタン。次回のReCrease Soloボタン押下時にGoZ Binaryを再選択するための動作を呼び出します。

Clearボタン

ZbrushのPreferences > GoZ > Clear cache filesと同じ機能です。GoBアシストツールのClearボタンと同じ機能です。

「GoB 3.3.8とGoBアシストツールユーザー」以外の方は自己責任でご利用下さい。

ReCsボタン

ReCrease Soloのミニボタン。機能はReCrease Soloと同じ。実験的な実装です。

Infoボタン

当プラグインのバージョン情報などの表示。

注意事項・制限事項など

残念ながら自由な往復は不可能で、いくつか使い方に注意点があります。

Blender側でトポロジ変更は不可能(Zbrush上では可能)

Zbrushから出したメッシュとZbrushに戻したメッシュとのトポロジが完全一致していないと当プラグインは正常動作しません。これはZbrushの実装上の制限です。

トポロジが変わっている場合、Zbrushによる警告メッセージが出て、その後、クリースもポリグループも失われたメッシュに置換されます。ですがUndoで元に戻せます。Blenderで何かトポロジ変更していなかったか確認してやり直してみて下さい。下のFAQをご覧下さい。

ただしZbrush上でZModelerを使ってのトポロジ変更は可能です。なのでBlenderの快適なトポロジ編集機能は封印されてしまいます。

両者でクリース編集の互換性を実現させるためにはBlender用有料アドオン「Better Fbx」とZbrush用プラグイン「YT Quick Importer」が便利です。ダウンロード先からご覧下さい。

Zbrushのサブツールに直接FBXなどを転送するプラグイン「YT Quick Importer」 - YAMATO Tools - BOOTH

Blenderでポリグループは編集できません(Zbrush上では可能)

一般的に、Blender側でフェイスマップを新規追加することでポリグループ領域を追加・編集が技術的にはできます。ですが、当プラグインを使う場合にはZbrushから出した当時のポリグループ状態に強制置換されます(仕様)。なのでZbrush上でしかポリグループ操作はできません。ご了承下さい。(クリース復元を諦めればもちろんそれは可能です。)

結論として、このプラグインだけではZbrushでのクリース復元を取るとBlender側でトポロジ操作NG、ポリグループ操作NGとなります。

クリースとポリグループとトポロジ編集とを同時に行うためには「Better Fbx」と「YT Quick Importer」が便利です。リクリーサーの弱点をクイックインポーターが埋めてくれるので両者をセットにしようと思った理由です。(ただし別途Better Fbxが必須ですが……。)

1つのサブツール中につながった2本以上のクリース線が必要

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

1本のみのクリース線は当プラグインでは検出できません。2本以上のつながったクリース線があるサブツールを「クリースありのサブツール」として認識するためです。2本のクリース線は一直線状でもL字形状でも構いません。

また1つのサブツール中に1本のクリース線と、2本以上つながったクリース線とが混在していれば、そのサブツールはクリースありとして復元処理されます。サブツールとして処理を開始するか否かの判断であり、クリース1つ単位で復元処理をしているわけではありません。

1本しかクリース線のないサブツールは「クリースなしメッシュ」として処理されます。またクリース線が2本以上あっても「2本以上つながっていなければ」、同様にクリースなしメッシュとして処理されます。

当プラグインでは1本のみのクリースを扱えません。クリースが閉ループを描く=複数本のクリース線というのが普通だと思いますし、線状のクリースだとしてもまさかクリース1本だけとは実用上考えにくいし、何よりもそれをサポートする実装を見つけることができませんでした(笑)

初回の復元時にクリースがバグることがある(Zbrush起因のバグ)

図のように、初回のクリース復元時にループエッジのクリースの一部がこのようにあり得ない状態に壊れて復元される場合があります。

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

この場合には一度ZModelerを使って手動で修正して下さい。二度目以降のGoB往復及び当プラグインの動作では正常にクリースが保持されます。

これはZbrush側のバグであって当プラグインでは回避できません(泣)ご了承下さい。なので初回利用時のループエッジのクリースは目視で検査することをオススメします。あるいはダイナミックサブディビジョンをONにして目視検査するのもいいでしょう。検査後にOFFに戻すことを忘れずに!

あるいはBetter FbxとYT Quick Importerとを組み合わせてクリース付きメッシュをBlenderからZbrushに移植すればいいでしょう。

FAQ

ときどきクリースの復元に失敗する

これはPC再起動時やBlenderまたはZbrush再起動時に良く起こります。GoBのバグです。GoBによって本来は正しいツールに上書き転送されるはずが、GoBが不具合を起こすと「新規ツール」にメッシュを転送してしまいます。新規ツールにはもちろん最初からクリース情報はありませんので、復元しようがありません。

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

このようにツールボックスを眺めてみて、正しい作業中のツールにメッシュが転送されているか確認してください。図では誤って新規ツールにDogが転送されています。GoB Ver.3.3.8+GoBアシストツールユーザーならば、一度誤った新規ツールを削除した後にInitSまたはInitAボタンを押して初期化した後に改めてBlenderからGoBエクスポートをお試し下さい。正しく上書きされると思います。

ときどき初期化動作が実行される

当プラグインとYT Quick Importerとを併用すると、GoZのフォーマット形式がバッティングするため、その際には互いの初期動作が実施されます。これは仕様です。ZscriptでGoZ内部の形式を自動切り替えを実装できなかったためです。ご了承ください。一方だけを2回目以降に使う際には2度目の初期化動作は出ないはずです。どちらか一方に切り替えた際に初期化動作が復活する場合がありますがそれは正常な動作です。

Blenderでトポロジ編集した覚えがないのにZbrush上でトポロジが違うという警告ウィンドウが出る

Blender上で近接頂点の自動結合機能がONになっている可能性があります(通常はOFFですが)。以下の項目がチェックOFFになっていることをご確認下さい。もしONになっている場合、近接頂点がBlenderによって自動結合されるため、トポロジが変わります(頂点数が減ります)。

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

トポロジ編集+ポリグループ編集+クリース編集を実現させるためには?(リグポージング中であっても)

それを実現させるために、別件として後日、Better Fbxの作者に連絡を取ってExporterを改良してもらい、YT Quick Importerも新規開発することでBlenderとZbrushとでクリースを含む相互編集が可能になりました。使い方はこちらをご覧下さい。

ZbrushのクリースをBlenderで編集する「Better FBX」と「YT Quick Importer」 - 3DCGで何をどう作るか考え中

これを使うとBlenderからZbrushへのトポロジ編集ならばリグポージング中でもウェイトが適切に保たれたまま編集可能ですし、一度BlenderからZbrushにポージング済みメッシュを送った後にGoBで往復すれば同期が取れるので作業を続行できます。これはリクリーサーのみでは実現できない事でした。

またYT Quick Importerの実現により、「トポロジ編集しない往復ではGoB+リクリーサー」が早いですし、「トポロジ編集がある往復ではBetter Fbx+クイックインポーター」が便利です。両者を使うことでBlenderとZbrushとを快適に往復できます。なのでセット販売を考えて販売先をYT Quick Importerに統合しました。

Better Fbx+クイックインポーターでトポロジを同期させ、同期後はGoB+リクリーサーで往復する

この2つの機能でで、トポロジ編集とメッシュの往復とが実現可能です。トポロジ編集は両者のメッシュ形状の同期を破壊しますが、FBX経由でクリース付きのままBlenderからZbrushにメッシュを転送する事でメッシュ形状の同期が取れます。この同期が取れていればGoB+リクリーサーで素早い往復が可能です。なのでこの2つが揃ってこその便利な機能だと考え、セット販売も開始しました。

最後に 開発者のつぶやきなど

残念ながらZbrush単体ではクリース復元機能を維持しつつの自由な往復は不可能でした。ですが今はBetter FbxとYT Quick Importerがあります。これとGoBアドオンとYT GoB ReCreaserとを組み合わせれば、両者の弱点を互いに埋めることができました。かなり自由度を維持したまま、BlenderとZbrushとで作業中のメッシュ操作が可能になりました。

特にBlenderでリグポージングの可逆性(※)を残しつつも、Zbrushでのスカルプト&ポーズ変更ができる点が強みでしょう。そこにクリース編集機能とトポロジ編集機能が加わったことで、両者の得意な分野・作業を得意なソフトで処理してメインの作業状態に復帰できることが重要です。作業効率が違ってきます。

※ ただしZbrushの特性上、Blender上で一度はメッシュとして固定させる必要があるため、最初期のAポーズ、Tポーズへは戻せません。しかしながらポーズ中の腕・脚の角度などの微調整ならば問題なく可能です。大きなポーズ変更を除いて可能です。ウェイト値が保持されているので30度程度の可動域は常に可逆なので実質的に問題になりません。

リクリーサーとクイックインポーターとBetter Fbxでかなりの自由度が上がったと思います。

ZbrushとBlenderとを併用する人は是非ともリクリーサーとクイックインポーターセットをご検討ください。

大和 司

Zbrushのサブツールに直接FBXなどを転送するプラグイン「YT Quick Importer」 - YAMATO Tools - BOOTH





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

追加の創作活動は約4時間30分(累積 約2,093時間)