FREEcommercial use · no sign-up

Shopping trolley

A low-poly supermarket shopping trolley: a tapered grey wire basket on a low chassis with a wire lower tray, a green push-handle grip, green corner bumpers and nose panel, and four swivel caster wheels. In a seamless 6 s loop the back gate swings in on its hinge, the red child seat folds down and up, and the casters wobble on their swivels.

Shopping trolley 3D model
This model carries a baked animation clip.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.

Triangles
2,980
Vertices
8,452
Meshes · materials
25 · 25
Size (W × H × D)
61 cm × 1.0 m × 99 cm
File
GLB · 322 KB
Animation
scene-motion · 6.0s
Collection
Supermarket

Palette · named materials

  • mid grey — wire basket, chassis, tray, gate, handle bar, caster forks#7d828c
  • fresh green — handle grip and nose brand panel#3a883a
  • fresh green dark — corner bumpers#235223
  • red — child seat flap#c32222
  • soot black — tyres, gate and seat hinges#1b1b22
  • white light — wheel hubs#f9f8f6
  • white — child seat flap when unbranded (brandColours < 0.25)#f4f1ec
  • white dark — nose panel when unbranded (brandColours < 0.25)#d7cebc

Use it

import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/supermarket-shopping-trolley/a87f41aa2b/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z

const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)

How it was made

The brief given to 1DesignTool's “3D object” template:

Shopping trolley for the Supermarket kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. This is one part of the Supermarket kit (Low-poly style, flat-lowpoly direction): A full grocery store interior. Use ONLY the kit palette, by name: white #f4f1ec, fresh green #3a883a, red #c32222, light wood #ac7d53, white dark #d7cebc, fresh green dark #235223, white light #f9f8f6, fresh green light #5db15d, soot black #1b1b22, warm white #f2ede2, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `brandColours` (0–1, default 0.5) for the kit's "Brand colours" setting wherever it makes sense on this part, and keep that id.
  • Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
  • Direction: Low-poly · family abstract-kinetic
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 11

  • Shopping trolley
  • Chassis and tray
  • Wire basket
  • Handle
  • Bumpers and brand panel
  • Back gate
  • Child seat flap
  • Front left caster
  • Front right caster
  • Back left caster
  • Back right caster

Note: Size: 0.61 m wide (handle end caps), 0.99 m long and 1.02 m tall to the top of the handle grip. The basket rim is at 0.93 m and its floor at 0.5 m, and the wheels are 125 mm across. The origin is at the bottom centre with all four wheels resting on y = 0. The basket nose faces +Z and the handle is at the back (-Z). The exported model has 2,980 triangles in 25 meshes. Every material is named exactly after its Supermarket palette colour. The exporter writes one material per mesh, so the same colour name appears on several materials: recolour by name. The wire is matte mid grey, not chrome, because the flat-lowpoly direction has no gloss. The baked clip scene-motion (6 s, seamless, every pivot back at rest at 0 s and 6 s) only moves parts on their own pivots. The back gate swings into the basket on its top hinge (0–2.7 s). The child seat flap folds down on its lower hinge on the gate (3–5.7 s). The four casters wobble on their swivel pins, with the front-left one extra wobbly, and the wheels rock on their axles. The chassis, basket and handle never move. Params are baked into the GLB at their defaults and only change the model when the scene is rebuilt in the viewer. brandColours (the kit's 'Brand colours' setting): below 0.25 the trolley is unbranded (black grip and bumpers, white seat, white-dark nose plate). From 0.25 the grip, bumpers, seat and nose panel take the brand greens and red, and the plain nose panel grows taller as the value rises. Both param extremes pass three-check: brand 0, basket 0.65 m, handle 0.92 m, wobble 0.7; and brand 1, basket 0.95 m, handle 1.1 m, wobble 0. glb-lint: 0 errors and 5 heuristic warnings. Two come from the per-mesh materials (material count and duplicates). One flags non-indexed geometry, which is deliberate flat shading. One flags overlaps where the welded wire frame members are nested. The last flags the four caster forks as 'detached', but each fork sits on its mount plate and carries the wheel axle. The lint verdict reads UNVERIFIED only because no host requirements contract was supplied. plan-check passes except for one rule: its part-id regex rejects the hyphens in the slug-based ids this library requires. With the hyphens removed, the same plan passes. three-check accepts the hyphenated ids, and all 11 survive the GLB reload.

About the Shopping trolley 3D model

Shopping trolley is a free animated low-poly 3D model from the Supermarket set. It measures 61 cm × 1.0 m × 99 cm (W × H × D) at real-world scale and is built from 2,980 triangles across 25 meshes, with 11 named parts and a baked animation (6.0 s). Download the 322 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.

Is the Shopping trolley 3D model free for commercial use?
Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
What file format is it, and how big is it?
A single binary glTF 2.0 file (.glb), 322 KB: 2,980 triangles, 8,452 vertices and 25 materials, modelled in metres at 61 cm × 1.0 m × 99 cm.
Is Shopping trolley animated?
Yes — the GLB carries a baked animation (6.0 s), ready to play with any glTF animation mixer.
Which engines and tools can open it?
Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
How was the Shopping trolley 3D model made?
Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.

Free under the 1DesignTool 3D library license. Model #29 of 761.