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

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

GoBアドオン Ver.3.3.9安定版がついにリリース!

(約 5,900文字の記事です。)画像はVer.3.3.8ですが直後にVer.3.3.9が出ました。
f:id:yamato-tsukasa:20200618222458j:plain

前回の安定版(Ver.3.2.5)から沢山のバグ修正を乗り越え、ついに安定版のGoB Ver.3.3.9のリリースです。そして最後の最後に「Ver.3.3.9にGoBを差し替える方法」に罠がありました(笑)それの回避方法も書きました。

記事を書いているときはVer.3.3.8が最新でしたがリリース版はすぐにVer.3.3.9になってました。(インポートのマスクという項目とデバッグ用項目がONになって追加されています。)まだVer.3.3.9のリリースノートすら追加されてません。いずれ追加されることでしょう。また更新頻度が高まる可能性があるのでその際にはバージョンナンバーを読み替えて下さい。

リリースノート

ちょっぴり自慢させて下さい
ささやかな自画自賛。これくらいはいいよね。

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

「You(の協力)がなかったらこれを実現できなかったよ!」
ありがたいことです(^_^)

ソースはこちら。

Releases · JoseConseco/GoB · GitHub

GoB Ver.3.3.9 安定版のDL

こちらからDLして下さい。

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

なおここには最新のGoBが上書き更新されていくのでもしかしたらVer.3.3.9以上の最新版が公開されているかも知れません。その際にはバージョンナンバーを読み替えて下さい。

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

【重要】古いGoBを完全に削除する

私はこれにハマりました。ベータテスター中に溜まった古い情報が削除されずに残ったため、何度「正しいインストール手順」を実施してもVer.3.3.9が正常にインストールされなかったのです。「重要なのは、きちんと綺麗さっぱり削除すること」だったのです!

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

  1. GoBを検索
  2. チェックをOFFにする【重要】
  3. 削除ボタンを押す

チェックOFFしてから削除ボタンを押すという順番が重要。逆にすると削除されないファイルが出てくる(らしい)。
削除ボタンを押した際にエラーが出た場合にも、残存ファイルがあるらしいのでBlenderを再起動後にもう一度上記手順を実施してGoBが残っていないか確認。
残っていなければ完全な削除完了です。

私の場合には1回目の削除時に赤文字でエラーが出てきて「は???」となったので、念のためBlender再起動してGoBを検索したら、消えたはずのGoBが出てきたのです。どうやら過去の残存ファイルが悪さをしているがために一部のファイルが綺麗にアンインストールできなかった=それって結局「正しく入っていなかった」とも言えるわけですね。
なので再び削除手順を実施し再起動。今度こそGoBが検索されないことを確認してから以下の正しい手順でインストールしたところ、正常になりました。

この削除手順は、どうやらBlenderのアドオン全般のアップデート時にも使える「安全なアドオン入れ替え手順」だと思うので、不具合があったら試してみるといいかもしれない。

そもそもアドオンの正しい入れ替え方法などと言う情報は見たことがない(笑)この手順は絶対ではないかも知れないが、かなり本質的な情報だと思う。(思うのは自由。)

GoBの正しいインストール方法

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

  1. DLしたZipファイルをどこか適当な場所に一度解凍する
  2. 解凍してできた「GoB-GoZ-Blender_28」フォルダのフォルダ名を「GoB」にリネームする
  3. リネームした「GoB」フォルダを右クリック>送る>圧縮(zip形式)フォルダ、で再Zip化する(お好みの圧縮ツールを使ってもOK)
  4. これでGoB.zipファイルが出来上がるし、その中のフォルダも当然GoBフォルダになっている
  5. あとはそのGoB.zipファイルを使ってBlenderにアドオンをインストールする

(参考、過去記事です。読んでも読まなくてもOK。)
インストール方法・差し替え方法の詳しい手順はこちら。

Zbrush とBlenderにGoBを正しくインストールする方法 - 3DCGで何をどう作るか考え中

インストールが正しくできたか確認する

インストールが正常に完了した場合、以下の画像のような初期設定になっているはず。どこか別の項目などにチェックが入っていたりいなかったりする場合には、古いデータがBlender内に残っていて、正常なクリーンインストールができていない可能性が高いです。最初からやり直してみましょう。

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



Ver.3.3.9の特徴

今までかなりブログで説明してきたので、今回は簡単に。

  1. ポリグループはBlenderのフェイスマップに格納されるようになった
  2. それに合わせてオプションのチェックボックスの初期状態も一部変更された
  3. ポリグループはBlender 2.83のスカルプトモードであるFace Setsの色分けカラーに転写される(※1)
  4. Blenderのウェイト値はGoBで往復しても保持される(※2)
  5. Zbrushに戻した後にマスクがかかっていたりかかっていなかったりというバグの解消。Ver.3.3.9ではマスクをクリアしてZbrushに戻す「こともできる」ようになった。オプション設定で変更可能。
  6. Zbrushから読み込む際にマスクを読み込まないようにできるようになった。オプション設定で変更可能。
  7. その他細かいバグの修正(直ったのでもはや一般ユーザーは知る必要もない。結構大変でしたけど、それは知ってもしょうがないから(笑))

※1
ただし現在は仕様によりBlenderのFace Setsをポリグループに「戻す」ことはできない。BlenderのPythonコードにその実装がまだ公開されていないため、技術的に不可能。

