ローカルAIで「Blender」を操作! 見せてもらおうか、公式MCPアドオンの実力とやらを – Blender ウォッチング

シーン解析

 LLMが最も得意とし、ツールとしても最も実用的な分野でしょう。

現在のファイル内で一番頂点数の大きいオブジェクトを教えてください

 Blender.orgのMCPサーバーのページでは、さらに、『レンダリング画像中で小さい形状』という条件で絞り込んでいます。

オブジェクトの操作

 この辺まではE4Bでもなんとか可能です。

オブジェクトの削除と追加

立方体を削除し、モンキーを追加してください

 「Cube」と「Suzanne」にするとより確実でトークンも節約できます。

データブロックのリネーム

先頭が「Cube」で始まるオブジェクトを「Block」で始まるようリネームしてください

 日本語の名前に翻訳もできますが、変な訳語になることがあるのはご愛敬。

オブジェクトの一括設定

 物理演算のデモもささっと作ることができます。さらにマテリアルを別にしてバラバラに色付けすることもできます。

平面オブジェクトを追加し、その5mぐらい上にモンキーオブジェクトを10個作成し、剛体とマテリアルを個別に設定し、それぞれランダムな位置と回転、カラーにして落としてください

剛体デモ。衝突判定は自動的に適した物に設定される。派手な絵になるよう、後で弾性も追加してもらったモデリング

 GUIでやった方が速いことをやっても意味がないので、手抜きできることを追求してみました。

 「画像を渡してモデル生成」するような用途はLLMの守備範囲ではないので割愛します。以前ご紹介した専用の生成AIモデルを利用してください。

グリッドの作成と頂点の操作

 何度か「凹凸のあるグリッド平面」が必要になったことがあるので、作成してもらいました。E4BではAPIドキュメントの提示で誘導する必要がありました。

32×32のグリッドを作成し、各頂点を上下にランダム移動させてください

さらに地面に凹凸を加えてもらった。大きさが違うのは新たにグリッドで作り直してもらった所為三次元グラフの作成

 数式と範囲、増分を指定して、三次元グラフを作成してみました。エクステンションもありますが(Extra Mesh Objects)、UIが合わないのでこちらの方が好みです。

(x^3+x^2-x+y^3+y^2-y)*-0.5 を -1 < x < 1、-1 < y < 1 条件で0.1刻みで曲面として作成してください

(x^3+x^2-x+y^3+y^2-y)*-0.5で作成された形状。合ってるのかどうかはわからないチュートリアルの検証

 執筆したチュートリアルをステップ毎に食わせ、実際にその形状が作成可能かどうかを検証してもらおうと思ったのですが、以下ができないため断念。残念です。

ツールバーの「ツール選択」(ツール自体の利用は可能)[最後の操作を調整]パネルによる調整(スクリプト実行ツールでは表示されず、履歴も残らないため)ループカットのような、マウスでインタラクティブに指定するツールの利用モディファイアーの設定

厚み付けして壁に穴を開けてください

 「厚み付けして」で[ソリッド化]モディファイアーが、「穴を開けて」で[ブーリアン]モディファイアーと穴あけ用オブジェクトが自動的に追加されます(一番最初の画像を参照)。らくちん。

モディファイアーアセットの扱い

自動スムーズシェードを設定してください

 ここで、面の向きによってスムージング方法を変える「自動スムージング」や「表面に配置」モディファイアーのような、ジオメトリノードで書かれた「モディファイアーアセット」の扱いはどうなるのかと、少しいじわるしてみました。

 「自動スムージング」の場合は、単に全体にスムーズシェードが設定されてしまい、「表面に配置」(Scatter on Surface)は、「Blender」ネイティブのモディファイアーではないため、ジオメトリノードモディファイアーが追加され、残りは自分でやってくださいと返されて終わりました。

 このようにジオメトリノードで作成されたモディファイアーは、Python APIに対応するものがないため追加できません。

「自動スムージングを設定」してくれといったら全部スムージングしてお茶を濁された。いじわるしたのは自分だから仕方ないレンダリング画像の比較

 それぞれプロパティを変更した複数の画像をレンダリングし、指定のフォルダーに時刻付きで保存してもらうこともできます。

 新機能のプロパティの場合は、Python APIも追加されていれば、AIに教えてあげれば何とかなるかもしれません。もしくは更新されたモデルを利用しましょう。

高速GI近似が無効な画像と有効な画像をそれぞれレンダリングし、”D:BlenderAI_Test” フォルダーに、時刻を各画像のファイル名に付けて保存してください

実はこれが一番実用的な用途なのかもしれないマテリアルの制御

 マテリアルのセットアップの追加や、複数のオブジェクトのパラメーターの一括変更ができると便利です。

ノードのセットアップの追加

Cubeオブジェクトのマテリアルに凹凸をつけてください

 これで[ノイズテクスチャ]ノード、[バンプ]ノードを追加し、ちゃんと現存の[プリンシプルBSDF]ノードのノーマルソケットにリンクしてくれます。

 さらに「テクスチャの座標を操作できるようにしてください」と頼めば、「テクスチャ座標」ノードと「マッピング」ノードを「ノイズテクスチャ」ノードの前に追加してくれます。

ちなみにE4Bだと追加されたノードが全部重なった物をお出しされてしまったノードのパラメーター変更

 『プリンシプルBSDFノードがあれば、シーン(Sheen)パラメーターを0.5にしてください』と、ノード中のパラメーター変更を試みました。しかし、なぜか[サブサーフェススキャッタリング]のパラメーターが変更されてしまいました。『Sheen Weight』で伝えてやっとうまくいきました。

 実はノードのパラメーター変更はE4BやClaude(Sonnet 4.2、以下Claude)もすんなりはいきませんでした。