'LL3M' uses AI to generate Python code to create and edit 3D assets in Blender

LL3M , an abbreviation for
LL3M: Large Language 3D Modelers
https://threedle.github.io/ll3m/

LL3M was created by 3DL , a computer graphics research team led by Professor Lana Hanocka of the University of Chicago.
LL3M takes textual instructions from the user and allows for the creation of expressive shapes from scratch, enabling complex and precise geometric manipulations to be achieved through code. While code-written LLMs focus on procedural programs and primitives with specific subtasks and constraints when creating 3D assets, LL3M allows for the creation of assets without constraints on geometry, layout, appearance, etc.
Using high-level code as a 3D representation, the LL3M pipeline functions as a loop of iterative refinement and co-creation. The agent performs automatic code generation and visual self-criticism, allowing the user to provide continuous high-level feedback. The generated Blender nodes and structures have clear code and transparent parameters, and can be edited after generation.
The LL3M pipeline is as follows: The 3D model generation process using LL3M is divided into three phases: the 'initial generation phase,' the 'automatic adjustment phase,' and the 'user-guided adjustment phase.' These are conceptual phases in the 3D model generation process, and different agents play different roles in each phase.

In the 'Initial Generation Phase,' the user first enters the 3D asset they want to create using text. In the example below, the creation of a 3D model of a 'chair' is simulated. Next, the 'Planner Agent' breaks down the desired 3D model (chair) into its individual elements, such as armrests, legs, and backrest. The 'Search Agent' uses

In the 'auto-tuning phase,' the 'criticism agent' evaluates the generated 3D model and points out any defects. Based on these corrections, the 'coding agent' generates code for the 3D model again. Next, the 'verification agent' checks whether the corrections made by the criticism agent were correct. If they are correct, the process moves to the next phase.

In the 'User Guide Adjustment Phase,' we receive 'user feedback.' If there is feedback, the 'coding agent' modifies the code for the 3D model based on the feedback. Finally, the 'verification agent' verifies that the 'user feedback' has been accurately reflected.
The image below shows how the generated 3D model is adjusted through three phases: 'initial generation face' (left), 'auto-adjustment phase' (middle), and 'user guide adjustment phase' (right).

Below is an example of a 3D model generated by LL3M. The prompts used to generate it are, from top left, 'purple and pink gradient skateboard,' 'red five-piece drum with cymbals,' 'launching red rocket,' 'adjustable table lamp,' and 'cartoon-style windmill.' From bottom left, 'fancy sandcastle,' 'elegant black piano,' 'pink oriental pearl tower,' 'stylish Chinese lantern,' and 'green baby dragon breathing fire.'

In the 'User-Guided Adjustment Phase,' LL3M allows you to edit the same 3D asset multiple times in succession, preserving the characteristics of the base 3D model while changing only the specified parts.

Below is an example of Python code generated by LL3M for Blender. The code is well-structured with explanatory comments, clear variables (e.g., key widths), and structured logic (e.g., keyboard patterns), so variables and logic can be easily modified.

LL3M can also generate multiple objects and position them in the appropriate spatial relationships within a single scene. LL3M accomplishes this task by building a scene hierarchy using complex operations such as instancing and parent-child relationships. LL3M's coding agent can also apply parent-child relationships to more complex single objects, such as lamps, when explicitly instructed to do so. This allows for the generation of human-readable hierarchical structures with parent-child relationships between parts in a scene. This allows scene graphs in Blender to work, where transformations applied to parents propagate to their children.

Related Posts:
in Software, Posted by logu_ii