※2
といってもBlender上のウェイト情報がZbrushにウェイト値として渡されているわけじゃない。単にBlender上のウェイト値がGoB往復で戻ってきた際に「ゼロで上書きされなくなった(バグが取れた)」だけ。ウェイト値のオリジナル情報はBlendファイルに保持させなければいずれ消滅します。
(例:ウェイト値ありメッシュをZbrushにGoBエクスポートした後にBlenderを初期化し、再びGoBでメッシュをBlenderに戻してもウェイト値は復活しない。)

結局Blender 2.79時代のレガシーな技術の統廃合を進めたのです

とりあえずVer.3.3.9の私の設定画面。

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


(1)ラベル表示はONにする
従来通りのアイコン+テキストにするためにONにしました。
(その下のDebugの項目はONのまま放置しておきましょう。)

(2)フェイスマップへの新実装、解説のみ
Blender2.8以前にはフェイスマップという項目がなかったので、何でもかんでも「頂点グループ」を使っていたGoBの実装を、2.8のフェイスマップを使うことで忠実にポリグループを再現できるようになった(ことを私が指摘した)から、その実装になった結果、基本的には「アレ?頂点グループってほとんど使わなくてもよくね?」ってなって、ポリグループ関連はことごとくフェイスマップとのやりとりに変更。頂点グループはほとんど頂点ウェイトの保持用ストレージとなったのでした。

それにともない「ポリグループを頂点グループに設定する」がデフォルトでOFFになりました。

(3)「クリアマスク」という項目はONにする
頂点グループは古い機能としてのマスク情報の保持領域だが、多分、ZbrushとBlenderとの往復で「あえてマスク領域の保持」を使うユーザーはほぼいないでしょ?という事で、過去の互換性の維持のためだけに残したオプションとして、Maskという頂点グループエントリが残されている程度。私はZbrushにマスク領域の復元は不要なのでON(=マスクをクリアする)にしました。

(4)「マスク」という項目はOFFにする
デフォルトではONとなっており、Zbrush側でマスクをかけるとそのマスク状態もBlender側に頂点グループ「Mask」として転送される。がBlender上では何もできない。Zbrushにメッシュを戻したときにマスク領域を復元できる。だがZbrush側の状態によっては「マスクが有効なのに不可視」というやっかいな状態になる危険性がある。なのでそもそも「マスク関連は使わない」のでOFFにしました。マスクをOFFにすると頂点グループにMaskというエントリすら作成されません

(5)フェイスセットへの新実装、解説のみ
Blender 2.83で実装された「スカルプトモードでのカラフルな色わけ機能=フェイスセット」に、ポリグループのエリアを反映させるための項目でもある。これもVer.3.2.5ではバグ有りで困ったものだったが、今回、ようやくバグが取れてようやくまともに動作するようになった。なお、逆にフェイスセットからZbrushのポリグループに戻すことは今はできない。BlenderのPythonでそれをやる方法がまだ公開?提供?されていないらしい。(Kromar氏談)



で、実はこれまでの安定版(Ver.3.2.5)に内在していたインポート、エクスポートに関連する沢山のバグについては、結局の所、ポリグループをフェイスマップに統一するための実装の段階で沢山の根本的なバグの原因が解明されたとのこと。なので、前のVer.3.2.5と今のVer.3.3.9とでは安定性が格段に違う(実際、Ver.3.2.5ではZbrushやBlenderが落ちるというバグがちらほらあったがV3.3.9ではピタリと安定している。)

もちろん今回のバグフィックに対してかなりの検証や説明をした上でKromar氏ことダニエル氏に修正してもらえた。ダニエル氏の努力と、そのためのこの努力を私は誇りたいと思う(笑)
二人で頑張ったんだから!


ま、要するに、バグがとれて更に「まともに使える」ようになったわけです。加えてウェイト値が保持されるようになった(上記※2参照)事で、疑似的とはいえ、Zbrushのメッシュにリグ変形を導入することができるワークフローが確立されました。リグ変形の具体的な手順はこちらのプラグインに添付のマニュアルをご覧下さい。

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


GoBアシストツールではZbrushへのエクスポート時に不可視のマスクができる問題を回避するために、事前にGoB1実行時にマスクを強制的にクリアしています。なのでGoBのマスクの設定がどうなっていてもGoBアシストツールを経由させれば問題ありません。

GoBアシストツールを使えばマスク関連について問題が発生しないことを分かった上で、上記設定のように、「要らないエントリを作らず、要らない機能を利用しない」ためにマスク関連の設定を上記のようにカスタムしました。が、よく分からない人はデフォルトのままでOK。GoBアシストツールを使っている分には何も悪影響は出ません(笑)

Blender2.83(LTS)とGoBとZbrushのポテンシャル

Blender2.83は長期サポート版なので息が長い。恐らくほとんどの現行アドオンが対応してくる。なのでBlenderを中心とした様々なワークフローが開発され公開されていくと予想する。現に、GoBによるBlenderとZbrushとの連携によってZbrushでは不可能だったリグ変形が実現されたわけだから、それを使うか使わないかで色々と作業の効率が変わるだろう。特にスカルプトを十分に進めた後に手足の微妙な角度調整など、作業後半の微妙な角度の調整などで威力を発揮する。ウェイト値が乗っていないところは変形しないから、マスク+ギズモ変形よりも安全性が高い上に、Blender上でなら何度でも微調整&眺める・検討する、を繰り返せる。

この辺の話は最近沢山記事にしたので興味のある人は過去記事にさかのぼってみれば3,4本ほど記事が出てくるはず。


というわけで長かったGoBベータテストもいったん終了です。


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



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

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

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

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