Blender には非常にたくさんのアドオンが存在しています。ただ、それでも「こういうこと出来たらな...」と思うことは多いです。
そんな時に備えて、Blender のアドオンと生成 AI の親和性を見ることが出来ればと思いました。
作成したもの
Smart Scatter というものを作成しました。Geometry Nodes のテンプレートを提供しており、指定したオブジェクトを雑に散らばらせることが出来ます。
開発は Copilot に一任し、指示のみを出す方針にしました。
ただ、その開発工程で生成 AI と親和性が低いな...と感じることが多かったです。
トラブル一覧
- Geometry Nodes を置いてくれるのはいいが、Node 同士を結んでくれない
- 複数回ボタンを押した際の挙動
- 押した回数だけパラメータが追加されていく。とんでもない数に...
- 2回目以降において、全パラメータの値が 0 に設定される
- そもそも散りばめたのは UV Sphere であり、元のオブジェクトではない(!?)
これらの原因のとして、下記が考えられると思います。
Blender のバージョン間の違い
現在のモデルがどのバージョンから学習しているかは不明です。ただ、最新の v5.0 に追従できているかは不明で、ドキュメントを読ませるにしても膨大な量である気がします。
細かくデバッグコードを入れるよう指示を行い、その結果に合わせてコードを修正してもらう形式が個人的には良かったかなと思います。今後のバージョンアップデートでまた細かいところが変わると思うので、毎回ドキュメントを読ませるよりはこちらの方が良いのでは?と考えています。
デバッグの困難さ
アドオンのリロードには下記の方法が考えられます。
- 該当ディレクトリにシンボリックリンクを貼り、
touch __init__.pyでタイムスタンプを更新してあげる - ZIP ファイルを投げつけ直す
また、アドオンの動作検証作業はこちらが行っていました。生成 AI が利用できる情報も「スクリーンショット」と「ログ」の2種類だけでしたので、かなりやりづらそうでした。
まとめ
現状においては、バージョン間の細かな差異とデバッグの困難さ(関連して生成 AI と Blender の間でのデータのやり取り)に起因する問題があり、まだ手で作る/ハイブリッドの方がよいかな...と思います。
とはいえ、ある程度の精度でたたき台を作ってくれるので、開発者側に最低限の実力がちゃんとあれば、かなり現段階でも頼れる相棒になってくれると思います。
