漠然とZBrushのプラグインか何かを作れるようになりたいとか思いながら、何も手をつけずに6年も経った(笑)

公式ドキュメントを読んでも、イマイチZScriptやZPluginの感覚(メンタルモデル)が掴めなかったのだ。
http://docs.pixologic.com/user-guide/customizing-zbrush/zscripting/
http://docs.pixologic.com/reference-guide/zscript/
記法もわからない段階からZScriptをゼロから書こうとしてもなかなか前に進まないので、とりあえずZScriptに慣れるところから始めようか。
まずはUI操作を記録してZScriptに書き出してみよう。こちらの記事を参考に↓
http://sassembla.github.io/Public/2018:01:19%2022-12-27/2018:01:19%2022-12-27.html
GUI上での操作がScriptコマンドとして残るのはMayaのMELみたいですね。
普段よくやる操作をZScriptで簡略化するのを最初の目標とする。
最近のアヴァンガメラ制作作業の区切りで必ずやっている作業履歴の動画書き出し(F履歴録画)設定をZScriptで自動化してみよう。

この設定値はZProjectに保存されず、毎回リセットされてしまうので地味に時間を取られていた。
ZScriptのRecord(記録開始)を押して、一連の操作を行ったらEnd Rec(記録停止)を押す↓

そして記録したZScriptをファイルに保存する。ZScriptの拡張子は普通に.txtなのね。
これが設定・録画のZScript↓
//RECORDED ZSCRIPT 2021 [IButton,Play,"Press to play this ZScript. ZScript can be aborted at anytime by pressing the eesci key.", [IConfig,2021] [IPress,Movie:Doc] [IPress,Movie:Large] [ISet,Movie:Modifiers:Recording FPS,30] [IPress,Movie:TimeLine:Auto] [ISet,Movie:Overlay Image :Opacity,0] [ISet,Movie:Title Image :FadeOut Time,0] [ISet,Movie:Title Image :FadeIn Time,0] [IPress,Movie:F History] ]/*End of ZScript*/
ZScriptをシンタックスハイライトするVSCode拡張があるので有難く使わせていただく↓
https://marketplace.visualstudio.com/items?itemName=ouelletjonathan.zscript
読みやすくなった↓

.txtファイルと同じファイル名で一緒に出力される.zscファイルは何だろうと思ったら、ZBrushが.txtのZScriptを読み込むと同じフォルダにコンパイル済み(?)の.zscを書き出すのね。
Pytyonの.pyから.pycが作られるみたいな感じだな。(つまりバージョン管理外にしておいた方が良い)
あ、ZBrushのインストールフォルダの中のZPlugsフォルダ(またはZPlugs64フォルダ)に入っているのも.zscファイルだから、これらはつまりコンパイル済みのZScriptということか。そして、そのZScriptがdllを叩いているわけか。
ようやく理解した。ZPluginと呼ばれるものはZScriptの延長にあり、外部のデータやdllと連携するエントリポイントをZScriptで作るのね。
こちらのブログに書かれていることの意味が分かるようになってきたぞ↓
https://ichiyonnana.hateblo.jp/entry/2017/10/22/200228
https://ichiyonnana.hateblo.jp/entry/2017/10/23/030924
外部に処理を投げて、完了したら結果を受け取るコールバック的な実装はちょっと難しそうだな。クローズドにはSDKが存在するのかな。
公式のZScriptサンプルをちゃんと読んでみよう↓
http://docs.pixologic.com/user-guide/customizing-zbrush/zscripting/sample-zscripts/
ZPlugin interfaceのサンプルに従えば、パレットを自作してボタンから任意のコマンドや外部関数を叩けそうだな。
ZScriptの記法というか、コマンドの一覧はこちらを見れば良いのか↓
http://docs.pixologic.com/user-guide/customizing-zbrush/zscripting/command-reference/
同じページからZPluginのサンプルコードがダウンロードできるね。
GitHubを漁ってみると個人でZPluginを開発している人もチラホラいるようなので、SDKが開示されてなくても結構拡張できるようだ。
https://github.com/fuzzzzzz/zbrush-dll-template
https://github.com/n-taka/n_ZBrushPlugins
関連記事
ZBrushでアヴァン・ガメラを作ってみる 腕の作り込み
ZBrushでアヴァン・ガメラを作ってみる
Unite 2014の動画
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハ...
ZBrushで仮面ライダー3号を造る 仮面編 PolyGro...
Webサイトのワイヤーフレームが作成できるオンラインツール
仮想関数
ZBrushでアヴァン・ガメラを作ってみる 爪とトゲを追加
ZBrushでアヴァン・ガメラを作ってみる 歯茎を別パーツへ...
トランスフォーマー :リベンジのメイキング (デジタルドメイ...
ZBrushで仮面ライダー3号を造る 仮面編 DynaMes...
MeshroomでPhotogrammetry
Mixamo:人型3Dキャラクターアニメーション制作サービス
Stanford Bunny
Houdiniのライセンスの種類
ワンダーフェスティバル2024[夏]に行ってきた
python-twitterで自分のお気に入りを取得する
PGGAN:段階的に解像度を上げて学習を進めるGAN
ZBrush 2021.6のMesh from Mask機能...
3DCGのモデルを立体化するサービス
物理ベースレンダリングのためのマテリアル設定チートシート
COLMAP:オープンソースのSfM・MVSツール
OpenCVの顔検出過程を可視化した動画
ZBrushでゴジラ2001を作ってみる 身体のバランスを探...
この本読むよ
viser:Pythonで使える3D可視化ライブラリ
ManuelBastioniLAB:人体モデリングできるBl...
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
なんかすごいサイト
OANDAのfxTrade API
cvui:OpenCVのための軽量GUIライブラリ
UnityでOpenCVを使うには?
Python拡張モジュールのWindows用インストーラー配...
Rerun:マルチモーダルデータの可視化アプリとSDK
オープンソースの物理ベースGIレンダラ『appleseed』
日立のフルパララックス立体ディスプレイ
シン・ゴジラのファンアート
3D映画のポストプロダクション 2D-3D変換
MVStudio:オープンソースのPhotogrammetr...
Faceshiftで表情をキャプチャしてBlender上でM...
PythonのHTML・XMLパーサー『BeautifulS...
Oculus Goを購入!


コメント