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

3DCGでワンシーンメイキング(オリジナル小説の挿絵作り)

Zbrushの凄いマクロを開発中(微調整編)

(約 1,700文字の記事です。)
f:id:yamato-tsukasa:20190123205040j:plain
どんな角度に配置したメッシュでも、メッシュ内に直行する2辺があればそれに基づいてX軸に左右対称な位置に移動させることが出来て、編集したあと、ワンクリックで元の位置に戻せる魔法のようなマクロ「バックトゥーザセンターマクロ Back To the Center Macro」、略してBTCMである。大きなバグ取りも終わって、ほぼ完璧動作。操作上の制約も数式の変更で自動対応。

詳しい使い方は前回の記事を参照。
簡単に言うとこんな感じ。

4コマ漫画みたいにこの画像を見れば全てが分かる

f:id:yamato-tsukasa:20190123195741p:plain
f:id:yamato-tsukasa:20190123195744p:plain
f:id:yamato-tsukasa:20190123195748p:plain
f:id:yamato-tsukasa:20190123195752p:plain

操作感は前よりも良くなって、

  1. X軸(左右方向)にそろえたいエッジをトランスポーズでアクションラインをひく、マクロ実行。
  2. Z軸(正面方向)にそろえたいエッジを選択して、マクロ実行。
  3. 中心点を指定してマクロ実行。
  4. 編集し終えたらマクロ実行で元の位置に戻る。

2本のアクションラインの引く方向が右から左でも逆に引いても水平を出します。

制限事項

今のところの制限事項は、エースコンバットの宙返り中の様な極端な配置に対して上手く天地を設定できない点。背面飛行状態のままXYZにそろいます。
対策としては、編集時に一度手動で180度回転して作業し、作業が終わったら再び180度回転させてからマクロを実行すること。
メモリに変数を格納しているので、Zbrushが落ちると元に戻す変数が消える。

今後の課題

日本語は表示させられるのか?

英語で作ってました。そういやUTF-8なので日本語もメッセージボックスに表示させられる?だとすれば分かりやすいよね?試してみよう。

細かい回転制御(完璧な正面向きの実現)

XYZにそろえたあとにZ軸回転(天地回転)とY軸回転(横回し)をするかどうかを聞くウィンドウを開いて、その操作をメモリに記憶させ、位置の復元時に全てを適用して元に戻す。これが出来たら最強だ。技術的には可能。
すでにZbrush内で軸の回転とメモリ操作はマスターした。

回転情報の外部ファイル書き出し?

あとは、メモリ変数を外部ファイルに出力するようにして、それをファイル経由で読み書きするようにすれば、Zbrushが落ちても、日をまたいだ作業でも、元の位置に戻せる。ただし別の回転操作で上書きしたらアウトだけど。それを防ごうとするとファイル名の付け方管理とか、もはやマクロの限界を超えている。Zscriptとして開発するしかない。
それはさすがにきつい。そしてZscriptの外部ファイル書き出しはやったことがないので一からの開発になる。だいぶきつい。BTCMが大人気になったら考える(笑)

現在の回避方法としては、元の位置のオブジェクトを複製して非表示にし、元に戻す際には、一度非表示オブジェクトをBTCMでセンターに配置させ、回転情報をメモリに記憶させる。その後、編集済みのサブツールを選択して復元操作をすれば元の位置に戻る。しばらくはこちらで対処するようにしよう。

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

続編はこちら