画力がないなら立体を作ればいい

デジタル箱庭クリエーターを目指す小さな足跡

BTCプラグインVer.2.4の使い方(応用編)

(約 5,800文字の記事です。)
f:id:yamato-tsukasa:20190704015848p:plain
Zbrush用プラグイン「Back To the Center, BTC」もVer.2.4までの進化でとても使いやすくなりました。なので、ここで一度BTCの使い方をまとめてみました。
Zbrush用プラグイン「Back To the Center」(斜め配置したパーツを最短ワンクリックで左右対称編集) - - BOOTH

今回は応用編です。前回の基本編はこちら。

更新情報

2019/07/02 一部の表現を分かりやすく加筆修正。
2019/05/18 一部の文言を修正。
2019/02/10 本記事作成。

サブツールの名前変更はBTC Renamerを使うこと

BTCではサブツール名が絶対に重複一致しない必要があります。重複一致する名前があると、データベース内の回転情報がどっちのサブツールのものなのかが分からなくなります。

もし重複一致するようにわざと名前を変更したら?

ユーザーが名前を変更した結果、Zbrush内に重複一致する複数のサブツールができてしまった場合にはどうなるでしょうか?
そのサブツール名への回転情報のリンクが切れて、過った回転情報とリンクしてしまいます。なのでワンクリックでの正しい往復ができなくなります。そうなると再びStep1~3をやり直して正しい回転情報を再設定しなければなりません。(ただし回転情報が消えるわけではないので、元の「正しい名前」に戻せば正常に戻ります。)

専用のリネームツールを使えば名前を変更できます

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

(9)のBTCリネーマーボタンを使えばリンク関係を保ったままリネームできます。
使い方は簡単で、サブツールを選択して(9)のボタンを押すだけ。通常の入力画面になります。

BTCリネーマーは名前の重複一致をスキャンして警告してくれる

(例)過去に「Dog」「DogRunning」という2つのサブツールでそれぞれBTCした状態で、DogRunningを誤ってDogにBTCリネーマーでリネームしようとした場合

もしBTCリネーマーを使って、過去に回転情報を取得したことのあるサブツール名と同じ名前に変更した場合、警告ウィンドウが出て、一度リネーム前の名前に戻すステップに入ります。これは既存の回転情報と名前とのリンクを保護するためです。

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


次にこのような画面になります。
ですが、これは名前入力画面ではありません。
f:id:yamato-tsukasa:20190210015951p:plain

このダイアログは「過去の名前をカット(またはコピー)するため」だけのものです。

名前の文字列をカット(CTRL+X)してEnterキーを押すことで次に進みます。(あるいはコピー(CTRL+C)してからEscキーでも可)

次に進みます。

こちらが通常のリネーム用ダイアログボックス。
なのでここにペースト(CTRL+V)してEnterを押します。
f:id:yamato-tsukasa:20190210020039p:plain

これでリネーム前に戻りました。このステップバックではまだ回転情報をどこにも上書きしていないので、安心。今度は落ち着いて重複一致のないサブツール名に変更すれば、新しい名前と回転情報とがリンクされます。問題なければ特にダイアログが出ることなくすんなりリネーム完了です。

なぜわざわざ古い名前をカット(またはコピー)する手順が必要なの?
実はZscriptという言語では、サブツール名を読み取ることはできても、書き込むことが基本的にできません。Zbrush純正のサブツールマスターなどはかなり例外的な処理をしている模様。私の手に負えない。ですので書き込む唯一の手段は純正リネームボタンを呼び出すことだけなのです。なので古い名前はメモリに記憶させることはできても、リネーム動作はできないので、わざわざユーザーの手を介して行う実装にしました。謎すぎる言語仕様。
ちなみに、とっても難しい方法を使うとリネーム可能ですが、リネームのためだけにそこまで実装する気になれなかったので断念。CTRL+XとCTRL+Vで済むのだから、それくらいはご容赦下さい。

BTCでのサブツール名編集はBTCリネーマーで!

BTCリネーマーではなく純正のリネームボタンで名前を変更された場合はお手上げです。ご本人の記憶を頼りに元の名前に戻さない限りファイル内のリンク関係は復活しません。
BTCではBTCリネーマーを使うことをおすすめします。

BTCリネーマーにリネーム用のホットキーを割り当てることがオススメ

もし名前の重複がなければ純正リネームボタンと同じ挙動ですので、BTCを全く使っていない状況ではユーザー体験上はBTCリネーマーも純正リネームボタンも挙動は一緒。BTCユーザーの方には、ホットキー割り当てやカスタムUIへの配置をオススメします。

リンク切れした回転情報をデータベースから削除する

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

BTCでは400個までの回転情報を記憶できます。通常使用で400個を使い切ることはないはずですので、リンク切れした回転情報が200個程度あったとしても何の影響もありません。
ただし、同じZPR, ZTLファイルを何度も作品ごとに使い回して使い続ける場合には、さすがに400個が一杯になる可能性があります。
回転情報の総数が380個を超えると、ファイルの読み書き時に警告が出るようになっています。その警告が出た場合には、(10)のボタンを押してデータベースを再構築します。

Rebuildでは、Zbrush内のサブツールを全てスキャンしてリンク切れした回転情報を削除し、現在使用中の回転情報と名前情報とを上から順に詰め直す、という動作をしています。
基本的には触らなくていい場所ですが、念のため実装しました。

