30-day programme, rewritten after two days of evidence
The original plan assumed the hard part was modelling. Two days in, the model is not the problem — a 814-object trailer exists, exports at 3 MB and runs in a browser. The hard part is control: transforms, hierarchy, origins, and knowing when something is actually right rather than merely rendered. This version is built around that.
Where we actually are
| Achieved in 2 days | Evidence |
|---|---|
| A complete parametric trailer — body, prow, chassis, suspension, interior superstructure, insulation, doors with working pivots, trim, roof kit | 814 objects across 12 numbered collections |
| Sourced-parts discipline — hitch, coupler, jockey, awning, jerrycan, leaf spring, wheels, all licence-tracked | /sources |
| Parametric part families — solar panel, surfboards, hitches, jockeys, shades, cookers, showers | variant collections in the outliner |
| Baked textures — chequer plate, solar cells, striped awning canvas | 9 textures in the export |
| Bevels & real PBR — 359 parts bevelled, clearcoat on the exterior | Cycles studio render |
| Web pipeline end to end — Draco glTF, three.js viewer, door sliders, colour swap | /viewer |
| A real environment — displaced CC0 sand, HDRI light matched between Blender and browser | beach renders |
| Animation | Attempted, failed, stripped. See /failures. |
The lesson that reshapes the programme
Every serious failure in two days was a transform or hierarchy failure — not a modelling one. Wheels on the wrong pivot, children in the wrong collection, parents re-parented on the wrong frame, orientation assumed instead of measured. That is what the next 28 days should drill, because it is the skill that makes everything else — animation, camera, export, configurator — either possible or impossible.
The revised shape
| Week | Theme | Why here |
|---|---|---|
| 1 | Control — transforms, origins, hierarchy, selection | The measured weak point. Everything else stands on it. |
| 2 | Camera & light — composition, lenses, studio and natural | Fastest visible improvement per hour, and no rigging risk. |
| 3 | Animation — one mechanism at a time | Only after control is instinctive. This is where Day 2 failed. |
| 4 | Environments & finals — terrain, scatter, render settings, output | Ties it together into deliverables. |
Week 1 — Control
Day 1Words in, meshes outdone
AI generation, the Blender Lab MCP bridge, sourcing versus building. The trailer's first form.
Output: Day 1 log
Day 2Normals, shading — and hierarchy the hard waydone
Face orientation, signed-volume audits, smooth vs flat. Then, unplanned: an object lesson in what parent inverses hold and what stale matrices cost.
Output: failure log, 10 new rules
Day 3Global vs local vs object — the three spaces
The single most useful hour available to you. World space, object space, local/parent space. Why G Z 1 moves differently depending on the transform orientation dropdown. Median point vs individual origins vs 3D cursor. Do it on the trailer: move a door in each space and predict the result before pressing enter.
Drill: for ten objects, state where the origin is before clicking it.
Day 4Origins, pivots and the 3D cursor
Set Origin to Geometry / to 3D Cursor / to Centre of Mass. Snap the cursor to a vertex, an edge midpoint, a face centre. Then set every door, hatch and lid origin on its hinge line by hand.
Drill: rotate each door 90° and back; nothing may drift.
Day 5Hierarchy — parenting, keep-transform, collections
Parent with and without keep-transform and watch what changes. Collection instancing. The rule that cost us wheels: parents and children in the same collection. Audit the trailer outliner and fix every split.
Drill: move the top empty; nothing may be left behind.
Day 6Selection at speed
L linked, Ctrl +/- grow and shrink, box vs circle vs lasso, X-ray on and off, Select Similar, Select All by Trait. The jockey wheel took an hour of scripting and twenty seconds of L.
Drill: isolate five specific sub-parts in under a minute each.
Day 7Modifiers as non-destructive control
Bevel, Solidify, Array, Mirror, Boolean, Displace with a vertex-group mask. Stack order matters. Where "apply" is a one-way door.
Drill: rebuild one trailer part entirely with modifiers, no destructive edits.
Week 2 — Camera and light
Day 8Lens language
18 / 35 / 50 / 85 / 135 mm on the same subject from a distance that keeps it the same size. Learn what each does to the trailer's proportions. Product work lives at 85–135; environments at 24–35.
Day 9Composition and camera placement
Eye height vs hero-low vs three-quarter. Passport view (dead side-on) for spec sheets. Depth of field as attention, not decoration. Blender's Camera to View, and locking it.
Day 10Studio lighting
Three-point with area lights: key, fill, rim. Softbox size vs shadow softness. Seamless backdrops. Why mirror-polish stainless renders black without something to reflect.
Output: a clean product shot of the trailer on white.
Day 11HDRI and natural light
Environment texture, strength, rotation. Sun angle and golden hour. Matching a backplate. Why the same HDRI must drive both Blender and the browser viewer.
Day 12Materials that read as real
Metallic and roughness as physical values, not sliders to taste. Clearcoat. Brushed anisotropy. Glass with real thickness. Fingerprints, dust and edge wear — the difference between CG and photographed.
Day 13Render settings that matter
Cycles samples vs denoise, light paths, clamping. EEVEE for drafts. Colour management: AgX vs Filmic vs Standard, and why exposure belongs in view transform.
Day 14Compositing and output
Render passes, cryptomatte for selective grading, glare, lens distortion. File formats and colour space for web versus print.
Output: one finished hero image, graded.
Week 3 — Animation
The rule for this whole week
One mechanism at a time, verified before the next. Day 2 built path, wheels, articulation, body pitch, camera and terrain in a single step and could attribute nothing when it broke. Prove the wheels turn on a stationary vehicle before anything moves.
Day 15Keyframes and the graph editor
Insert, delete, interpolation modes, easing. The graph editor is where animation is actually made — handles, not keys. Constant vs linear vs bezier and when each is right.
Day 16One wheel, turning
Origin on the axle. Rotation about the correct local axis. Rotation matched to distance travelled so it doesn't skate. Verify by measuring roll against travel — slip should be under 1%.
Day 17Drivers — make the wheels turn themselves
A driver linking wheel rotation to the vehicle's Y position. Now the wheels can never be wrong. This is the correct solution to Day 2's hardest failure, and it is about six lines of expression.
Day 18Constraints
Copy Location / Rotation, Track To, Damped Track, Child Of, Limit Rotation. Constraints beat keyframes for anything mechanical: a trailer that follows a tow ball should be constrained, not animated.
Day 19Follow Path and vehicle motion
Curves, Follow Path, curve deform. Banking and steering. Nose-dive under braking as a rotation offset. Ease in the F-curve, not the path.
Day 20Mechanisms — the awning
A multi-part deployment: canopy extends, front bar travels, legs drop, guys tension. Parent hierarchy first, then one driver value from 0 to 1 controlling all of it. This is also exactly what the configurator needs.
Day 21Camera animation
Camera on a path with Track To. Speed ramps. When to move the camera and when to move the world. Shot grammar: establish, approach, detail. Motion blur and shutter.
Output: the arrival shot, finally — built one beat at a time.
Week 4 — Environments and finals
Day 22Terrain
Displacement from height maps, vertex-group masks for flat areas where vehicles sit, tiling and how to hide it. The sand is built; rebuild it knowingly.
Day 23Scatter and geometry nodes, gently
Distribute Points on Faces, Instance on Points, density from a texture. Grass, rocks, driftwood. Enough geometry nodes to scatter — not a full course.
Day 24Water and sky
Ocean modifier, foam, a shader-based shoreline. Sky texture with real sun position. Atmospheric depth.
Day 25Tracks, wear and dirt
Tyre tracks in sand via texture-driven displacement. Dust with simple particles. Dirt maps driven by ambient occlusion. The details that sell weight.
Day 26Realistic vehicles
What makes a car read as real: panel gaps, bevels on every edge, glass with thickness, correct ride height, tyre sidewall deformation at the contact patch, and reflections that have something to reflect.
Day 27Optimisation for the configurator
Draw calls, instancing, merging by material, LODs, texture atlasing, Draco. Take the viewer from 285 draw calls to under 100 without losing a controllable part.
Day 28Render farm & pipeline
Headless rendering on the Studio machine, frame ranges, ffmpeg assembly, versioned outputs. Automate it so a final is a command, not an afternoon.
Day 29The configurator build
three.js properly: variant swapping, driver-equivalent logic in JS, state and URL sharing. The Phase 2 work from the plan.
Day 30Unreal, one day, honestly
USD out of Blender, into Unreal, one Lumen-lit hero frame and a short flythrough. Enough to judge whether the visual gap justifies the pipeline. Decide with evidence.
Who to learn from
Ordered by usefulness to this project, not by popularity.
| Source | Why | Start with |
|---|---|---|
| Polyfjord | Vehicles, motion, real-world integration. Closest to what you're building — and he explains the why, not just the clicks. | Anything involving a car and a camera move |
| Ian Hubert | Lazy Tutorials — 60-second lessons in getting a believable result fast. Environment and texture thinking that changes how you see the problem. | The Lazy Tutorials series |
| CG Cookie | Structured and rigorous. Their Rigging Vehicles with Automatic Suspension is exactly the Day 16–19 material, done properly. | Rigging Vehicles with Automatic Suspension |
| Blender Guru (Andrew Price) | The Donut for fundamentals, but the real value is his lighting and composition talks. | Understanding Lighting; Composition |
| Josh Gambrell / Ponte Ryuurui | Hard-surface technique. Bevels, panel lines, clean topology — the things that make the trailer read as manufactured. | Hard-surface fundamentals |
| Default Cube | Deep, slightly unhinged explanations of how Blender actually works internally. Good after the basics. | Geometry nodes; shader internals |
| CGMatter | Short, technical, script-adjacent. Useful when you want the trick, not the lesson. | Anything under 3 minutes |
| Blender Studio | The official production training and open-movie files. Watch professionals structure a scene — the outliner discipline is the lesson. | Open movie production files |
| The Blender Artists forum | Where specific mechanical problems get solved. Search before asking; the vehicle rigging threads are deep. | blenderartists.org |
Add-ons worth having
| Add-on | What it solves | Verdict |
|---|---|---|
| Rigacar (free) | Auto-generates a car rig: wheel rotation from travel, steering, suspension, body roll. Everything Day 2 failed to hand-build. | Install this week |
| Node Wrangler (bundled) | Ctrl+T, Ctrl+Shift+click preview. Shader work at speed. | Enable now |
| Extra Objects / LoopTools (bundled) | Primitives and clean-up that save minutes constantly. | Enable now |
| BlenderKit / Poly Haven add-on | HDRIs, textures and assets inside Blender. CC0 filtering built in. | Worth it |
| Hard Ops / Boxcutter (paid) | Hard-surface booleans at speed. | Later — learn the manual way first |
| Geo-Scatter (paid) | Serious environment scattering. | Week 4, if environments matter |
One tip worth more than the rest
Learn the graph editor before learning more modifiers. Most people's animation looks like CG because everything moves linearly and stops dead. Ease is where realism lives — a vehicle decelerating, a door swinging with weight, a camera settling. It is one editor and about an hour, and it improves everything you make afterwards.
Revised 2026-08-15 after Day 2. Companion pages: failure log · the plan · model sources · live model