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

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

Z Intensity Controllerの開発に着手しました

(約 1,700文字の記事です。)
f:id:yamato-tsukasa:20190616224148p:plain

ZbrushのZ Intensityの値を増減させるプラグイン、YT Z Intensity Controllerの開発を開始しました。今回の記事は雑記です。

若干のリハビリを兼ねて

プログラミングも少し離れるとすぐに構文を忘れる(笑)なのでリハビリを兼ねて簡単そうなプラグインから開発開始。こなれてきたら過去のプラグインのバグフィックスなどを予定。
また、既存のプラグインの動作をZbrush2019.1.2で動作確認しなければならないという面倒な作業も残っている。これは地味に大変なので、コツコツ1日1個などと割り当てて消化していきたい。一気にやると気が滅入る。地味すぎる。

今回はExcelでインターフェースを設計しつつ実装開始

以前のスタイルは、紙と鉛筆でインターフェースをノートにメモしたら、一気に実装していくスタイルだった。だが今回から変更。Excelで(正確にはLibre Officeだけど)大まかなインターフェースを作ってから、重要な要素から実装&動作テストするというアプローチに変更。で、今日とりあえず動作確認までできたインターフェースはこちら。

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

おや?TOP絵とExcelの設計図が違うぞ?そうです、実は1段目の実装が終わった段階で自分でZbrushをいじっていると、ふと、Z Intensityは等間隔でのポイント値の移動よりも、最小値付近と最大値付近の解像度が欲しいことを思い出したのです。つまり、右肩上がりの直線的な変化ではなく、S字カーブのような変化が欲しいわけで、弱から強への中間はホイールを回しまくるだけという可能性が出てきたわけで。それはだるい。

例えば左手系デバイスなど、回転系デバイスにZint±ボタンを割り当てるという想定で書いています。例えば左手ホイールなど。

Excelならインターフェースの変更は一瞬だ

もし実装してしまってからの変更なら気が滅入るが、Excelでのお絵描きレベルでの変更は割と簡単だ。
設計当初は、指定したptへジャンプするボタンを4つ用意する予定だったが、ロータリスイッチ8個にしてロータリさせるようにすれば、別に値指定のためだけのボタンは要らないよね?ということで、ボタン自体を排除し、代わりにスライダを4つ増設。

Before
f:id:yamato-tsukasa:20190616224416p:plain

After
f:id:yamato-tsukasa:20190616224148p:plain

ただ、8個も「万人にフィットする値はない」はずなので、8個の値は、ユーザーがSaveボタンを押すことでZpluginの子フォルダ内に設定ファイルを保存し、Zbrush再起動ごとにLoadボタンを押して8個のお好みの値を復活させる、という実装の予定。なお、BTCみたいに作品ごとにZ Intensityの値を変えるとは思えない。ゆえに、単に8個の値の復活のためだけに外部ファイルを読み書きするだけなので、今回はファイル名での指定読み書きではなく、固定ファイル名の固定読み書きとする予定。なのでSave, Loadボタンを押した直後に動作を完了する予定。

設計段階での完璧さは難しい

結局は、使ってみてZbrushユーザー目線で使いやすいか、便利か、を都度判断するので、イメージで作ってみても、実際の使用感やアイディアは、作ってみて使ってみないと分からないことも多い。今振り返ってみても、BTCなどもそうだった。なので、最初から一気に作り込まず、コア部分を作っては今後を検討し、インターフェースを検討してから機能の使い方を再検討する、というプロセスが省エネだと感じた。

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