Rebuildしたら保存したファイルを再読込すること

Rebuildでは単純にメモリデータをコピーして再構築するだけなので、それだけでは現在のファイルに影響を与えません。なので続いて出てくる「名前を付けて保存」ダイアログに従って新たなファイルとして保存し、それを読み直すことでデータベースの再構築が完了します。

チェンジザワールド軸モード(CWA mode)

チェンジザワールド軸モード(Change the World-Axis mode)では、表示中の全てのサブツールを1つの「全体サブツール」に結合します。トランスポーズマスターを利用しています。
CWAモードとは、全体サブツールをBTCで回転させ、その後再び複数のサブツールに分解することにより、擬似的に「ワールド軸そのものの位置を自由に変更する」機能です。

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

(11)のCWAボタンを押してCWAモードを実行します。基本的な使い方はBTCモードと一緒です。ダイアログにしたがって下さい。
(12)はトランスポーズマスターの分解ボタンです。小さくしてBTCに配置しました。アクセスしやすくて地味に便利です。
f:id:yamato-tsukasa:20190208091322p:plain
(いちいちこのボタンを押すためだけにプラグインの階層をたどりたくない)



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


この画面で全てのオブジェクトが画面内に収まっていれば「はい」ボタンを押す。

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



もし1つのサブツールにカメラが寄っているなら「いいえ」ボタンを押す。

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

2019/07/21 追記
Ver. 2.5系でキャンバスにオートフィットさせる機能を実装したので上記のYes/Noダイアログは廃止されました。自動でオートフィットします。

自動的に表示状態のファイルをスキャンします。もし非表示部分があればこのようにズームインして非表示部部分を点滅表示させます。

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

UndoしてDel Hiddenするかそのまま引き続き(11)のCWAボタンを押してスキャンを続行して下さい。
問題がなければそのまま引き続きトランスポーズマスターで全体サブツールに結合します。

トランスポーズマスターで非表示部分のサブツールがあったまま結合すると、正常に分解できないという悲劇が待っています。この事前スキャン機能はその悲劇を回避するために実装しました。

あとはBTCと同様にStep1~3を実行して下さい。BTCと違うのは、Step4がないことです。CWAモードでは、基本的には元に戻すという概念がなく、最初の原点の位置にあったオブジェクトに対して再びワールド軸を再設定するという考えからです。

f:id:yamato-tsukasa:20190127205658p:plain:h360

このように、最初に台座を用意しておくことを前提とすれば、台座の中心にワールド軸を再設定することで元の位置に戻ることになります。

CWAモードのStep3での回転情報も普通にコピペ可能

回転情報であることに変わりはないので、この回転情報を自由にサブツールやExtra Banksにコピペできます。



CWAモードの説明は以上です。BTCモードでは1つのサブツールの回転の扱いであるのに対し、CWAモードでは全体を1つの回転として扱いつつも、トランスポーズマスターとの連携によりその使用感を損なうことなくすんなり回転させられます。結構苦労してます。至る所に使いやすさへの配慮があります(笑)


その他の便利機能 トランポーズツールを毎回隠すボタン

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

この(13)のHideTPbrushボタン(ON/OFFスイッチ)は通常OFFです。なのでBTCモードでもCWAモードと同じようにトランスポーズブラシが常に表示状態になっています。
ですが、例えばこのように、頭部パーツの中に位置合わせ用のキューブを入れた場合には、少々厄介なのです。

f:id:yamato-tsukasa:20190125014642p:plain:h360

頭部のメッシュを非表示にするためにはCTRL+SHIFT+ダブルクリックなのですが、トランスポーズブラシが出ている状態ではこの操作が効きません。なのでいちいちWキーを押す必要があります。
それを回避するために、(13)のスイッチをONにすると、Step1~3の各操作が終わるごとに自動的にトランスポーズブラシが消えてくれます(毎回ドローモードになる)。これもまた地味に便利です。

当初の実装ではこれが標準だったのですが、操作に慣れるまではわかりにくいのと、キューブ埋め込みではないスタンダードな使い方のほうが多い気がしたので仕様変更。このスイッチを実装しました。

まとめ BTCで広がるZbrushの可能性は無限大

今までできなかったことが簡単にできるようになりました。それがBTCの威力です。
対称編集のためだけに外部ツールと往復させることも不要になります。しかも単なる回転移動なのでZbrushの機能を全く制限しません。
ユーザーインターフェースや使い心地にもかなり気を配って実装しました。ファイルの入出力や名前リンク機能などが大変でしたが実現させることができました。しかも安心の名前重複一致回避機能まで実装。トランスポーズマスターのエラー防止機能なども使い心地を高めるための実装でした。

脅威の性能です。それだけ苦心して開発しました。

基本機能とリリース版の使用感は無料で確認できますので、是非ともお試し下さい。

Zbrush用プラグイン「Back To the Center」(斜め配置したパーツを最短ワンクリックで左右対称編集) - - BOOTH

開発の苦労話は書ききれないくらいあるのですが、省略。
全然楽じゃなかったけれど、世界で唯一のプラグインが完成したと自負しております。Ver.2.4が一つの完成形です。基本編と応用編でVer.2.4の全ての機能を解説しました。

長文にお付き合い頂きありがとうございました。
皆様の実りあるZbrushライフを願っております。

2019年2月10日 3時17分04秒(笑)
大和 司



使い方の基本編はこちら。



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