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

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

指定したサブツールに直接FBXメッシュを転送するZbrush用プラグイン「YT Quick Importer」の使い方

(約 8,600文字の記事です。)

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

ついにZbrushのクリースをBlenderで編集できるようになりました。このページではクリース付きのFBXファイルをZbrushに快適に読み込んで利用するためのプラグイン「YT Quick Importer」の使い方をご紹介します。

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

Blenderからクリース付きのメッシュをFBXで出力するための方法についてはこちらの記事をご覧下さい。

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

更新履歴

2020/12/27 Ver.1.0.3.1と無料体験版を公開。
2020/12/25 Ver.1.0.0安定版公開。
2020/12/22 Ver.0.2.4公開
2020/12/21 Ver.0.2.0公開

YT Quick Importerでできること

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

  1. インポートした複数のサブツールを全て連続して別ツールの同名サブツールに上書き転送
  2. 上書き転送により、転送先サブツールの過去の履歴も保持される
  3. 同名サブツールが見つからない場合にはコピー転送も可能

余談

Zbrushではコピーボタン、ペーストボタンがありますが、このコピペでサブツールを移動させると履歴が引き継がれませんし、ペースト時にサブツール名の末尾に数字が付くため、毎回リネームする手間が発生します。

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

コピペごとに何度もツールを切り替える手間も大変です。

当プラグインではボタンワンクリックで全自動で完了します。転送後のサブツール名の末尾に数字が付くこともありません。

Better Fbx Importer & Exporterを前提として開発

YT Quick Importer Ver.1.0系ではまずはFBXでの運用を想定して開発しました。Better Fbx Exporterが出力するFBXで動作確認しています。

Better FBX Importer & Exporter - Blender Market

Blenderの有料アドオン「Better Fbx」を利用することでBlender上のクリースをZbrushに移植できます。Better Fbxで出力したFBXをZbrushにインポートすることでクリースの他、ポリグループやポリペイント(頂点カラー)なども反映されます。

現時点ではBlender純正のFBX Exporterではクリース情報が出力されません。

無料体験版の制限事項など

こちらの記事をご覧下さい。

Zbrush用プラグイン「YT Quick Importer」の無料体験版の制限事項 - 3DCGで何をどう作るか考え中

使い方1 マルチペーストモード(Mulit Paste)

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

  1. サブツールの転送先となるツールを表示状態にする(初手から重要)
  2. Import FBXボタンを押してFBXからサブツールを読み込む(クイックセーブも行われます)
  3. Multi Pasteボタンを押す
  4. 転送先の同名サブツールに連続して一括転送される
  5. (インポートしたツールを削除するか聞くダイアログが出ます)

基本的にはこれだけで終了です。以下の画像のように、FBXのサブツールが転送先の同名サブツールに置換されます。

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

f:id:yamato-tsukasa:20201224040516p:plain f:id:yamato-tsukasa:20201224035308p:plain f:id:yamato-tsukasa:20201224035319p:plain

なおZbrushでのサブツールの並び順や位置は無関係です。当プラグインではサブツール名について上から順にサーチを行い、同名サブツールが見つかり次第そこにメッシュを転送するようにしています。なので例えばベストのbbbサブツールがbeltの下に配置されていても問題ありません。

事前に1回だけ初期化動作が必要です。初期化動作については後述。

マルチペーストモードで使用した際に、転送に成功すると目玉アイコンがOFFになります。もし転送先に同名サブツールが見つからなかった場合、目玉アイコンがONのままになっています。

例えば以下の図ではCorn, Ringというサブツールは転送先にないため、マルチペーストモード実行後には以下のようになります。

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

Corn, Ringは転送されていないため目玉アイコンがONのまま。aaaというサブツールは転送されたので目玉アイコンがOFFです。

余談ですが、Zbrushで選択中の項目をカラーにして見やすくする方法はこちら。 Zbrushの選択色をカラーにして見やすくしよう - 3DCGで何をどう作るか考え中

警告ダイアログで「目玉アイコンがONのサブツールを手動で移動させて下さい」というメッセージが表示されます。

次にこれらの転送方法です。

使い方2 マルチ追加モード(Multi Add)

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

ダイアログを閉じた後にMulti Addボタンを押すと、転送先の選択済みサブツールの下に、これらの目玉アイコンがONの全てのサブツールをコピペします。例えばbeltを選んだ状態でMulti Addボタンを押すと以下のようになります。

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

