Source-linked AI summary

SceneCraft: An LLM Agent for Synthesizing 3D Scene as Blender Code

Ziniu Hu, Ahmet Iscen, Aashi Jain, Thomas Kipf, Yisong Yue, David A. Ross, Cordelia Schmid, Alireza Fathi

arXiv:2403.01248v1cs.CVcs.AIcs.CLcs.LG

TL;DR

Text-to-3D scene composition demands spatial planning that remains challenging for LLMs and object-focused generative models. SceneCraft uses scene graphs, Blender scripts, visual feedback, and a learned spatial-skill library; it reports stronger CLIP and constraint-passing results than BlenderGPT and demonstrates scene-guided video generation.

  • Problem

    Composing multi-asset scenes requires predicting complex spatial relationships and layouts, while recent text-to-3D models have focused on individual objects.

    Source: §1 · p. 1, §2.2 · p. 3, §2.1 · p. 3
  • Method

    SceneCraft plans with a relational scene graph, converts relations into numerical constraints for Blender scripts, iteratively reviews rendered images, and learns reusable spatial skills from script changes.

    Source: §1 · p. 2
  • Results

    45.1% and 40.9% improvement on generated scenes’ CLIP score over BlenderGPT across unseen synthetic queries and Sintel, with constraint passing scores of 88.9 against 5.6.

    Source: §1 · pp. 2–3
  • Takeaways & Limitations

    The evaluation reports that SceneCraft-generated scenes and videos better capture described narrative and artistic nuances and can benefit a lightly fine-tuned video generative model.

    Source: §1 · p. 2

    The work’s code had not been released, and the authors planned to compare after it became open source.

    Source: §5 · p. 8

Abstract

from arXiv · show

This paper introduces SceneCraft, a Large Language Model (LLM) Agent converting text descriptions into Blender-executable Python scripts which render complex scenes with up to a hundred 3D assets. This process requires complex spatial planning and arrangement. We tackle these challenges through a combination of advanced abstraction, strategic planning, and library learning. SceneCraft first models a scene graph as a blueprint, detailing the spatial relationships among assets in the scene. SceneCraft then writes Python scripts based on this graph, translating relationships into numerical constraints for asset layout. Next, SceneCraft leverages the perceptual strengths of vision-language foundation models like GPT-V to analyze rendered images and iteratively refine the scene. On top of this process, SceneCraft features a library learning mechanism that compiles common script functions into a reusable library, facilitating continuous self-improvement without expensive LLM parameter tuning. Our evaluation demonstrates that SceneCraft surpasses existing LLM-based agents in rendering complex scenes, as shown by its adherence to constraints and favorable human assessments. We also showcase the broader application potential of SceneCraft by reconstructing detailed 3D scenes from the Sintel movie and guiding a video generative model with generated scenes as intermediary control signal.

1. Introduction

SceneCraft targets text-to-3D scene composition, where spatial and semantic relationships make layout difficult and object-focused generative models fall short of composing entire scenes. It combines scene-graph planning, rendered-image feedback, and reusable spatial skills; evaluations report gains over BlenderGPT on CLIP score and constraint passing.

1. Introduction

  • Prior text-to-3D models focused on individual objects, while template- and rule-based scene systems required extensive human input, especially in new domains.SceneCraft instead generates executable Blender code for visually cohesive, contextually accurate scenes.Source: §1 · pp. 1–2
  • An LLM planner builds a scene graph, translates spatial relations into numerical constraints, and refines Blender scripts using rendered-image review.A specialized solver sets asset locations, orientations, and sizes; GPT-V identifies misaligned semantic relations and corresponding constraints.Source: §1 · p. 2
  • SceneCraft learns reusable spatial skills by integrating recurring code patterns from script revisions across batches, without human expertise or LLM parameter tuning.The paper gives a grounded lamp-and-desk constraint as an example of a learned skill.Source: §1 · p. 2
  • The evaluation includes synthetic and real-world data, and generated scenes also serve as inputs to a lightly fine-tuned video generative model.For Sintel, the video model is fine-tuned on the first half using ground-truth scene images, then receives generated scenes for the second half.Source: §1 · p. 2
  • 45.1% and 40.9% improvement on generated scenes’ CLIP score over BlenderGPT across unseen synthetic queries and Sintel; constraint passing scores were 88.9 against 5.6.The paper also reports higher human preference ratings and improved narrative and artistic alignment in generated scenes and videos.Source: §1 · pp. 2–3

2. Approach

SceneCraft turns text queries into Blender scenes by decomposing them into sub-scenes, planning asset relationships, and optimizing layouts through code and visual feedback. It also aggregates recurring code changes into a reusable spatial-skill library.

2.1. Asset Retrieval and Scene Decomposition

  • SceneCraft retrieves 3D assets from text descriptions and decomposes large queries into sub-scenes, each with its own assets and description.The sub-scene descriptions guide later optimization.Source: §2.1 · p. 3

