本文へスキップ
IFAI

オープンソース

LLM向け3DモデリングPythonライブラリ「sand3d」が登場 プロンプトに収まるAPIと10万件のデータセット公開

公開 拡散指数 59

Sandflow AIがLLM向け3Dモデリング用Pythonライブラリ「sand3d」をオープンソースで公開した。Blenderを基盤に、手動の座標計算なしでパーツや関節を名前で定義でき、API全体が約3600トークンでプロンプトに収まる。10万点の3Dオブジェクトコードデータセットも同時提供される。

LLM向け3DモデリングPythonライブラリ「sand3d」が登場 プロンプトに収まるAPIと10万件のデータセット公開
画像:github.com

sand3dは、大規模言語モデルが簡潔なコードを使って3Dモデルや関節パーツを生成できるようにする、BlenderベースのPythonライブラリだ。

手作業で複雑な空間座標を計算させる代わりに、パーツや面を名前で指定して組み立てる設計になっており、モデルが数百トークンで破綻のない3Dデータを記述できる。

何ができるのか

従来のBlender用PythonスクリプトやCadQueryはコードが肥大化しやすく、LLMが座標計算でエラーを起こしがちだった。sand3dはBlenderのbpyモジュール上で動作しながら、パーツ、エッジ、面を意味的な名前で指定できる「Named, not computed」の設計を採用している。

トークン効率も高い。同一パーツを記述する場合、既存のBlender PythonやCadQueryと比較してトークン消費量を2分の1から6分の1に抑えられる。API仕様全体は約3600トークンに収まり、システムプロンプトやllms.txtにそのまま投入可能だ。

機構の可動部定義もネイティブで備えている。例えばドラム、ドア、ハンドル、洗剤トレイ、ダイヤル、そして4つの可動関節を持つドラム式洗濯機が、わずか38行のコードで定義できる。

出力も1行の関数呼び出しで完結する。Webやゲームエンジン向けのGLB、ROSやIsaac Simなどロボットシミュレーション向けのURDF、Omniverse向けのUSDA、スライサー向けのOBJやSTLへ直接書き出せる。

動作環境と10万件のデータセット

ライブラリはApache 2.0ライセンスでGitHub上に公開されており、pip install sand3dやuv add sand3dで導入できる。

推奨環境はPython 3.13または3.11だ。内部でBlenderのbpy 5.2 LTSを利用しているが、Python 3.12向けのビルド済みホイールが存在しない点と、バージョン5.2以降はIntel Macに対応していない点には注意が必要で、その場合はPython 3.11を使う必要がある。

さらにHugging Face上では、CC BY 4.0ライセンスのもとで10万件の3Dモデルコードデータセットが公開された。

これにはObjaverse由来の日常品6万7000点、CAD機械部品2万4000点、関節付きオブジェクト9200点、NVIDIA SimReadyやAutoMateの産業アセットが含まれ、計1万点以上の可動オブジェクトと3万6000箇所のジョイントがコード化されている。

なぜ重要か

3D生成AIの多くはメッシュの崩れや編集の難しさが課題だったが、コードによる宣言的モデリングというアプローチは極めて実用的だと考える。プロンプトに収まる小さなAPIでありながら、実行すれば完全に決定論的でクリーンな3Dモデルが得られるからだ。

特にURDF出力と関節定義を最初から備えている点は、ロボットの強化学習環境やシミュレーション資産をLLMに大量生成させたい開発者にとって恩恵が大きい。有機的なキャラクター造形には不向きだが、家具や機械部品、プロップの自動生成ツールとしては有力な選択肢になるはずだ。

情報源 (2)

  1. [1]
    github.com(新しいタブで開きます)原文github.com
  2. [2]

毎日のAIピックアップ