見出し画像

開発中のZbrushプラグインの仕様が正式決定

(約 2,300文字の記事です。)

つい先ほどオンライン会議で、現在開発中のZbrushプラグインの仕様が正式に決定された。クライアント様と一緒に最終的な仕様を確認し、仕上がり後の動作や運用方法など、実際に完成後にクライアント様が使うイメージまで確認できた。

ようやく仕様が決まった

ここまで数十時間以上の実稼働が発生し、ようやく決定。

予算的には完全に稼働時間をオーバーしてます💰

二転三転した新開発プラグインの仕様だが、ようやく正式決定。ここまで基礎実験としてたくさんのソースコードが生まれては消えていった。そして今回「も」新たに判明したZscriptのバグ。これの迂回路の作成によって、本来はスッキリとした論理設計が、何ともぐだぐだな、条件分岐の多い不格好な実装になった。だがこれを回避せずには動く物も動かない。そしてZbrush 2022ならOKでもZbrush 2023ならNGという部分も発覚😭

さらに条件分岐が増えた。もうスパゲッティー・コード(スパゲティプログラム)にならないように気をつける事が大変だった。

動けばいいのではなくて、その後のメンテナンスを考えると「人(未来の私)にとって意味の分かるプログラムの流れ=可読性」を維持することが最優先だ。仕様変更はこれをどんどんつぎはぎだらけに変えていくものだ。

だが今回、きちんと仕様が固まったので、それに合わせて論理設計を見直すことができる。そして過去に開発した関数をどう流用するか、あるいはどう修正するかも決まる。

ようやく次に進める😤

仕様通りにZscriptが動いてくれれば問題なし

ここまでの基礎実験でコアとなる部分の動作確認が取れた。なのでもう迂回する必要はない。そうなれば「論理設計をコーディングすれば100%動く」はずなのだ。コーディングミスや人的ミスによるバグが無い限り。

そしてなによりもZscriptによるバグが無い限り……。

それでもマインドマップで整理した論理設計だけでもこんな具合だ。ぼかしが入っています。

縦に長すぎてスクショが見切れた……。

致命的なZscriptの内在バグx2と、Zbrush 2022と2023の違い、これで2×2=4倍の複雑さとなる。それを回避するための関数の実装と連携の関係から、かなり縦にずらりと長くなっている。

外部ファイルへの読み書き

これが今回、絶対に発生する。なので色々と複雑さがMaxになる😭

外部ファイルへのアクセスがあるだけならまだしも、ファイルの作成、更新が生じるのだ。今回の肝はここになる。

そしてちょっとプログラムをかじったことがある人があるなら分かると思うが、文字列型か数値型か、こういう扱いにも神経質にならざるを得ない。配列の扱い易さが全く異なる。

だがしかし!最終的な結論は「文字列型」でのファイル保存&読み書き

今回は面倒な文字列型なのだ。加えて、Zscriptのバグの影響を迂回するために、残念ながら数値型で押し通すことができなかった

当然ながら基礎実験でその可能性も試しましたとさ、ダメでしたとさ、仕様変更で二転三転しましたとさ……。結局元に戻ってきたわけですが。

でも高速化も必要だったために「内部では最初にとある数値に変換」し、以後の処理では数値として扱う設計にした。文字列の比較よりも数値の比較のほうが高速に動作するからだ。今回のプラグインでは「応答性のよさ」もまた重要になるからだ。

内部で「とある数値」に変換し、以後の内部処理では数値型で扱っている。最初から最後まで数値型で処理出来たら楽だったのに……😭

こういうところでもワンクッション、面倒くささが増える。当然、バグの可能性も増えるわけだ。

キビキビ動く、もたつかないことが重要。まぁ、超絶ハイポリ時のZbrush側の処理の重さによって「場合によって」はもたつくのですが、こればかりはどうしようもない。

ゆっくりしていってね 👧🏻 👧🏼としか……。


ハイポリなフィギュア造型とローポリなロボット造型への対応

これによって当プラグインへの要求が180度変わる。なので両対応が必要だ。これによって更に内部が複雑になる。とはいえ、まずはクライアント様への納品が先なのでクライアント様のタイプに合わせて開発する。次に拡張開発として逆のアプローチを実装する。ここで複雑さが2倍に膨れ上がるわけだ😱

でもそれは後回しで、まずは仕様通りに作ることが先。


次回のZbrushプラグインはユーザーインターフェースに関わる

勘のいい人は気付いているかも知れない。そう、ZbrushのUIに関わるプラグインになる。なのでZbrushを「人にとって使いやすくする」ためのプラグインだ。サブツールの制御とかメッシュの制御とか、そういうものではない。

人にとって使いやすいこと。
プロフェッショナルにとって使いやすいこと。

これはあらゆる道具に共通する永遠の課題だ。

そして当プラグインはプロフェッショナルのためのツールになります。
作業効率を大幅に改善できることでしょう。
特にペンタブレットを握る手の負担が大幅に軽減されます。

今回開発するプラグインによって、Zbrushがさらに使いやすくなる。これは約束できる。理由は述べない。守秘義務があるから。

だが断言できる理由も、そこにはある。
根拠があるから、でも、言えない。
守秘義務があるから。


というわけで明日からリリース版のための実装を開始します😍


だから今夜は祝杯ということで乾杯!🥂
今夜は少し自由な時間を過ごしたい。



今回の創作活動は約45分(累積 約3,213時間)
(885回目のnote更新)


読んでくれてありがとう。気長にマイペースに書いてます。この出会いに感謝😊