Swimming pool
A low-poly five-lane 25 m lane pool set into a warm-white deck, with starting blocks, ladder rails, lane ropes with orange end zones and backstroke flag lines. It is a static, game-ready piece of the Sports Centre kit.

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
- 5,978
- Vertices
- 12,640
- Meshes · materials
- 38 · 38
- Size (W × H × D)
- 30 m × 4.4 m × 17 m
- File
- GLB · 377 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Sports Centre
Palette · named materials
- base (deck top) — warm white#f2ede2
- trim (cut sides, ladders, kick plates, flag posts) — mid grey#7d828c
- base (tank lining) — court blue light#6190d1
- water — court blue#2e67b8
- trim (coping) — court blue dark#1f457a
- earth (block stands) — soot black#1b1b22
- accent (block platforms, rope end zones, pennants) — energy orange#ed7e1d
- trim (rope floats, flag cord, pennants) — white#f4f1ec
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/sports-centre-swimming-pool/7d356a136c/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Swimming pool for the Sports Centre 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. This is one part of the Sports Centre kit (Low-poly style, flat-lowpoly direction): Courts, pool and gym. Use ONLY the kit palette, by name: court blue #2e67b8, wood #7d5736, white #f4f1ec, energy orange #ed7e1d, court blue dark #1f457a, wood dark #47321f, court blue light #6190d1, wood light #ac7d53, 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 `sportOnCourt` (0–1, default 0.5) for the kit's "Sport on court" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Generation: 3.04M tokens (94% cached) · ≈ $2.58 at API prices · 5-hour plan +9%, weekly plan +1%
- Direction: Low-poly · family scenes
- three-check PASS · glb-lint PASS
Named parts · 18
- Swimming pool
- Swimming pool (assembly)
- Deck and tank
- Deck top
- Deck cut sides and base
- Tank lining
- Water
- Water
- Coping
- Coping band
- Starting blocks
- Starting block 1 (of 5, block-1 … block-5; each has .stand, .platform, .kick)
- Ladders
- Ladder 1 (of 4, ladder-1 … ladder-4)
- Lane ropes
- Lane rope 1 (of 4, rope-1 … rope-4; each has .floats and .ends)
- Backstroke flags
- Backstroke flag line 1 (of 2; each has .posts, .white, .orange)
Note: Size: 29.8 m long (X) × 17.3 m wide (Z) × 4.4 m tall to the flag posts. The water is 25 × 12.5 m (five 2.5 m lanes) and 2 m deep, with the surface 0.3 m below the 2.6 m deck. The origin is bottom centre on y = 0, the long side faces +Z, and the starting blocks are at the +X end. The pool is built as a solid diorama block with mid-grey cut sides and a closed base. The water is an opaque slab, so the tank floor is not modelled. Material names are the kit palette colour names. The GLB holds one copy of the material per mesh (38 in all) because of how the exporter works, but each copy carries its palette name, so recolouring by name still works. 'Sport on court' sets how ready the pool is for lane sport: at 0 it is open leisure water with no ropes or flags, ropes deploy from the centre lanes outward up to 0.5, and the backstroke flag lines hang from 0.5 up. The GLB carries the default parameters. The other params change geometry only when you rebuild in the viewer. Static: no animation clip. glb-lint reports 0 errors. Its warnings are heuristic: duplicate per-mesh materials, rope float runs sharing a group, the ladders and coping embedded in a deck that sits in a different group, and height ≠ the 1 m reference.
About the Swimming pool 3D model
Swimming pool is a free low-poly 3D model from the Sports Centre set. It measures 30 m × 4.4 m × 17 m (W × H × D) at real-world scale and is built from 5,978 triangles across 38 meshes, with 18 named parts. Download the 377 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Swimming pool 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), 377 KB: 5,978 triangles, 12,640 vertices and 38 materials, modelled in metres at 30 m × 4.4 m × 17 m.
- Can I animate Swimming pool?
- It ships as a static mesh. Its 18 named parts are separate nodes, so you can move or animate each one in your engine.
- 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 Swimming pool 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 Sports Centre →Free under the 1DesignTool 3D library license. Model #35 of 1378.







