AIでBlenderの3Dアセットを作成・編集するPythonコードを生成できる「LL3M」

大規模言語モデル(LLM)を用い、3DCGソフトウェアのBlenderで3Dアセットを作成・編集することができるPythonコードを生成する「LL3M」が登場しました。LL3Mは「Large Language 3D Modelers(大規模言語3Dモデラ―)」の略です。
LL3M: Large Language 3D Modelers
https://threedle.github.io/ll3m/

LL3Mを作成したのは、シカゴ大学のラナ・ハノッカ教授率いるコンピューターグラフィックス研究チームの3DLです。
LL3Mはユーザーからのテキストでの指示を受け、表現力豊かな形状をゼロから作成することが可能。複雑で精密な幾何学的操作をコードで実現することができます。3Dアセットを作成する際にコード記述型LLMを利用する場合、特定のサブタスクや制約のある手続き型プログラムやプリミティブに重点が置かれます。しかし、LL3Mではジオメトリ、レイアウト、外観など制約のないアセットを作成可能です。
高レベルコードを3D表現として用いることで、LL3Mのパイプラインは反復的な改良と共創のループとして機能します。エージェントは自動コード生成と視覚的な自己批評を行い、ユーザーは継続的に高レベルのフィードバックを提供することが可能。生成されたBlenderノードと構造には、明確なコードと透明なパラメーターが備わっており、生成後に編集することもできます。
LL3Mのパイプラインは以下の通り。LL3Mによる3Dモデル生成過程は、「初期生成フェース」「自動調整フェーズ」「ユーザーガイド調整フェーズ」という3つのフェーズに分けられます。これは3Dモデルの生成プロセスにおける概念的なフェーズであり、各フェーズではそれぞれ異なるエージェントが異なる役割を担っています。

「初期生成フェース」では、まずユーザーが作成したい3Dアセットをテキストで入力、以下の例では「イス」の3Dモデルを作成する場合がシミュレートされています。次に、「プランナーエージェント」が作成したい3Dモデル(イス)を、アームレストや脚、背もたれなどの要素ごとに分解。「検索エージェント」はRAG(検索拡張生成)を用い、Blender APIドキュメントから3Dオブジェクトを生成するためのヒントを得ます。これらの情報をベースに「コーディングエージェント」が3Dモデルを生成するためのコードを生成するわけです。

「自動調整フェーズ」では、「批評エージェント」が生成した3Dモデルを評価し、不具合のある部分を指摘。この修正点をベースに再び「コーディングエージェント」が3Dモデル用のコードを生成。次に、「検証エージェント」が批評エージェントの指摘が正しく修正されているかを調査します。これが正しく検証されている場合、次のフェーズに移動。

「ユーザーガイド調整フェーズ」では、「ユーザーフィードバック」を受けます。フィードバックがある場合は「コーディングエージェント」がフィードバックに基づき3Dモデル用コードを修正。最後に「検証エージェント」が「ユーザーフィードバック」が正確に反映されているかを検証します。

以下の画像は「初期生成フェース」(左)「自動調整フェーズ」(真ん中)「ユーザーガイド調整フェーズ」(右)という3つのフェーズを経て、生成される3Dモデルが調整されていく様子を表した画像。

以下はLL3Mで生成した3Dモデルの一例です。生成に使用したプロンプトは上段左から「紫とピンクのグラデーションカラーのスケートボード」「シンバル付きの赤色の5ピースドラム」「発射される赤色のロケット」「調整可能なテーブルランプ」「アニメ調の風車」、下段左から「ファンシーな砂のお城」「上品な黒色のピアノ」「ピンク色のオリエンタルパールタワー」「スタイリッシュな中国のランタン」「緑色の赤ちゃんドラゴンが炎を吐く」です。

「ユーザーガイド調整フェーズ」では、LL3Mは同じ3Dアセットを複数回連続で編集することができます。そのため、ベースとなる3Dモデルの特徴を保持しながら、指定された部分のみを変更することが可能。

LL3Mが生成するBlender向けのPythonコードの事例が以下。コードは説明的なコメント、明確な変数(キー幅など)、構造化されたロジック(キーボードのパターンなど)などによって構成されているため、変数やロジックは簡単に変更できます。

この他、LL3Mは複数のオブジェクトを生成し、それらを単一のシーン内に適切な空間関係で配置することも可能。LL3Mはインスタンス化や親子関係といった複雑な操作を用いてシーン階層を構築することで、このタスクを実現します。LL3Mのコーディングエージェントは、明示的に指示された場合、ランプなどのより複雑な単一オブジェクトに対しても親子関係を適用可能。これにより、シーン内のパーツ間に親子関係を持つ、人間が理解しやすい階層構造を持つ図形の生成も可能となります。これにより、Blenderにおけるシーングラフの動作が可能になり、親に適用された変換が子にも伝播します。

・関連記事
テキストや画像から多用途かつ高品質な3Dアセットを自動生成できる3D生成AIモデル「TRELLIS」 - GIGAZINE
「画像からゲームのように視点操作可能な3Dシーンを生成するAI」をWorld Labsが発表、実際に3Dシーンを探索できるデモページも公開中 - GIGAZINE
3Dモデルを0.5秒で作れるAI「Stable Fast 3D」が登場したので使ってみた - GIGAZINE
3Dモデル用のメッシュを人間のアーティストが作成したように構築できる「MeshAnything」 - GIGAZINE
Metaがテキストから3Dモデルを1分で生成するツール「3D Gen」を発表 - GIGAZINE
Stability AIが画像から3Dモデルを生成できるAI「TripoSR」を発表、簡単に使えるデモも公開されてたので試してみた - GIGAZINE
「AIの力で3Dモデルを作成する」とうたう企業が実は人力だった - GIGAZINE
・関連コンテンツ
in ソフトウェア, Posted by logu_ii
You can read the machine translated English article 'LL3M' uses AI to generate Python code t….