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

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

Zbrushの凄いマクロを開発中(基本動作の完成)

(約 2,900文字の記事です。)
f:id:yamato-tsukasa:20190123041007p:plain
前回に引き続き、凄いマクロの続報。その名もバック トゥー ザ センター マクロ。(Back To the Center Macro)略してBTCMである。とりあえずエラー処理や説明用ウィンドウを実装して、致命的なバグ取りをし、とりあえず完成。

詳しくはリリース時にきちんと書くけど今のところの仕様です。

BTCMの概要

元々、左右対称に作ったオブジェクトを自由に配置したあと、再び左右対称の作業をしたいが、きちんと軸に合わせることが難しい。だがBTCMならば、メッシュ上に直角四角形か直角三角形があれば、ピタリとX軸とZ軸(つまり左右方向と前後方向)に合わせることが出来る。そして、作業後には、元の場所にワンクリックで戻せるのです!!!
f:id:yamato-tsukasa:20190123041202p:plain
矢印2カ所に注目。左上のオブジェクトは単なる位置合わせを示すためのダミーです。カラーの操作対象オブジェクトは当然原点から離れているし斜めまくり。

回転操作1回目

といってもトランスポーズツールでアクションラインを引くだけ。まずはX軸方向にしたいエッジに線を引く。そしてマクロ実行。
f:id:yamato-tsukasa:20190123041338p:plain

f:id:yamato-tsukasa:20190123041405p:plain
ちょっと回転した。じつはこれでX軸で対称になってます。凄いでしょ?
f:id:yamato-tsukasa:20190123041438p:plain

回転操作2回目

これだけでX軸の対称作業は出来るのだが、せっかくだから首の縦振り(チルト)も水平にしよう。
次は縦のねじれを取るために、正面方向のエッジに線を引く。そしてマクロ実行。
f:id:yamato-tsukasa:20190123041500p:plain

これでXYZの3軸がきちんとワールド軸に平行になりました。
f:id:yamato-tsukasa:20190123041511p:plain
フロアの格子と見比べてみて。水平・垂直・平行でしょ?凄くね?(笑)

ワールド軸に平行移動

オブジェクトの対称軸上の頂点をトランスポーズでワンクリック。そしてマクロ実行。その頂点がワールド軸の原点に移動します。
f:id:yamato-tsukasa:20190123041521p:plain

原点に移動しました

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

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

色々作業する。リトポも可能。Zmodelerも可能。

レイヤーズ機能と違って単なる移動だから、造形に何の制約もない。ご自由に。非対称操作もいい。
f:id:yamato-tsukasa:20190123041610p:plain

Zmodelerも使って適当に造形。
f:id:yamato-tsukasa:20190123041630p:plain
ちょっとやり過ぎた(笑)

ワンクリックで元の位置に戻る

これこそがこのツールの凄いところ。
f:id:yamato-tsukasa:20190123041705p:plain

はい。戻りました。
f:id:yamato-tsukasa:20190123041714p:plain

最初の画像はこちら。
f:id:yamato-tsukasa:20190123041202p:plain

せっかくなので重ねてみる。完璧。苦労した甲斐があった。
f:id:yamato-tsukasa:20190123042432p:plain

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

感想

大学卒業以来、久々に三角関数を使った気がする。アークサインとか、アークタンジェントとか。結局、平行移動と回転移動なので、その回転角度を求める数式の知識が必要。また、ZbrushはZscriptの変数と、メモリ変数との寿命が違うし、値の出し入れも独特。謎のエラーばかりがあったが、分かってしまえば面倒だが対処可能。10行以上の初のまともなプログラミングだった気がする。これは120行くらい。

もう少し自分で使って小さなバグ取りをしたら公開したい。

おまけ

遊びでトーマスっぽくしてみた。数クリックしかしてない。これでZbrushは私にとって最強ツールになった気がする。
f:id:yamato-tsukasa:20190123044418p:plain

かつて作った無名さん

当然当時作った銃をXYZ軸にきっちりに戻せる術があるはずも無く。画像は真正面の図+リセット状態のギズモ。
右手の銃(画像左側)、微妙にXYZ各軸に対してねじれている。これを手動で戻すことは不可能。
f:id:yamato-tsukasa:20190123072342p:plain
だが今は違う。ローポリ作成の銃なのでXZ軸に沿うメッシュが残っていた。各軸にそって復元してみた。

数クリックでこんな具合。
f:id:yamato-tsukasa:20190123072404p:plain
まるで夢のようだ。

レイヤーズ機能では絶対にできない機能。Zmodelerによるトポロジ変更。左右対称編集にてウィングを付けてみました。押し出し+ちょっと角度調整。その後、元の位置に戻す。
f:id:yamato-tsukasa:20190123072429p:plain

クリック一発で元の位置に戻りました。我ながら驚き。便利すぎる。いいのだろうか……。
f:id:yamato-tsukasa:20190123072513p:plain
f:id:yamato-tsukasa:20190123073454p:plain


f:id:yamato-tsukasa:20190123072541p:plain
f:id:yamato-tsukasa:20190123074036p:plain
我ながら恐ろしくなってきた。

続編はこちら