2.2. Scene Graph Construction

  • A relational scene graph links assets to spatial relations, providing a high-level plan that reduces the complexity of arranging them.The graph serves as an intermediate abstraction instead of directly predicting every asset’s layout matrix.Source: §2.2 · pp. 3–4

2.3. Scene Layout Optimization in a Feedback Loop

  • For each relation, scoring functions evaluate constraint satisfaction, and a solver searches for a layout that balances multiple constraints.The LLM-Coder reuses library functions and predicts their arguments, such as proximity distances.Source: §2.3 · p. 4
  • Rendered scenes are reviewed visually and iteratively revised; the reviewer can update graph edges, scoring functions, or function arguments when layouts are incorrect.The initial layout may miss query requirements or commonsense constraints, or use functions that fail to capture semantic relations.Source: §2.3 · pp. 4–5

2.4. Library Learning

  • Across queries, SceneCraft merges recurring changes to relation functions into a global library without ground-truth scenes, explicit rewards, human intervention, or LLM parameter updates.The paper reports building a robust skill library using 20 examples with ground-truth constraints and dual-loop optimization.Source: §2.4 · pp. 5–6

3. Experiments

Experiments evaluate SceneCraft on synthetic queries with annotated spatial constraints and on Sintel scene reconstruction and video generation. SceneCraft outperforms the baselines in the reported scene and video evaluations, with human raters also favoring its outputs.

3.1. Evaluate Scene Synthesis with Given Constraints

  • The synthetic evaluation uses 40 manually created queries with ground-truth constraints; 20 build the skill library and 20 are held out for evaluation.Because the dataset lacks ground-truth scene layouts, evaluation uses CLIP similarity and annotator-written functions that score query-specific constraint satisfaction.Source: §3.1 · p. 6
  • SceneCraft improves over all baselines on both CLIP similarity and constraint score for synthetic queries with annotated constraints.BlenderGPT scores 5.6 on constraint score; the reported examples show failures to stack boxes and align trees with a road edge.Source: §3.1 · p. 6, Table 1 · p. 7
  • Human raters significantly favor SceneCraft over BlenderGPT in text fidelity, composition and constraint agreement, and aesthetics.The evaluation collected 22 responses across 10 randomly ordered output pairs, with the largest improvement in constraint agreement.Source: Table 2 · p. 7, §3.1 · p. 7
  • Removing inner-loop optimization causes a 38.4-point drop in constraint score, and the ablations indicate that all three components matter.The paper also identifies inner-loop updates as the basis for library learning without human annotation.Source: §3.1 · p. 7

3.2. Scene-Guided Video Generation over Sintel Movie

  • The Sintel case study assumes ground-truth assets and tests layout planning on the second half of the movie after training on the first half.The recovered scenes condition a fine-tuned VideoPoet model, which generates two-second videos.Source: §3.2 · p. 7
  • On Sintel, SceneCraft improves scene-planning results over BlenderGPT, and its generated scenes improve video generation over the vanilla text-to-video baseline.The paper reports that generated videos follow structures more similar to ground-truth videos.Source: §3.2 · p. 7, Figure 5 · p. 7, Table 3 · p. 8

4. Related Works

Prior text-to-3D scene systems rely on symbolic rules or domain-specific learned models, while SceneCraft explores LLM reasoning for layout planning and general spatial skills. It also differs from 3D-GPT in its Blender access and dual-loop self-improvement pipeline.

Text to 3D-Scene Synthesis

  • Earlier symbolic scene-generation systems often require manual language-to-placement mapping and substantial human maintenance, limiting generalization to new domains and constraints.Later symbolic systems use spatial knowledge, lexical grounding, and interactive editing.Source: §4 · p. 8
  • Neural scene-generation work often targets specific domains such as indoor scenes and is constrained by the availability of 3D scene data.RoomDreamer jointly generates indoor layout, geometry, and texture; LEGO-Net focuses on layout planning.Source: §4 · p. 8
  • SceneCraft explores using pretrained LLM knowledge and reasoning for direct layout planning without parameter tuning, and learning general spatial skills from few synthetic queries.Source: §4 · p. 8

Multimodal LLM Agents

  • Compared with 3D-GPT, SceneCraft directly uses Blender and a larger asset pool and adds dual-loop learning for skills intended to handle unseen tasks.The passage says 3D-GPT uses Infinigen, which then supports fewer assets and environment arguments; it also contrasts SceneCraft's learning with reliance on manual prompt design.Source: §4 · p. 8

5. Conclusion

SceneCraft is presented as an autonomous agent that turns text queries into Blender scripts and uses multimodal LLMs in a dual-loop framework for refinement and spatial-skill learning. The conclusion also identifies unreleased 3D-GPT code as a comparison constraint and names two future directions.

