---
name: blender-3d-maker
description: Create, modify, render, and animate 3D objects with Blender. Use when the user asks for Blender work, 3D models, 3D items, cars, objects, product renders, characters, creatures, skulls, logos as 3D, turntable animations, spinning GIFs/videos, or work with .blend, .stl, .obj, .fbx, .glb/.gltf, .ply, or other 3D assets. Prefer this over fake 2D rotations when the user wants real 3D form.
---


# Blender 3D Maker

## Core Standard

Use Blender for actual 3D geometry, lighting, camera, materials, and rendering. Do not satisfy a real 3D request with a flat image squash/flip animation unless the user explicitly asks for a 2D sprite effect.

If the subject must be recognizable or accurate, such as a car, skull, weapon replica, product, or real object, use a real licensed model/reference or build geometry carefully enough to match the subject. Primitive blobs are only acceptable for explicitly stylized or rough mockup requests.

## Workflow

1. Confirm Blender is available with `blender --version`; if missing, ask before installing because Blender is a large app install.
2. Decide the production path:
   - **Import existing mesh** for accurate subjects, user-provided files, anatomical objects, vehicles, product assets, or exact replicas.
   - **Procedural Blender Python** for stylized objects, simple products, abstract scenes, icons, labels, and fast custom builds.
   - **Hybrid** when a downloaded/user mesh needs procedural additions such as decals, text, materials, lights, labels, or animation.
3. Respect licensing. When downloading a mesh or reference from the web, use reputable sources, verify the license/attribution, save the source URL, and mention attribution in the final answer.
4. Create a task-local Blender script in the workspace for anything custom. Use the bundled `scripts/render_turntable.py` only as an import-and-render helper or starting template.
5. Render a preview before the final:
   - single front frame for stills;
   - 4-angle sheet for turntables: front, side, back, opposite side.
6. Inspect previews with image viewing. If the subject does not read clearly, fix the mesh orientation, camera, material contrast, lighting, or geometry before rendering the final.
7. For GIFs, render PNG frames first, then convert with ffmpeg palette generation. Keep source frames until the user confirms the output is good.
8. Report final paths, source model/license if applicable, and whether the asset is procedural or imported.

## Turntable Defaults

- Use 512x512 or 768x768 unless the user asks otherwise.
- Use 60-96 frames for smooth 360 loops.
- Use 24 fps for GIF/video unless the user asks for a different speed.
- Use orthographic camera for product/object turntables; perspective camera for cinematic scenes.
- Use a black or transparent background only when requested; otherwise choose a simple studio background.
- Use `ffmpeg` palettegen/paletteuse for GIF quality:

```bash
ffmpeg -y -framerate 24 -i "frames/frame_%04d.png" \
  -filter_complex "split[s0][s1];[s0]palettegen=max_colors=128[p];[s1][p]paletteuse=dither=bayer:bayer_scale=3" \
  -loop 0 "output.gif"
```

## Quality Checks

- Object silhouette reads from front, side, and back.
- Camera framing leaves breathing room and does not crop important parts.
- Materials match the subject: metal, glass, rubber, paint, bone, plastic, fabric, etc.
- Lighting reveals form without washing out details.
- Decals/text/marks attach to the 3D surface or are parented to the object when the object rotates.
- Animation loops cleanly: first and last frames should not duplicate unless using video encoding that needs closure.

## Subject Guidance

- **Cars:** use accurate body proportions, four wheels, wheel wells, windows, grille, headlights, taillights, mirrors, and appropriate paint/glass/rubber materials. Prefer a licensed model for specific makes/models.
- **Products/items:** use bevels, weighted normals/smooth shading, realistic scale, and material contrast.
- **Creatures/characters/anatomy:** prefer real sculpted models or strong references; verify facial/body features from multiple angles.
- **Logos/sigils/decals:** create curves/text in Blender and parent or surface-place them so they move with the object.
- **Pixel/8-bit 3D:** render real 3D first, then pixelate in ffmpeg/Pillow by downscaling and nearest-neighbor upscaling.

## Bundled Resources

- `scripts/render_turntable.py`: Blender Python helper for importing a mesh, setting up a studio scene, rendering turntable frames, and optionally adding simple text/decal curves.
- `references/blender-workflow.md`: concise command patterns and asset-source reminders.