beltの下にCorn, Ringが追加された。なおMulti Addで転送された場合には、転送済みであっても元ツール内では目玉アイコンをONのままにしています。これは転送先に同名サブツールが(転送当時に)あったか否かのフラグとして利用できます。特に転送後の目視チェックなどで便利でしょう。

Multi PasteとMulti Addでたいていの場合はサブツールの転送が完了しているはずなので、インポートしたツールを削除するか聞くダイアログがでます。Yesならツールを削除しますし、No, Cancelならばツールが残ります。後で手動で削除して下さい。

転送元の名前をミスしていた場合

目玉アイコンONのサブツール名を眺めて、もし名前ミスがあったならばそれらを修正し、再度Multi Pasteボタンを押して下さい。直前に転送に成功していたサブツール(目玉アイコンがOFFのサブツール)はスキャンをスキップして続行しますので重複転送が防げますし、時短にもなります。またリネーム後に同名サブツールの転送が成功した場合にはその目玉アイコンがOFFになります。既存のメッシュ編集時のFBX往復の場合には、基本的にMulti Pasteで全ての目玉アイコンがOFFになると思います。

名前ミスではなく、新規のメッシュの追加の場合にはMulti Addで問題ないでしょう。

転送後にサブツールを選んでCtrl +上下矢印ボタンで移動させることもできます。Zbrushの標準機能です。

次はサブツールの個別の転送方法について説明します。

使い方3 ひとつずつ手動でコピペ(iCopy, iPaste, iAddボタン)

これはサブツール名を無視して、メッシュ形状だけをコピペし、ペースト先のサブツール名を維持するモードです。

例外的にiAddボタンでは転送元の名前のサブツールが転送先に新規に追加されます。

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

  1. コピー元のサブツールを選択してiCopyボタンを押す
  2. コピー先のサブツールを選択してiPasteボタンを押す(サブツール名は不問)
  3. コピー先にメッシュが転送される(サブツール名は転送先のまま維持)
  4. iPasteボタンではなくてiAddボタンを押すと、選択済みサブツールの下に追加される(サブツール名はコピー元の名前)

<, >ボタンは画面の切り替えボタンです。ブラウザの戻る、進むボタンのイメージです。コピー元と転送先とを切り替えて表示させることができます。

基本的にはMulti Paste, Multi Addで事足りると思うのでこれはかなりサポート的な機能です。手動コピペは効率が悪いですが、使えると便利なシーンもあるでしょう。

初期化動作

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

プラグイン起動後の初めてのペースト動作時に1回だけ初期化動作が必要です。ダイアログにしたがって「GoZ Complete Binary」形式を選んで保存ボタンを押して下さい。ただしすぐに削除されるので、既存のファイル名ではなくて(上書きではなくて)新規ファイルとして保存して下さい。

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

GoZには複数の形式がありますがこのプラグインでは必ず「GoZ Complete Binary」形式を選んで下さい。それ以外の形式を選ぶと正常動作しません。もし誤って別のGoZ形式を選んだ場合にはResetボタンを押してから貼り付け作業をやり直して下さい。再び初期化動作に入ります。

このファイルは一時ファイルであり、保存直後に削除されます。なので保存先フォルダはどこでも構いませんし、ファイル名もまた何でもいいです。なので深く考えずに「GoZ Complete Binary」形式を選んで保存ボタンを押して下さい。

YT GoB ReCreaserと併用すると初期化動作が実行される

これは仕様であり正常です。当プラグインではGoB Complete Binaryを使いますが、対してYT GoB ReCreaserではGoB (無印)Binaryを使います。これはZscript内で指定して切り替えることができないみたいなので、両者を交互に使うとその都度他方の初期化動作が次回セットされます。どちらの場合でもダイアログにしたがったGoZ形式を選んで「新規ファイルとして(上書きせずに)保存」して下さい。

その他のボタン

Export FBXボタン

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

Ver.1.0.3.1から実装。FBXを出力する際にはこちらのボタンを使って出力することをオススメします。Blenderとの往復で、Better FBXとYT Quick Importer利用時に往復しても位置ずれを起こさないようなFBXファイルを出力することができます。

Del Importedボタン

インポートしたツールを削除するボタン。

Resetボタン

次回操作時に強制的に初期化動作を実行させるボタン。

Infoボタン

プラグインのバージョン情報を表示させるボタン。

FolderOnOffボタン

