ldraw-mecha 0.5.0 リリースノート: AI駆動のLEGOアニメーション

概要

ldraw-mecha 0.5.0は、LDraw (.mpd) LEGOモデルを取り込み、その内部の機械構造を推論し、Blenderでモデルをアニメーション化するためのPythonスクリプトを生成する自動化パイプラインを提供します。ソースファイルのセマンティック分析と3D操作を組み合わせることで、ユーザーは静的なLEGO CADファイルを動的でアニメーション化されたシーケンスに変換できます。

エージェント型ワークフロー

このシステムは、モデルデータを解釈して実行するためにLLMエージェントに依存する、多段階の「分割統治」プロセスを通じて動作します。

  1. リバースエンジニアリング: エージェントが.mpdソースコードを分析し、サブモデルを特定して特定の機械コンポーネントとして分類します。
  2. 機械的推論: エージェントが、パーツの説明と構造的な関係に基づいて、これらのコンポーネントの意図された動作を記述します。
  3. マッピング: このプロジェクトは二層アノテーションを使用します。ソースコードとBlender内の対応するglTFノードの両方に同一のタグを適用することで、エージェントは抽象的なロジックと3Dジオメトリ間のリンクを維持します。
  4. アニメーション生成: エージェントは、リグを作成し、計画された機械的動作を実行するBlender用のカスタムPythonスクリプトを生成します。

インストールと要件

このプロジェクトは、ホストOSの汚染を避けるためにローカルで実行するように設計されており、セットアップスクリプトを使用して依存関係を管理します。Python 3.12+とgit-lfsが必要です。サポートされているプラットフォームはmacOSで、Linux (x86_64) およびWindows (WSL2経由) は現在開発中です。セットアッププロセスでは、ldraw-annotator、ldraw-xray、jev-rerank、mpd2glbなどのいくつかの専門ツールに加え、BlenderとLeoCADのローカルインスタンスがインストールされます。

現在の制限事項

初期リリースであるため、プロジェクトはいくつかの技術的な課題に直面しています。

  • 複雑さのスケーリング: 大規模なモデルや複雑なメカニズムは、エージェントの現在の計画能力を超えることが多く、非効率な処理や「深みにはまる」原因となります。
  • 物理シミュレーション: システムは現在、重力、重量、慣性、力学的相互作用などの物理的特性を考慮していません。
  • アニメーションの忠実度: 機能的な結果を生成することは可能ですが、ホースやケーブルのような柔軟なパーツのアニメーションはしばしば破損し、ローエンドのモデルでは目立つアーティファクトが発生する可能性があります。

コミュニティとコラボレーション

ldraw-mechaの開発は、長年続くLDrawコミュニティのエコシステムの上に構築されています。pyldraw3の作成者であるHarold Martinは、決定論的なモデルおよび手順構築のためのエージェント型ワークフローの統合に関して、LEGO関連ツールに取り組む開発者間のコラボレーションを促進することに関心を示しています。プロジェクトの著者は、コードベースを探索したい人のために、モーションプランニング、APIの使用法、アーキテクチャ設計を網羅したドキュメントのリポジトリを維持しています。

"My current main effort is deterministic model/instructions building but I've been thinking a lot about how to incorporate agents." — Harold Martin, creator of pyldraw3

Sources