Spinning fan
A low-poly pedestal fan for a night-market food stall. It has a weighted round base with speed buttons, a telescopic pole with a clip-on menu tag, and a red motor head with a wire guard, ribbon streamers and a three-blade rotor. It plays a seamless 6-second loop: the blades spin while the head sweeps side to side.

Left rail: colours and the 5 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
- 3,080
- Vertices
- 9,240
- Meshes · materials
- 30 · 30
- Size (W × H × D)
- 63 cm × 1.5 m × 65 cm
- File
- GLB · 259 KB
- Animation
- scene-motion · 6.0s
- Style
- Low-poly
- Collection
- Night Market
Palette · named materials
- warm red: motor drum, base dome, menu tag frame#d0253c
- warm red dark: drum caps, pole collar, button plate, rim clips, tag header#8f1929
- warm red light: ribbon streamers#de6374
- yellow: speed buttons, oscillation knob, guard badge, spinner#eecd2b
- yellow dark: menu tag lines#bda00f
- yellow light: ribbon streamers#f0db75
- charcoal: base disc, lower pole, swivel neck, saddle and nose, guard rim and wires, rotor hub#34383d
- teal: fan blades#2d8686
- soot black: rubber foot ring#1b1b22
- warm white: menu tag board#f2ede2
- mid grey: upper pole, tilt pin, shaft, guard rings#7d828c
- dark wood: menu tag peg#3d2a1c
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/night-market-spinning-fan/bab1698d9c/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:
Spinning fan for the Night Market 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 Night Market kit (Low-poly style, flat-lowpoly direction): Food stalls under string lights. Use ONLY the kit palette, by name: warm red #d0253c, yellow #eecd2b, charcoal #34383d, teal #2d8686, warm red dark #8f1929, yellow dark #bda00f, warm red light #de6374, yellow light #f0db75, 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 `cuisineAndSignText` (0–1, default 0.5) for the kit's "Cuisine and sign text" 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
Named parts · 8
- Spinning fan
- Base
- Pole
- Menu tag
- Swivel head
- Motor housing
- Guard
- Rotor
Note: Size: 1.47 m tall to the top of the guard. The base is 0.43 m across and the guard is 0.44 m across. The origin is the bottom centre of the base, which rests on y = 0, and the guard faces +Z. The GLB holds the rest pose and one baked 6 s clip, 'scene-motion', sampled at 30 fps. In the clip the rotor turns 12 whole revolutions on its shaft, and the head sweeps ±35° once on the pole-top swivel. Both pivots sit exactly on the shaft axis and the swivel axis. The base, pole and menu tag never move. The ribbon streamers are rigid and fixed to the guard, so they turn with the head but do not flutter. The model has 3,080 triangles in 30 meshes and no textures. Every material is named exactly after a kit palette colour, and all 12 colours are used. The exporter writes one material per mesh, so a colour name repeats across materials: recolour by name. Params are baked into the GLB at their defaults and change the geometry only when the scene is rebuilt in the viewer. headTilt tilts the motor, guard and rotor on the hinge pin. sweepAngle sets the oscillation amplitude of the baked clip. cuisineAndSignText (the kit's 'Cuisine and sign text') sets the size of the menu tag clipped to the pole and how many sign lines it carries (0–4 lines plus a header). The lines are abstract bars, not letters. At 0 the tag is a small blank board. glb-lint: 0 errors and 4 advisory warnings. Two come from the per-mesh materials (material count and duplicates). One is the non-indexed flat-shaded geometry. One flags deliberate nesting (caps, nose and shaft inside the motor drum). plan-check passes except for its part-id regex, which rejects the hyphens in the slug-based ids this library requires; three-check accepts those ids and all 8 survive the GLB reload.
About the Spinning fan 3D model
Spinning fan is a free animated low-poly 3D model from the Night Market set. It measures 63 cm × 1.5 m × 65 cm (W × H × D) at real-world scale and is built from 3,080 triangles across 30 meshes, with 8 named parts and a baked animation (6.0 s). Download the 259 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Spinning fan 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), 259 KB: 3,080 triangles, 9,240 vertices and 30 materials, modelled in metres at 63 cm × 1.5 m × 65 cm.
- Is Spinning fan 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 Spinning fan 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.
More like this
All of Night Market →
Scooter
Night Market2,396 tris

Rising steam
Night Market1,956 tris

Food cart
Night Market3,612 tris

Bins
Night Market788 tris

Skewers
Night Market2,496 tris

Drink coolers
Night Market3,216 tris

Lanterns
Night Market1,538 tris

Menu boards
Night Market1,304 tris
Free under the 1DesignTool 3D library license. Model #36 of 731.