Spatial & 3D11 / 12
Daypack study
A 15 L travel daypack rebuilt in Blender, piece by piece
- Status
- Prototype
- Period
- 2026 →
- Role
- Design and development, end to end
- For
- Product and travel brands that need bags shown in 3D, and the luggage scenes of this site.
Problem
A believable bag on screen is more than a shape: straps have to be sewn somewhere, a lining has to follow the panel it belongs to, and nothing may pass through anything else when it opens or is packed.
A construction study of a commercial 15 L travel daypack, rebuilt in Blender through Python scripts from the maker's specification and public product photos: harness, mesh back panel, bottle pockets, lining and a loaded interior, with an opening animation and automated geometry checks.
Case study
The model is built by Python (bpy) scripts, one per stage: geometry, harness, connectors, materials, checks and renders, so every revision can be rebuilt and compared.
It starts from an inventory of 35 component families, with what the photos show kept apart from what is assumed. The shoulder straps have stitched roots, padding, mesh and binding; the bottle pockets are fixed at their base and back seam and flex at the side; the lining is tied to the panel it opens with.
The opening is a 96-frame animation: the two zip sliders release, the fabric folds open and settles. A cloth simulation was tried and rejected because it stretched and crossed itself; the poses were rebuilt with length-constrained segments instead.
It is a study, not a 1:1 replica: materials are procedural approximations and some dimensions are inferred.
Architecture
Blender driven entirely from Python scripts: build, geometry audit, harness assembly, connector and contact checks, texture baking and rendering. Each check writes a JSON report tied to the SHA-256 of the saved file, so a render can be traced to the exact model it came from.
Engineering decisions
- Scripts over hand edits, so a revision is reproducible and its checks rerun on the saved file.
- Evidence kept apart from assumptions in the component inventory.
- Shape states with length constraints instead of a cloth simulation that stretched and self-intersected.
- Geometry checks per frame and per load position, with their limits written down.
Challenges & trade-offs
Opening a soft bag without the fabric stretching or passing through its own lining, then packing it with folded clothes, a pouch and two bottles without any surface crossing another.
Verified results
- 35 component families inventoried
- 96-frame opening animation
- 381 positions checked: no surface crossings between the bag and its load
- Maximum edge stretch while opening: 5.8 %
Status labels are factual: nothing here is presented as more finished than it is.