| name | blender-workflows |
| description | Common Blender workflow patterns for BlenderWeave — game-ready pipelines, scene building, iteration loops, import/export, and production techniques. |
Blender Workflow Patterns
Proven sequences for common 3D tasks via BlenderWeave tools.
Scene Building
Room/Environment Setup
- Create floor:
create_object(type="PLANE", size=10, name="Floor")
- Create walls:
create_object(type="CUBE") + transform_object to position/scale as thin slabs
- Apply materials:
manage_materials(action="create", name="Concrete", base_color=[0.5,0.5,0.5], roughness=0.8) + manage_materials(action="assign")
- Add lights:
manage_lights(action="set_properties") — start with one key light, add fill after checking perception
- Check perception after each step — SPATIAL lines catch floating objects, missing lights, overlaps
Object Placement Loop
- Create or import object
transform_object to position
- Read DELTA — confirms placement
- Read REL lines — verify spatial relationships (distance, contact)
- Read LIT/SHAD lines — verify lighting on new object
- Adjust and repeat
Game-Ready Pipeline
Full Export Workflow
- Model at high poly
uv_operation(action="smart_project") — UV unwrap
generate_lod_chain(object_name=..., ratios=[0.5, 0.25, 0.1]) — LOD levels
generate_collision_mesh(object_name=..., type="CONVEX_HULL") — collision
bake_textures(type="NORMAL", resolution=2048) — bake maps
export_model(format="GLB") — export
Texture Baking
- Create high-poly and low-poly versions
- UV unwrap the low-poly:
uv_operation(action="smart_project", object_name="LowPoly")
- Bake:
bake_textures(type="NORMAL", high_poly="HighPoly", low_poly="LowPoly", resolution=2048)
- Repeat for AO, roughness as needed
Iteration Patterns
Material Iteration
- Create material:
manage_materials(action="create", ...)
- Assign to object:
manage_materials(action="assign", ...)
- Quick check:
render_region(object_name="...", resolution=512) — 10-50x faster than full render
- Adjust:
manage_materials(action="edit_node", ...)
- Repeat render_region until satisfied
- Final:
render_scene(samples=256) for full quality
Lighting Iteration
- Set up lights with
manage_lights
- Check LIT/SHAD lines in perception — shows angles, intensity, shadows
- Adjust energy/position:
manage_lights(action="set_properties", ...)
- Read DELTA — confirms what changed
render_region on key object for visual check
- Repeat
Safety Workflow
Before Destructive Operations
save_file()
manage_snapshots(action="save", name="before_boolean")
mesh_operation(action="boolean", ...)
# If result is bad:
manage_snapshots(action="restore", name="before_boolean")
Undo Recovery
undo()
get_scene_delta() # Verify rollback
Import/Export
Import and Normalize
import_model(filepath="...", format="GLB")
- Check perception — object may be huge/tiny/offset
transform_object to normalize position/scale
manage_materials(action="list") — check imported materials
Multi-Format Export
export_model(format="GLB", filepath="model.glb")
export_model(format="FBX", filepath="model.fbx")
export_model(format="USD", filepath="model.usd")
Rigging Workflow
- Create armature:
manage_armature(action="create", name="Rig")
- Add bones:
manage_armature(action="add_bone", name="Spine", head=[0,0,0], tail=[0,0,0.5])
- Build chain: repeat for chest, neck, head, arms, legs
- Parent mesh:
manage_armature(action="parent_mesh", armature="Rig", mesh="Character", type="AUTOMATIC")
- Test weights:
manage_weights(action="list", object_name="Character")
- Adjust:
manage_weights(action="assign", ...) for problem areas
Procedural Workflows
Scatter Objects
- Create base object and instance object
manage_particles(action="create", object_name="Ground", type="EMITTER")
- Set instance collection for scattering
- Adjust count, scale randomness via particle settings
Geometry Nodes
build_node_graph(target="Object", node_tree_type="GeometryNodes", nodes=[...], links=[...])
- Preview:
render_region(object_name="...")
get_node_graph(target="Object") to inspect current state