5. Conclusion

  • SceneCraft combines inner-loop script generation and self-critiquing with an outer loop that expands a spatial-skill library without expensive LLM parameter tuning.Source: §5 · p. 8
  • 3D-GPT’s code had not been released, so the authors planned to compare with it after release.Source: §5 · p. 8
  • Future work proposed reconstructing 3D scenes from open-domain images or videos and using generated data to fine-tune video generation conditioned on a 3D-scene control signal.Source: §5 · p. 9

Impact Statements

The authors describe potential benefits for gaming, cinematic, and design industries, and report learning a non-parametric skill library from synthetic queries without private information.

Impact Statements

  • The work may benefit gaming, cinematic, and design industries; its skill library is learned from synthetic queries without private information.Source: Impact Statements · p. 9

A. Examples of SceneCraft’s Generated Scripts and Rendered Scenes

The appendix points to two figures showing example SceneCraft scripts and rendered scenes on synthetic datasets.

A. Examples of SceneCraft’s Generated Scripts and Rendered Scenes

B. List of relationships

SceneCraft covers a broad set of spatial relationships and aims to learn their constraint-satisfaction functions autonomously. These relationships support visual appeal and contextual coherence.

B. List of relationships

  • The relationship set includes proximity, direction, alignment, symmetry, overlap, parallelism, perpendicularity, hierarchy, rotation, repetition, and scaling.Examples include a chair near a table, aligned paintings, and repeated street lights.Source: B. List of relationships · p. 12
  • SceneCraft’s major contribution is autonomously learning and evolving constraint-satisfaction functions for the scene relationships.Traditionally, human experts write these functions.Source: B. List of relationships · p. 12
  • These relationships are presented as vital to scenes being visually appealing and contextually coherent.Source: B. List of relationships · p. 12

C. Spatial Skill Library

The library includes editing, scene-information, and constraint-scoring functions, all autonomously written and modified by the LLM agent.

C. Spatial Skill Library

  • The agent autonomously writes and modifies editing, scene-information, and relationship constraint-scoring functions without ground-truth labels or explicit human intervention.Examples include object importing, camera addition, scaling, repetition, shortest-distance calculations, and volume calculations.Source: C. Spatial Skill Library · p. 12

D. Examples of annotated queries

Examples of annotated queries and per-scene scoring functions are shown in Figures 8 and 10.

D. Examples of annotated queries

E. Prompt Used at each stage

This section presents prompts used across SceneCraft stages, Blender helper code for representing, scoring, and arranging spatial layouts, and an example prompt with a questionnaire interface covering text fidelity, composition, and aesthetics.

  • The prompt used in SceneCraft is shown in Figure 10.Source: E. Prompt Used at each stage · p. 12
  • The code defines helpers to scale object groups, rotate objects around the Z axis, shift objects, and identify the highest and lowest vertex points for supplied object lists.Source: E. Prompt Used at each stage · p. 15
  • Constraint evaluation sums scores from functions over involved assets, while iterative search adjusts asset positions and retains the best-scoring layout.The random adjustment shown changes x and y while keeping z constant; the search can run for up to 100 iterations.Source: E. Prompt Used at each stage · p. 18
  • The parallelism score combines similarity of successive positional vectors with similarity of asset orientations.Source: E. Prompt Used at each stage · p. 19

E. Prompt Used at each stage

  • The final score averages position and orientation scores.The code defines final_score = (position_score + orientation_score) / 2.Source: E. Prompt Used at each stage · p. 19
  • Proximity scoring interpolates between minimum and maximum distances, while direction scoring maps the angle between an object's facing vector and its target to a 0–1 score.The proximity score is 1 at or below min_distance and 0 at or above max_distance; the direction score maps cosine similarity from [-1, 1] to [0, 1].Source: E. Prompt Used at each stage · pp. 19–20
  • Additional evaluators score axis alignment, symmetry around the median coordinate, and perpendicularity between objects' forward vectors.Alignment uses coordinate variance, symmetry uses average mirrored-coordinate deviation, and perpendicularity scores orientations using the absolute cosine of their angle.Source: E. Prompt Used at each stage · pp. 20–21
  • Other evaluators check vertex overlap, compare object volumes with an expected size hierarchy, and measure uniformity of angular spacing around a center.Hierarchy adherence is the fraction of positions matching the expected order; rotational uniformity is based on the variance of consecutive angle differences.Source: E. Prompt Used at each stage · pp. 20, 22
  • Arrangement helpers move object sets toward a distance threshold, duplicate layouts along a specified direction, and create a camera aimed at a target point.The camera helper accepts a location, target point, and lens value, defaulting to 35.Source: E. Prompt Used at each stage · pp. 22–23
  • Figure 10 presents an example of prompts being used.Source: Figure 10 · p. 26
  • Figure 11 shows a questionnaire interface with three questions about text fidelity, composition, and aesthetics.Source: Figure 11 · p. 27
Loading 2403.01248v1…