FREEcommercial use · no sign-up

Waving flags

A low-poly festival flag stand: three steel poles of stepped height on a sandbagged wooden pallet, flying a striped flag, a fly-banded flag and a swallowtail pennant. The flags wave in a seamless 6-second loop.

Waving flags 3D model
This model carries a baked animation clip.

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
1,300
Vertices
3,900
Meshes · materials
42 · 42
Size (W × H × D)
2.8 m × 5.1 m × 90 cm
File
GLB · 246 KB
Animation
scene-motion · 6.0s
Collection
Music Festival

Palette · named materials

  • accent — top flag field#ed7e1d
  • accent — top flag band, middle flag field#f2ede2
  • foliage — middle flag fly end, pennant#3a883a
  • trim — flag sleeves#090a0b
  • trim — socket collars#3a3c40
  • trim — poles and socket tubes#7d828c
  • trim — ball finials#1b1b22
  • earth — pallet#3d2a1c
  • base — sandbags (and folk-genre pennant)#988e81
  • base — sandbags (and folk-genre top flag band)#70685c
  • base — folk-genre top flag field#b6b3af
  • base — night-genre top flag field and middle flag fly end#151619

Use it

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

const gltf = await new GLTFLoader().loadAsync(
  "https://assets.stoicsoft.com/1designtool/3d/models/music-festival-waving-flags/d84d6626f0/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:

Waving flags for the Music Festival 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 Music Festival kit (Low-poly style, flat-lowpoly direction): Stages, tents and mud. Use ONLY the kit palette, by name: tie-dye #988e81, stage black #151619, grass green #3a883a, sunset orange #ed7e1d, tie-dye dark #70685c, stage black dark #090a0b, tie-dye light #b6b3af, stage black light #3a3c40, 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 `genre` (0–1, default 0.5) for the kit's "Genre" setting wherever it makes sense on this part, and keep that id.
  • Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
  • Generation: 4.42M tokens (96% cached) · ≈ $2.89 at API prices · 5-hour plan +5%, weekly plan +1%
  • Direction: Low-poly · family abstract-kinetic
  • three-check PASS · glb-lint PASS
Make your own with 1DesignTool →

Named parts · 14

  • Waving flags
  • Pallet base
  • Sandbags
  • Pole sockets
  • Poles and finials
  • Top flag
  • Top flag strip 1 (hoist, pivots on the pole axis)
  • Top flag strip 8 (fly end)
  • Middle flag
  • Middle flag strip 1 (hoist)
  • Middle flag strip 8 (fly end)
  • Pennant
  • Pennant strip 1 (hoist)
  • Pennant strip 8 (swallowtail)

Note: Size: the tallest pole stands 5.0 m and its finial tops out at 5.09 m. The other poles are 3.65 m and 2.45 m. The flags measure 1.6 × 1.0 m, 1.36 × 0.85 m and 1.15 × 0.7 m, and the pallet is 2.14 × 0.9 m. With the flags flying the stand is about 2.85 m wide. Units are metres with +Y up. The front (the flag faces) points +Z and the flags fly toward +X. The origin is at the bottom centre of the pallet, which is the still footprint, so the flags extend asymmetrically toward +X. The model rests on y = 0. The GLB has 1,300 triangles and carries one baked clip, 'scene-motion' (6 s, seamless: t = 0 and t = 6 match exactly). Each flag is eight rigid strips on a hinge chain. Strip 1 yaws about its pole axis, and every later strip yaws about the fly edge of the strip before it, so the ripple is rotation tracks rather than vertex cloth. Pallet, sandbags, sockets, poles and finials never move. Every material is named exactly after a kit palette colour, and every mesh is flat-shaded with metalness 0 and roughness 0.95. The exporter writes one material per mesh, so palette names repeat; recolour by name. genre (the kit's 'Genre') recolours the flags in three bands: below 0.33 is folk (tie-dye and grass green), 0.33–0.67 is day stage (sunset orange, warm white, grass green) and above 0.67 is night stage (stage black, sunset orange, warm white). The GLB is the default build at genre 0.5. mastHeight, poleCount, flagLength and wind rebuild or re-pose the model in the viewer only. Lower poles always drop 1.35 m and 1.2 m so each finial clears the flag above. A headless sweep of 36 param combinations stayed grounded and under 1,300 triangles. Only the defaults were rendered. Part ids use the library's hyphenated slug. The kit's plan-check regex rejects hyphens, so the plan was validated on a de-hyphenated copy (PASS). three-check accepts the real ids, and all 14 planned ids survive the GLB reload. glb-lint reports 0 errors. Its verdict reads UNVERIFIED only because no host requirements contract was supplied. Its 6 warnings are expected: per-mesh material copies, non-indexed flat-shaded primitives, nested strip/sleeve overlaps, flag strips flagged as 'detached' because they hang from the strip before them rather than a sibling, and a 5 m height against the direction's 1 m reference. The ground disc and light rig in the preview are viewer staging and are not in the GLB.

About the Waving flags 3D model

Waving flags is a free animated low-poly 3D model from the Music Festival set. It measures 2.8 m × 5.1 m × 90 cm (W × H × D) at real-world scale and is built from 1,300 triangles across 42 meshes, with 14 named parts and a baked animation (6.0 s). Download the 246 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.

Is the Waving flags 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), 246 KB: 1,300 triangles, 3,900 vertices and 42 materials, modelled in metres at 2.8 m × 5.1 m × 90 cm.
Is Waving flags 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 Waving flags 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 #6 of 1378.