このプラグインでは動作中に一時的にフォルダ表示を解除して動作します。なのでもし不具合などでフォルダ表示が非表示のまま止まった場合にはこのボタンを押すと表示・非表示を切り替えることができます。

(なおフォルダ機能を使っていない場合には何度押しても何も見た目に変化がありません。それで正常です。新規フォルダを作成した後にクリックすると表示・非表示が切り替わります。)

注意事項

転送先のサブディビジョンレベルは失われます

メッシュを置き換えるのでサブディビジョンレベルは失われます。互換性を保つためにはペースト前に事前にサブディビジョンレベルをフリーズし、メッシュ転送後にフリーズを解除するという手しかありません。

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

ただしこのフリーズとフリーズ解除は、どうやら動作的には「フリーズでメモリに記憶させた最上位レベルのメッシュの形状を、ローレベルから順に転写(Project All)することを自動で繰り返すことにより元のサブディビジョンレベルを疑似的に復元している」らしいのです。なのでProject Allの設定が反映される模様。またアナログ的な形状復元になるので、場合によってはメッシュが壊れて元の形状とは異なる形状で復元されることもあるらしいです。個人的にはあまり複雑な形状の場合には再現性が低いと感じます。

個人的には「Blenderのシュリンクラップで再現できる程度の形状」がフリーズ解除時の精度のよい再現の限界かなと思っています。

しかしこれ以外の方法で履歴を残したままサブディビジョンレベルも引き継げて、かつクリースまで移植可能な方法はZbrush上では見当たらないと思います。。。

もちろんサブディビジョンレベルなしのメッシュやダイナミックサブディビジョンの場合には無関係な話です。

スケールマスター使用後に使うとスケール値が初期化されます

これはインポートしたサブツールのワールド軸に対する位置合わせの動作時に転送先のスケール情報を初期化するためです。当プラグインの仕様です。

もっとも、スケールマスターを使用する場合には出力先の実寸に合わせて全サブツールの縮尺を変えることになるため、最後の最後、という工程になると思うのでその後当プラグインを使うことはないと思います。またもし使ったとしても、再度スケールマスターで全長の尺を再設定してスケールマスターをかけるだけでいいので問題ないと考えています。なのでこのスケール情報初期化問題は「仕様」ということにしました。ご了承下さい。

今後の予定

YT GoB ReCreaserとの同梱セットも販売予定

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

別に公開していたYT GoB ReCreaserもYT Quick Importerと同梱して公開予定です。というのも、BlenderとZbrushとでメッシュのトポロジが共通であればFBX経由の出し入れよりもGoBの方が早いからです。現在、ReCreaserもQuick Importerと連携する部分が発生したため改良中です。

もうしばらくお待ち下さい。なお販売ページは先行して作成していますが、まだReCreaserは同梱していません。しばらくお待ち下さい。

当面はFBXのみサポート

Zbrushがインポートできるファイル形式にはいくつかありますが、当面はFBXのみをサポートします。技術的にはobjなどの他のファイル形式についても位置合わせ機能が有効かと思いますが、リクエストなどがない限り、FBXを扱えば問題ない場合が多いと考えるためです。

他、私が使っていないソフトのファイル形式などは当然テストできないので開発できません。

ですので個人的には一度Blenderに読み込んだ後に加工してFBX化してからZbrushに送って使うのがいいと思っています。メッシュ自体にあるバグなどもBlender上で検査してからZbrushに送ればトラブルも少ないでしょう。

そういうわけなので、Blenderの有料アドオン「Better Fbx」Exporterが出力したFBXでテスト及び開発しています。他のFBXファイルで動くかどうかは、テストできないので分かりませんが、FBX自体がある程度の互換性をもって開発されているはずですので、多分動くと思います(笑)

ご連絡はお問い合わせやTwitterなどでお願いします。

お問い合わせ - 3DCGで何をどう作るか考え中

大和 司 (@yamato_tsukasa) | Twitter

最後に Better Fbx+Quick Importerでかなり快適に往復可能

Blender側にはBetter Fbx、Zbrush側にQuick Importerを使うことで、かなり快適に、両者のほぼ全ての機能を往復させることができます。もちろんBetter Fbxさえあればクリース付きのメッシュを両者で編集可能です。しかしながら、両者のワールド軸に対する位置合わせ、サイズ合わせが重要なことも確かです。それ無しにはどちらか一方での仮の作業しかできず、仕上げに遠回りとなります。

開発をご支援して頂ける方は是非ともBOOTHよりお買い求め下さい。

大和 司

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





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