{"data":{"id":"76","slug":"city-park-and-playground","title":"City Park and Playground","summary":"Walk a public park: a fenced playground with swings, a slide, a climbing frame and a roundabout that turns, then a path past a bandstand, a kiosk and a duck pond.","url":"https://3dassets.dev/demos/city-park-and-playground","coverUrl":"https://cdn.3dassets.dev/media/city-park-and-playground-demo.png","featured":true,"pack":{"slug":"city-park-and-playground","title":"City Park and Playground","url":"https://3dassets.dev/packs/city-park-and-playground","summary":"40 stylized city park models: modular path, lawn, safety surfacing and fencing, swings, a slide, a play tower, a climbing frame, monkey bars, a roundabout, a seesaw, spring rockers, a bandstand, a kiosk, benches, lamps, trees and a duck pond, in one assembled park corner.","assetCount":41,"totalBytes":1600216,"starterScene":{"slug":"city-park-and-playground-riverside-park--bcba4b86-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/33690/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-riverside-park--bcba4b86-starter-scene","fileSize":675348}},"placementCount":184,"assetCount":40,"spawn":{"position":[-4,0.324,-1.5],"yaw":-174},"publishedAt":"2026-09-11T03:29:42.547Z","updatedAt":"2026-09-11T03:29:42.548Z","description":"A city park corner laid from the pack's own lawn, path and safety surface tiles.\n\n**What is placed.** A fenced playground on rubber safety tiles holds the swing sets, the slide, the play tower, the climbing frame, the monkey bars, the rope net climber, the seesaw, the spring rockers, the roundabout and a timber edged sandpit, with a gate and a rules sign at its entrance. A path runs past it through lawn to a hexagonal bandstand, a refreshment kiosk, a pergola and a duck pond built from a ring of edge pieces. Benches, picnic tables, lamp posts, litter and dog waste bins, bollards, a drinking fountain, a notice board, a bike rack, flower beds, hedges, trees and shrub clumps dress the rest, with a brick piered park gate at the entrance.\n\n**What moves.** The swing seats swing from the top bar, the seesaw beam tips, the spring rockers rock, the roundabout spins, the playground gate and the park gate open and close, the litter bin lid lifts and the kiosk shutter raises.\n\n**What does not move, and why.** The rope net, the swing chains, the hanger rods and the rocker springs are static geometry: each is cord, chain or a spring linkage that a rigid node transform cannot drive honestly. There is nobody playing, because nothing here is skinned.","scene":{"version":1,"spawn":{"position":[-4,0.324,-1.5],"yaw":-174},"ground":{"style":"none"},"environment":{"preset":"outdoor","shadows":true},"placements":[{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-18,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-18,0,-6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-18,0,-2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-18,0,2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-18,0,6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-14,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-14,0,2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-14,0,6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-10,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-10,0,2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-10,0,6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-6,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-6,0,6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-2,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-2,0,2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[-2,0,6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[2,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[2,0,-6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[2,0,-2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[2,0,2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[2,0,6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[6,0,-10],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[6,0,-6],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[6,0,-2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[6,0,2],"rotation":0},{"asset":"city-park-and-playground-park-lawn-tile-d8261076","position":[6,0,6],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-15,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-15,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-15,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-15,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-13,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-13,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-13,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-13,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-11,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-11,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-11,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-11,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-9,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-9,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-9,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-9,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-7,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-7,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-7,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-7,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-5,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-5,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-5,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-5,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-3,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-3,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-3,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-3,0,-1],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-1,0,-7],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-1,0,-5],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-blue-e1034f68","position":[-1,0,-3],"rotation":0},{"asset":"city-park-and-playground-safety-surface-tile-fbdf42fe","position":[-1,0,-1],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-15,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-15,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-13,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-13,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-11,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-11,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-9,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-9,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-7,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-7,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-5,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-gate-a050599d","position":[-5,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-3,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-3,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-1,0,-8],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-1,0,0],"rotation":0},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-16,0,-7],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[0,0,-7],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-16,0,-5],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[0,0,-5],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-16,0,-3],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[0,0,-3],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[-16,0,-1],"rotation":90},{"asset":"city-park-and-playground-playground-fence-panel-b75cd318","position":[0,0,-1],"rotation":90},{"asset":"city-park-and-playground-swing-set-7056310c","position":[-13.6,0.051,-6.6],"rotation":0},{"asset":"city-park-and-playground-play-tower-with-roof-924f68f3","position":[-8.6,0.051,-6.2],"rotation":0},{"asset":"city-park-and-playground-climbing-frame-c10a3cd9","position":[-5.4,0.051,-6.4],"rotation":0},{"asset":"city-park-and-playground-monkey-bars-bd189485","position":[-2,0.051,-6],"rotation":90},{"asset":"city-park-and-playground-sandpit-with-edging-b1743cda","position":[-14.2,0.051,-3.2],"rotation":0},{"asset":"city-park-and-playground-playground-slide-ffdeee73","position":[-11,0.051,-3],"rotation":180},{"asset":"city-park-and-playground-rope-net-climber-a1c3f876","position":[-7.6,0.051,-3.4],"rotation":0},{"asset":"city-park-and-playground-roundabout-bffbd08e","position":[-4.2,0.051,-3.4],"rotation":0},{"asset":"city-park-and-playground-seesaw-4c3cc471","position":[-1.1,0.051,-3.4],"rotation":0},{"asset":"city-park-and-playground-swing-set-toddler-seats-ee3719a6","position":[-8.6,0.051,-0.95],"rotation":0},{"asset":"city-park-and-playground-spring-rocker-9790f23c","position":[-14.6,0.051,-0.95],"rotation":0},{"asset":"city-park-and-playground-spring-rocker-duck-4c0dbedf","position":[-13.2,0.051,-0.95],"rotation":0},{"asset":"city-park-and-playground-spring-rocker-blue-a6d130c3","position":[-11.8,0.051,-0.95],"rotation":0},{"asset":"city-park-and-playground-playground-sign-b5fb2de8","position":[-3.4,0.051,-0.7],"rotation":0},{"asset":"city-park-and-playground-park-litter-bin-ec076777","position":[-1.4,0.051,-0.7],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-7,0,1],"rotation":90},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-7,0,3],"rotation":90},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-5,0,1],"rotation":90},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-5,0,3],"rotation":90},{"asset":"city-park-and-playground-park-notice-board-9df1f5c3","position":[-7,0.085,3.3],"rotation":0},{"asset":"city-park-and-playground-bike-rack-c73abcbf","position":[-4.9,0.085,3.2],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-19,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-17,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-15,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-13,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-11,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-9,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-7,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-5,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-3,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[-1,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[1,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[3,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[5,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[7,0,9],"rotation":0},{"asset":"city-park-and-playground-park-path-tile-curve-89d024ac","position":[9,0,9],"rotation":-90},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[9,0,7],"rotation":90},{"asset":"city-park-and-playground-park-path-tile-straight-ead6247c","position":[9,0,5],"rotation":90},{"asset":"city-park-and-playground-park-gate-with-piers-125c0aac","position":[-20,0,9],"rotation":90},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[4,0.062,-2.475],"rotation":0},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[5.078337841309485,0.062,-2.921662158690515],"rotation":45},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[5.5249999999999995,0.062,-4],"rotation":90},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[5.078337841309484,0.062,-5.078337841309485],"rotation":135},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[3.999999999999999,0.062,-5.524999999999999],"rotation":180},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[2.9216621586905154,0.062,-5.078337841309484],"rotation":225},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[2.4750000000000023,0.062,-3.999999999999999],"rotation":270},{"asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","position":[2.921662158690519,0.062,-2.921662158690515],"rotation":-45},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-19,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-17,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-15,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-13,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-11,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-9,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-7,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-5,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-3,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-1,0.062,-11.4],"rotation":0},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-19.4,0.062,-7],"rotation":90},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-19.4,0.062,-5],"rotation":90},{"asset":"city-park-and-playground-hedge-section-c1ff730d","position":[-19.4,0.062,-3],"rotation":90},{"asset":"city-park-and-playground-park-bandstand-9f4cd475","position":[-13,0.062,4.2],"rotation":0},{"asset":"city-park-and-playground-park-kiosk-9fa1bc4e","position":[3.2,0.062,5.4],"rotation":0},{"asset":"city-park-and-playground-pergola-f44394ba","position":[-17.2,0.062,-9.8],"rotation":0},{"asset":"city-park-and-playground-picnic-table-97b71a11","position":[-8.4,0.062,-9.4],"rotation":17.19},{"asset":"city-park-and-playground-picnic-table-97b71a11","position":[-5.6,0.062,-9.6],"rotation":-11.46},{"asset":"city-park-and-playground-picnic-table-97b71a11","position":[6.2,0.062,3.4],"rotation":28.65},{"asset":"city-park-and-playground-flower-bed-70ea69ff","position":[-2.6,0.062,4.6],"rotation":0},{"asset":"city-park-and-playground-flower-bed-70ea69ff","position":[-18.2,0.062,2.6],"rotation":0},{"asset":"city-park-and-playground-flower-bed-70ea69ff","position":[6.4,0.062,-10],"rotation":0},{"asset":"city-park-and-playground-park-tree-broadleaf-0d7e2fa1","position":[-11.6,0.062,-10.2],"rotation":22.92},{"asset":"city-park-and-playground-park-tree-broadleaf-0d7e2fa1","position":[-1.2,0.062,-10.4],"rotation":68.75},{"asset":"city-park-and-playground-park-tree-broadleaf-0d7e2fa1","position":[4.6,0.062,-10.6],"rotation":120.32},{"asset":"city-park-and-playground-park-tree-broadleaf-0d7e2fa1","position":[7,0.062,-6.4],"rotation":34.38},{"asset":"city-park-and-playground-park-tree-broadleaf-0d7e2fa1","position":[-19,0.062,0.4],"rotation":85.94},{"asset":"city-park-and-playground-park-tree-conifer-f8c4d290","position":[-15,0.062,-10.6],"rotation":45.84},{"asset":"city-park-and-playground-park-tree-conifer-f8c4d290","position":[-3.6,0.062,-10.6],"rotation":148.97},{"asset":"city-park-and-playground-park-tree-conifer-f8c4d290","position":[1.6,0.062,-10.2],"rotation":11.46},{"asset":"city-park-and-playground-park-tree-conifer-f8c4d290","position":[-9.2,0.062,5.6],"rotation":63.03},{"asset":"city-park-and-playground-park-tree-conifer-f8c4d290","position":[7.2,0.062,0.6],"rotation":108.86},{"asset":"city-park-and-playground-shrub-clump-6f521139","position":[-12.6,0.062,-9.4],"rotation":28.65},{"asset":"city-park-and-playground-shrub-clump-6f521139","position":[2.6,0.062,-9.6],"rotation":80.21},{"asset":"city-park-and-playground-shrub-clump-6f521139","position":[-18.6,0.062,4.4],"rotation":126.05},{"asset":"city-park-and-playground-shrub-clump-6f521139","position":[-0.4,0.062,6.4],"rotation":51.57},{"asset":"city-park-and-playground-shrub-clump-6f521139","position":[7,0.062,4.6],"rotation":17.19},{"asset":"city-park-and-playground-park-bench-dfa5e953","position":[-16.4,0.062,7.4],"rotation":0},{"asset":"city-park-and-playground-park-bench-dfa5e953","position":[-10.2,0.062,7.4],"rotation":0},{"asset":"city-park-and-playground-park-bench-dfa5e953","position":[-1.8,0.062,7.4],"rotation":0},{"asset":"city-park-and-playground-park-bench-dfa5e953","position":[5,0.062,7.4],"rotation":0},{"asset":"city-park-and-playground-park-lamp-post-6771a338","position":[-18.4,0.062,7.8],"rotation":0},{"asset":"city-park-and-playground-park-lamp-post-6771a338","position":[-12.4,0.062,7.8],"rotation":0},{"asset":"city-park-and-playground-park-lamp-post-6771a338","position":[-3.8,0.062,7.8],"rotation":0},{"asset":"city-park-and-playground-park-lamp-post-6771a338","position":[4.2,0.062,7.8],"rotation":0},{"asset":"city-park-and-playground-park-lamp-post-6771a338","position":[7.6,0.062,3.4],"rotation":0},{"asset":"city-park-and-playground-park-litter-bin-ec076777","position":[-13.4,0.062,7.5],"rotation":0},{"asset":"city-park-and-playground-park-litter-bin-ec076777","position":[-0.6,0.062,7.5],"rotation":0},{"asset":"city-park-and-playground-park-litter-bin-ec076777","position":[6.6,0.062,7.4],"rotation":0},{"asset":"city-park-and-playground-dog-waste-bin-d973462b","position":[-17.4,0.062,7.6],"rotation":0},{"asset":"city-park-and-playground-drinking-fountain-a3a8257e","position":[1.6,0.062,7.6],"rotation":0},{"asset":"city-park-and-playground-park-bollard-e7b188cc","position":[-18.6,0.085,8.4],"rotation":0},{"asset":"city-park-and-playground-park-bollard-e7b188cc","position":[-18.6,0.085,9.6],"rotation":0},{"asset":"city-park-and-playground-park-bollard-e7b188cc","position":[9.4,0.085,6.4],"rotation":0},{"asset":"city-park-and-playground-park-bollard-e7b188cc","position":[8.4,0.085,6.4],"rotation":0}],"points":[{"position":[-4.2,0.324,-1.6],"title":"Roundabout","text":"The roundabout spins, the seesaw and the spring rockers rock, and the swing seats swing from the top bar. Everything inside the fence stands on rubber safety tiles.","asset":"city-park-and-playground-roundabout-bffbd08e"},{"position":[-13.4,0.324,-5],"title":"Swings","text":"A two bay swing set, with a toddler bucket variant for the second bay. The chains are static geometry: the seats are the moving nodes, hung under the top bar where a real swing pivots.","asset":"city-park-and-playground-swing-set-7056310c"},{"position":[-9.6,0.324,-2.6],"title":"Slide and tower","text":"The slide, the play tower with its roof and ladder, the climbing frame, the monkey bars and the rope net climber make the main play structure.","asset":"city-park-and-playground-playground-slide-ffdeee73"},{"position":[-14.2,0.324,-1.8],"title":"Sandpit","text":"A timber edged sandpit beside the play structure, with the playground fence, its gate and the rules sign enclosing the whole area.","asset":"city-park-and-playground-sandpit-with-edging-b1743cda"},{"position":[-12.4,0.324,5.6],"title":"Bandstand","text":"A hexagonal bandstand on the lawn, with benches, picnic tables, lamp posts, bins and a pergola along the path that runs past it.","asset":"city-park-and-playground-park-bandstand-9f4cd475"},{"position":[4,0.324,-0.6],"title":"Duck pond","text":"The pond is a ring of eight edge pieces, so it can be laid at any size. Flower beds, hedges, trees and shrub clumps plant the ground around it.","asset":"city-park-and-playground-duck-pond-edge-piece-213b9cf4"}],"poster":{"position":[-7.1,3.7,1.8],"lookAt":[-4.2,0.4,-3.4]}},"bounds":{"min":[-22.530193916020746,-0.000013474398770810941,-14.661225877757433],"max":[12,7.744000160217285,12.620000004768372]},"assets":[{"id":"33670","slug":"city-park-and-playground-park-lawn-tile-d8261076","title":"Park Lawn Tile (City Park and Playground)","summary":"A 4 x 4 m mown lawn module, 60 mm of turf with six grass tufts and three wild flowers. Edge ports on all four sides, so lawns tile out under and around the paths.","description":"A 4 x 4 m mown lawn module, 60 mm of turf with six grass tufts and three wild flowers. Edge ports on all four sides, so lawns tile out under and around the paths. Overall 4.000 x 0.324 x 4.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: north (lawn), south (lawn), west (lawn), east (lawn). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-lawn-tile-d8261076","cdnUrl":"https://cdn.3dassets.dev/assets/33670/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-lawn-tile-d8261076","thumbnailUrl":"https://cdn.3dassets.dev/assets/33670/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33670/v1/poster.webp","blurhash":"U9Bq6S%L00a#s:afRkjs00M{_LWBR*oft6a#","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11124,"triangles":180,"vertices":540,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2,0.00012982621614804346,-2],"max":[2,0.3238701747375263,2]},"sizeMeters":[4,0.324,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:54.068Z","updatedAt":"2026-09-11T03:24:54.183Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33670/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkLawnTileCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33670/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33670/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33670/v1/model.glb\" alt=\"Park Lawn Tile (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33670/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33670/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33664","slug":"city-park-and-playground-safety-surface-tile-blue-e1034f68","title":"Rubber Safety Surface Tile, Blue (City Park and Playground)","summary":"The same safety tile in blue, so a play area can be laid out in two colours or zoned by age. Geometry and ports unchanged.","description":"The same safety tile in blue, so a play area can be laid out in two colours or zoned by age. Geometry and ports unchanged. Overall 2.000 x 0.057 x 2.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Cosmetic colour variant of safety-surface-tile; the geometry is unchanged. Connectors: north (safety), south (safety), west (safety), east (safety). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-safety-surface-tile-blue-e1034f68","cdnUrl":"https://cdn.3dassets.dev/assets/33664/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-safety-surface-tile-blue-e1034f68","thumbnailUrl":"https://cdn.3dassets.dev/assets/33664/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33664/v1/poster.webp","blurhash":"U98h|Itl8wfhxwazWAj]00RP*0V[I9oeofad","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7544,"triangles":120,"vertices":360,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000013474398770810941,-1],"max":[1,0.056977966424926675,1]},"sizeMeters":[2,0.057,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:50.497Z","updatedAt":"2026-09-11T03:24:50.597Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33664/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RubberSafetySurfaceTileBlueCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33664/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33664/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33664/v1/model.glb\" alt=\"Rubber Safety Surface Tile, Blue (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33664/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33664/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33663","slug":"city-park-and-playground-safety-surface-tile-fbdf42fe","title":"Rubber Safety Surface Tile (City Park and Playground)","summary":"A 2 x 2 m wet pour rubber safety tile, 45 mm thick with a recessed border and four fixing pads. Edge ports on all four sides, so tiles lay out into a play area of any shape.","description":"A 2 x 2 m wet pour rubber safety tile, 45 mm thick with a recessed border and four fixing pads. Edge ports on all four sides, so tiles lay out into a play area of any shape. Overall 2.000 x 0.057 x 2.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: north (safety), south (safety), west (safety), east (safety). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-safety-surface-tile-fbdf42fe","cdnUrl":"https://cdn.3dassets.dev/assets/33663/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-safety-surface-tile-fbdf42fe","thumbnailUrl":"https://cdn.3dassets.dev/assets/33663/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33663/v1/poster.webp","blurhash":"UAE-gs$+0KbE%2bFR%j[00I:}@WC9tjboMWB","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7512,"triangles":120,"vertices":360,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000013474398770810941,-1],"max":[1,0.056977966424926675,1]},"sizeMeters":[2,0.057,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:49.709Z","updatedAt":"2026-09-11T03:24:49.807Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33663/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RubberSafetySurfaceTileCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33663/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33663/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33663/v1/model.glb\" alt=\"Rubber Safety Surface Tile (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33663/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33663/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33665","slug":"city-park-and-playground-playground-fence-panel-b75cd318","title":"Playground Fence Panel (City Park and Playground)","summary":"A 2 m bay of 1.1 m blue bow top playground fencing: a capped post on the start end, two rails and vertical bails at 140 mm centres. Bays butt end to end into a run of any length.","description":"A 2 m bay of 1.1 m blue bow top playground fencing: a capped post on the start end, two rails and vertical bails at 140 mm centres. Bays butt end to end into a run of any length. Overall 2.062 x 1.140 x 0.100 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: start (fence), end (fence). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-playground-fence-panel-b75cd318","cdnUrl":"https://cdn.3dassets.dev/assets/33665/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-playground-fence-panel-b75cd318","thumbnailUrl":"https://cdn.3dassets.dev/assets/33665/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33665/v1/poster.webp","blurhash":"UBAUEmlBE1pJyF.TSiM{00s.%MVrRPNGt7r@","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19524,"triangles":368,"vertices":1104,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0499999523162842,-0.000010980557314077544,-0.05005035437644665],"max":[1.0119999647140503,1.1400109662521993,0.05005035437644665]},"sizeMeters":[2.062,1.14,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:51.324Z","updatedAt":"2026-09-11T03:24:51.429Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33665/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlaygroundFencePanelCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33665/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33665/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33665/v1/model.glb\" alt=\"Playground Fence Panel (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33665/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33665/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33666","slug":"city-park-and-playground-playground-fence-gate-a050599d","title":"Playground Fence Gate Bay (City Park and Playground)","summary":"The same bay with a self closing access leaf hung on the start post, a yellow closing stile and a latch at adult height. The leaf is one node on its hinge line.","description":"The same bay with a self closing access leaf hung on the start post, a yellow closing stile and a latch at adult height. The leaf is one node on its hinge line. Overall 2.050 x 1.140 x 0.120 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: gate. Functional variant of playground-fence-panel. Connectors: start (fence), end (fence). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-playground-fence-gate-a050599d","cdnUrl":"https://cdn.3dassets.dev/assets/33666/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-playground-fence-gate-a050599d","thumbnailUrl":"https://cdn.3dassets.dev/assets/33666/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33666/v1/poster.webp","blurhash":"U68X%%rr008w-=.TRO4n00x]?ak@RiMxbv%K","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28340,"triangles":492,"vertices":1476,"meshes":5,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0499999523162842,-0.000010980557314077544,-0.05005035437644665],"max":[1,1.1400109662521993,0.06999679292784186]},"sizeMeters":[2.05,1.14,0.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:51.385Z","updatedAt":"2026-09-11T03:24:51.482Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33666/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PlaygroundFenceGateBayCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33666/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33666/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33666/v1/model.glb\" alt=\"Playground Fence Gate Bay (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33666/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33666/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33652","slug":"city-park-and-playground-swing-set-7056310c","title":"Two Bay Swing Set (City Park and Playground)","summary":"A 3.6 m two bay swing frame on 2.4 m painted A-frame legs with a yellow top bar, two rubber sling seats on rigid hanger rods and a brace between each pair of legs. Each seat is one node hung on the bar's own axis, so the clip swings from the bar and not from the seat.","description":"A 3.6 m two bay swing frame on 2.4 m painted A-frame legs with a yellow top bar, two rubber sling seats on rigid hanger rods and a brace between each pair of legs. Each seat is one node hung on the bar's own axis, so the clip swings from the bar and not from the seat. Overall 3.760 x 2.475 x 1.690 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: seat-left, seat-right. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: swing. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-swing-set-7056310c","cdnUrl":"https://cdn.3dassets.dev/assets/33652/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-swing-set-7056310c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33652/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33652/v1/poster.webp","blurhash":"UDAKmvx[5Z%h~S%$D,MxDNxUnMD*9bs5.7It","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17760,"triangles":356,"vertices":1068,"meshes":6,"materials":4,"textures":0,"animations":["swing"],"boundingBox":{"min":[-1.8799999952316284,0.000059162900631681836,-0.8451580945691726],"max":[1.8799999952316284,2.4749617162875546,0.8451580945691726]},"sizeMeters":[3.76,2.475,1.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:44.480Z","updatedAt":"2026-09-11T03:24:44.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33652/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TwoBaySwingSetCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33652/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33652/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33652/v1/model.glb\" alt=\"Two Bay Swing Set (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33652/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33652/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33661","slug":"city-park-and-playground-play-tower-with-roof-924f68f3","title":"Play Tower with Roof and Ladder (City Park and Playground)","summary":"A 2.5 m timber play tower: a 1.9 m square deck at 1.3 m inside blue guard panels, a five rung ladder up the open side and a red gabled roof on the four posts. Static.","description":"A 2.5 m timber play tower: a 1.9 m square deck at 1.3 m inside blue guard panels, a five rung ladder up the open side and a red gabled roof on the four posts. Static. Overall 2.340 x 3.134 x 2.806 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-play-tower-with-roof-924f68f3","cdnUrl":"https://cdn.3dassets.dev/assets/33661/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-play-tower-with-roof-924f68f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33661/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33661/v1/poster.webp","blurhash":"UICrKCRj0ft7}[NG9[$*ITSht7wb5Qof-BWB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25260,"triangles":308,"vertices":924,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.1699782879140033,-0.00009492336821459446,-1.1699999570846558],"max":[1.1699782879140033,3.134478987156426,1.636183738708496]},"sizeMeters":[2.34,3.135,2.806],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:49.918Z","updatedAt":"2026-09-11T03:24:50.028Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33661/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlayTowerWithRoofAndLadderCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33661/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33661/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33661/v1/model.glb\" alt=\"Play Tower with Roof and Ladder (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33661/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33661/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33653","slug":"city-park-and-playground-climbing-frame-c10a3cd9","title":"Steel Climbing Frame (City Park and Playground)","summary":"A 2.4 x 2.4 x 2 m painted climbing cube: four corner posts, a rung ladder up each end face, a yellow half deck and six drop bars to it, on a rubber pad. Static frame.","description":"A 2.4 x 2.4 x 2 m painted climbing cube: four corner posts, a rung ladder up each end face, a yellow half deck and six drop bars to it, on a rubber pad. Static frame. Overall 2.500 x 2.043 x 2.500 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-climbing-frame-c10a3cd9","cdnUrl":"https://cdn.3dassets.dev/assets/33653/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-climbing-frame-c10a3cd9","thumbnailUrl":"https://cdn.3dassets.dev/assets/33653/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33653/v1/poster.webp","blurhash":"UKCjnc%K9aNgysogs8a#02IqwGxVwGRjIVof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28940,"triangles":536,"vertices":1608,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.25,-0.00007087716061771054,-1.25],"max":[1.25,2.0433722210784646,1.25]},"sizeMeters":[2.5,2.043,2.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:44.561Z","updatedAt":"2026-09-11T03:24:44.663Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33653/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteelClimbingFrameCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33653/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33653/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33653/v1/model.glb\" alt=\"Steel Climbing Frame (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33653/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33653/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33654","slug":"city-park-and-playground-monkey-bars-bd189485","title":"Monkey Bars (City Park and Playground)","summary":"A 3.6 m overhead ladder at 2.1 m on two raked red A-frames with ten steel rungs and a brace across each frame. Static.","description":"A 3.6 m overhead ladder at 2.1 m on two raked red A-frames with ten steel rungs and a brace across each frame. Static. Overall 1.000 x 2.139 x 3.800 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-monkey-bars-bd189485","cdnUrl":"https://cdn.3dassets.dev/assets/33654/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-monkey-bars-bd189485","thumbnailUrl":"https://cdn.3dassets.dev/assets/33654/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33654/v1/poster.webp","blurhash":"UFEUP[xa=yt7}[5Q9ts:5kIp9[xaEMM|%2-B","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22132,"triangles":424,"vertices":1272,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.500122067762199,-0.00010885042903674425,-1.899999976158142],"max":[0.500122067762199,2.139079940745809,1.899999976158142]},"sizeMeters":[1,2.139,3.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:46.170Z","updatedAt":"2026-09-11T03:24:46.279Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33654/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MonkeyBarsCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33654/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33654/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33654/v1/model.glb\" alt=\"Monkey Bars (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33654/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33654/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33660","slug":"city-park-and-playground-sandpit-with-edging-b1743cda","title":"Sandpit with Timber Edging (City Park and Playground)","summary":"A 3.2 x 3.2 m sandpit: sleeper edging on all four sides with two corner sitting boards, a levelled sand bed with a heaped mound, and a bucket and spade left in it. Static.","description":"A 3.2 x 3.2 m sandpit: sleeper edging on all four sides with two corner sitting boards, a levelled sand bed with a heaped mound, and a bucket and spade left in it. Static. Overall 3.200 x 0.466 x 3.500 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-sandpit-with-edging-b1743cda","cdnUrl":"https://cdn.3dassets.dev/assets/33660/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-sandpit-with-edging-b1743cda","thumbnailUrl":"https://cdn.3dassets.dev/assets/33660/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33660/v1/poster.webp","blurhash":"UCC5|qxs02NHxaWXV[o001NH~ns:IVsmtQSN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15080,"triangles":120,"vertices":360,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.6000320444349498,-0.000043801213655436655,-1.75],"max":[1.6000320444349498,0.46607136726379395,1.75]},"sizeMeters":[3.2,0.466,3.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:47.956Z","updatedAt":"2026-09-11T03:24:48.156Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33660/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SandpitWithTimberEdgingCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33660/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33660/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33660/v1/model.glb\" alt=\"Sandpit with Timber Edging (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33660/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33660/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33650","slug":"city-park-and-playground-playground-slide-ffdeee73","title":"Playground Slide (City Park and Playground)","summary":"A 1.4 m high timber slide tower with blue guard panels, a four rung ladder up the back and a 2.8 m stainless chute with yellow side rails and a flat run out. Static: no part of a slide moves.","description":"A 1.4 m high timber slide tower with blue guard panels, a four rung ladder up the back and a 2.8 m stainless chute with yellow side rails and a flat run out. Static: no part of a slide moves. Overall 1.100 x 1.925 x 4.607 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-playground-slide-ffdeee73","cdnUrl":"https://cdn.3dassets.dev/assets/33650/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-playground-slide-ffdeee73","thumbnailUrl":"https://cdn.3dassets.dev/assets/33650/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33650/v1/poster.webp","blurhash":"U9BDTZ~T01ETO]4T8_yE03Dk^%?u$^_2_1V?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26444,"triangles":336,"vertices":1008,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.5500066601280894,0,-1.1869253107667002],"max":[0.5500066601280894,1.9252289533615112,3.4200000762939453]},"sizeMeters":[1.1,1.925,4.607],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:43.427Z","updatedAt":"2026-09-11T03:24:43.556Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33650/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlaygroundSlideCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33650/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33650/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33650/v1/model.glb\" alt=\"Playground Slide (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33650/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33650/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33662","slug":"city-park-and-playground-rope-net-climber-a1c3f876","title":"Rope Net Climber (City Park and Playground)","summary":"A 3 m long pyramid net climber: two raked steel end frames, a twin top rail and a grid of red and yellow ropes down both faces. The ropes are rigid rods modelled into the frame and deliberately not rigged: a slack rope needs a joint per segment.","description":"A 3 m long pyramid net climber: two raked steel end frames, a twin top rail and a grid of red and yellow ropes down both faces. The ropes are rigid rods modelled into the frame and deliberately not rigged: a slack rope needs a joint per segment. Overall 2.685 x 2.464 x 3.160 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-rope-net-climber-a1c3f876","cdnUrl":"https://cdn.3dassets.dev/assets/33662/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-rope-net-climber-a1c3f876","thumbnailUrl":"https://cdn.3dassets.dev/assets/33662/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33662/v1/poster.webp","blurhash":"U6Eeut9t00}?cZDiD%%g00NG]|%3#:tk^+%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29740,"triangles":568,"vertices":1704,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.3427613512089478,-0.00008417784241809834,-1.5800000429153442],"max":[1.3427613512089478,2.464401499619762,1.5800000429153442]},"sizeMeters":[2.686,2.464,3.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:49.565Z","updatedAt":"2026-09-11T03:24:49.746Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33662/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RopeNetClimberCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33662/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33662/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33662/v1/model.glb\" alt=\"Rope Net Climber (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33662/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33662/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33659","slug":"city-park-and-playground-roundabout-bffbd08e","title":"Playground Roundabout (City Park and Playground)","summary":"A 3.0 m roundabout on a cast hub: a six sector painted deck at 410 mm and four grab rails arching over the centre. The deck and its rails are one node on the hub axis.","description":"A 3.0 m roundabout on a cast hub: a six sector painted deck at 410 mm and four grab rails arching over the centre. The deck and its rails are one node on the hub axis. Overall 3.000 x 0.886 x 3.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: deck. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-roundabout-bffbd08e","cdnUrl":"https://cdn.3dassets.dev/assets/33659/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-roundabout-bffbd08e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33659/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33659/v1/poster.webp","blurhash":"UB9%kztQ00iws.X7afr?00V@~qkWIqrss:O?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29784,"triangles":520,"vertices":1560,"meshes":6,"materials":5,"textures":0,"animations":["spin"],"boundingBox":{"min":[-1.5,0.0000033503305698623365,-1.499891996383667],"max":[1.5,0.8859407848447709,1.499891996383667]},"sizeMeters":[3,0.886,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:48.829Z","updatedAt":"2026-09-11T03:24:48.939Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33659/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PlaygroundRoundaboutCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33659/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33659/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33659/v1/model.glb\" alt=\"Playground Roundabout (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33659/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33659/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33655","slug":"city-park-and-playground-seesaw-4c3cc471","title":"Two Seat Seesaw (City Park and Playground)","summary":"A 3.2 m yellow seesaw beam on a cast pedestal at 0.62 m, with a red moulded seat, a grab bar and a foot rest at each end. The beam is one node on the axle, so the clip tips it about the real pivot.","description":"A 3.2 m yellow seesaw beam on a cast pedestal at 0.62 m, with a red moulded seat, a grab bar and a foot rest at each end. The beam is one node on the axle, so the clip tips it about the real pivot. Overall 0.900 x 0.944 x 3.200 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: beam. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-seesaw-4c3cc471","cdnUrl":"https://cdn.3dassets.dev/assets/33655/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-seesaw-4c3cc471","thumbnailUrl":"https://cdn.3dassets.dev/assets/33655/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33655/v1/poster.webp","blurhash":"U8AAHre=03%J_09HM~-n009a?Z%10N~U?X9c","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17184,"triangles":272,"vertices":816,"meshes":6,"materials":4,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.44999998807907104,0.000004378186447495658,-1.600000023841858],"max":[0.44999998807907104,0.9443060905616976,1.600000023841858]},"sizeMeters":[0.9,0.944,3.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:45.155Z","updatedAt":"2026-09-11T03:24:45.253Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33655/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TwoSeatSeesawCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33655/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33655/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33655/v1/model.glb\" alt=\"Two Seat Seesaw (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33655/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33655/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33651","slug":"city-park-and-playground-swing-set-toddler-seats-ee3719a6","title":"Two Bay Swing Set with Toddler Seats (City Park and Playground)","summary":"The same two bay frame fitted with high backed toddler bucket seats hung a little shorter, for the under fives end of a play area. The hanger rods are modelled solid and swing with the seat as one part; a real chain needs a joint per link.","description":"The same two bay frame fitted with high backed toddler bucket seats hung a little shorter, for the under fives end of a play area. The hanger rods are modelled solid and swing with the seat as one part; a real chain needs a joint per link. Overall 3.760 x 2.475 x 1.690 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: seat-left, seat-right. Functional variant of swing-set. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: swing. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-swing-set-toddler-seats-ee3719a6","cdnUrl":"https://cdn.3dassets.dev/assets/33651/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-swing-set-toddler-seats-ee3719a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33651/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33651/v1/poster.webp","blurhash":"UCB4E,x]0;%h~S.9D+IU4mxU#QD*D*nx.7RR","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20280,"triangles":464,"vertices":1392,"meshes":7,"materials":4,"textures":0,"animations":["swing"],"boundingBox":{"min":[-1.8799999952316284,0.000059162900631681836,-0.8451580945691726],"max":[1.8799999952316284,2.4749617162875546,0.8451580945691726]},"sizeMeters":[3.76,2.475,1.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:43.437Z","updatedAt":"2026-09-11T03:24:43.554Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33651/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TwoBaySwingSetWithToddlerSeatsCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33651/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33651/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33651/v1/model.glb\" alt=\"Two Bay Swing Set with Toddler Seats (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33651/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33651/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33656","slug":"city-park-and-playground-spring-rocker-9790f23c","title":"Horse Spring Rocker (City Park and Playground)","summary":"A single seat spring rocker: a red horse body with an upright head, ears, a grab bar and two foot rests, on a coiled spring and a cast ground plate. The body is one node above the spring, so the clip rocks it about the spring head.","description":"A single seat spring rocker: a red horse body with an upright head, ears, a grab bar and two foot rests, on a coiled spring and a cast ground plate. The body is one node above the spring, so the clip rocks it about the spring head. Overall 0.600 x 1.320 x 1.080 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: rocker. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: rock. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-spring-rocker-9790f23c","cdnUrl":"https://cdn.3dassets.dev/assets/33656/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-spring-rocker-9790f23c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33656/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33656/v1/poster.webp","blurhash":"U99~~YJ700-A=xNuEg,?0fNG}[-V5Rw^=xK5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38204,"triangles":708,"vertices":2124,"meshes":5,"materials":3,"textures":0,"animations":["rock"],"boundingBox":{"min":[-0.30000001192092896,0.000010071108527257011,-0.5699999928474426],"max":[0.30000001192092896,1.320014499267631,0.5099999904632568]},"sizeMeters":[0.6,1.32,1.08],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:47.183Z","updatedAt":"2026-09-11T03:24:47.291Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33656/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function HorseSpringRockerCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33656/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33656/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33656/v1/model.glb\" alt=\"Horse Spring Rocker (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33656/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33656/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33657","slug":"city-park-and-playground-spring-rocker-duck-4c0dbedf","title":"Duck Spring Rocker (City Park and Playground)","summary":"The same spring and plate carrying a yellow duck body with a flat bill and a stub tail, for a second animal on the same play area. The spring coil is modelled solid and does not deform; the rocking is the body node above it.","description":"The same spring and plate carrying a yellow duck body with a flat bill and a stub tail, for a second animal on the same play area. The spring coil is modelled solid and does not deform; the rocking is the body node above it. Overall 0.600 x 1.120 x 1.270 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: rocker. Functional variant of spring-rocker. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: rock. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-spring-rocker-duck-4c0dbedf","cdnUrl":"https://cdn.3dassets.dev/assets/33657/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-spring-rocker-duck-4c0dbedf","thumbnailUrl":"https://cdn.3dassets.dev/assets/33657/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33657/v1/poster.webp","blurhash":"UBBf%vtQ00Vt~TIr9I-m039b^%^%4rs+?XR;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":40296,"triangles":736,"vertices":2208,"meshes":6,"materials":4,"textures":0,"animations":["rock"],"boundingBox":{"min":[-0.30000001192092896,0.000010071108527257011,-0.7400000095367432],"max":[0.30000001192092896,1.1199939384554165,0.5299999713897705]},"sizeMeters":[0.6,1.12,1.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:46.209Z","updatedAt":"2026-09-11T03:24:46.320Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33657/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DuckSpringRockerCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33657/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33657/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33657/v1/model.glb\" alt=\"Duck Spring Rocker (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33657/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33657/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33658","slug":"city-park-and-playground-spring-rocker-blue-a6d130c3","title":"Blue Horse Spring Rocker (City Park and Playground)","summary":"The horse rocker repainted blue with a yellow saddle, so a play area can carry more than one without looking copied. Geometry unchanged.","description":"The horse rocker repainted blue with a yellow saddle, so a play area can carry more than one without looking copied. Geometry unchanged. Overall 0.600 x 1.320 x 1.080 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: rocker. Cosmetic colour variant of spring-rocker; the geometry is unchanged. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: rock. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-spring-rocker-blue-a6d130c3","cdnUrl":"https://cdn.3dassets.dev/assets/33658/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-spring-rocker-blue-a6d130c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33658/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33658/v1/poster.webp","blurhash":"U86bcKV=00pJpKi]VXXoD4Ri*0x^McXTtmrp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38236,"triangles":708,"vertices":2124,"meshes":5,"materials":3,"textures":0,"animations":["rock"],"boundingBox":{"min":[-0.30000001192092896,0.000010071108527257011,-0.5699999928474426],"max":[0.30000001192092896,1.320014499267631,0.5099999904632568]},"sizeMeters":[0.6,1.32,1.08],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:47.857Z","updatedAt":"2026-09-11T03:24:47.970Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33658/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BlueHorseSpringRockerCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33658/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33658/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33658/v1/model.glb\" alt=\"Blue Horse Spring Rocker (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33658/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33658/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33667","slug":"city-park-and-playground-playground-sign-b5fb2de8","title":"Playground Rules Sign (City Park and Playground)","summary":"A 1.5 m twin post sign at a play area entrance: a yellow board with a blue panel, a heading bar, four blank rule lines and a round pictogram. The text is geometry, not lettering.","description":"A 1.5 m twin post sign at a play area entrance: a yellow board with a blue panel, a heading bar, four blank rule lines and a round pictogram. The text is geometry, not lettering. Overall 1.100 x 1.600 x 0.152 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-playground-sign-b5fb2de8","cdnUrl":"https://cdn.3dassets.dev/assets/33667/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-playground-sign-b5fb2de8","thumbnailUrl":"https://cdn.3dassets.dev/assets/33667/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33667/v1/poster.webp","blurhash":"UGA^aeX900nN~ot78|RPM{xZo}IpIAs.x]NH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13364,"triangles":212,"vertices":636,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,0,-0.04000976592303232],"max":[0.550000011920929,1.5999868938383135,0.11162191020359444]},"sizeMeters":[1.1,1.6,0.152],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:52.604Z","updatedAt":"2026-09-11T03:24:52.704Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33667/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlaygroundRulesSignCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33667/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33667/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33667/v1/model.glb\" alt=\"Playground Rules Sign (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33667/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33667/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33675","slug":"city-park-and-playground-park-litter-bin-ec076777","title":"Timber Park Litter Bin (City Park and Playground)","summary":"A 1 m park bin: ten timber staves on a cast base with a blue domed lid on a back hinge and a moulded handle. The liner is not modelled.","description":"A 1 m park bin: ten timber staves on a cast base with a blue domed lid on a back hinge and a moulded handle. The liner is not modelled. Overall 0.640 x 0.990 x 0.609 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: lid. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-litter-bin-ec076777","cdnUrl":"https://cdn.3dassets.dev/assets/33675/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-litter-bin-ec076777","thumbnailUrl":"https://cdn.3dassets.dev/assets/33675/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33675/v1/poster.webp","blurhash":"U98Dz}%200InYRogm*WAAIkD$eV?U]WWcFn~","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25560,"triangles":312,"vertices":936,"meshes":4,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.3199999928474426,0,-0.30433544678640034],"max":[0.3199999928474426,0.990003208056955,0.3043354585210647]},"sizeMeters":[0.64,0.99,0.609],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:56.582Z","updatedAt":"2026-09-11T03:24:56.678Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33675/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TimberParkLitterBinCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33675/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33675/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33675/v1/model.glb\" alt=\"Timber Park Litter Bin (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33675/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33675/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33668","slug":"city-park-and-playground-park-path-tile-straight-ead6247c","title":"Park Path Tile, Straight (City Park and Playground)","summary":"A 2 m run of 2 m wide park path: a laid slab with a raised kerb edging on both sides and three jointing lines across it. Run ports on the two ends.","description":"A 2 m run of 2 m wide park path: a laid slab with a raised kerb edging on both sides and three jointing lines across it. Run ports on the two ends. Overall 2.000 x 0.120 x 2.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: start (path), end (path). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-path-tile-straight-ead6247c","cdnUrl":"https://cdn.3dassets.dev/assets/33668/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-path-tile-straight-ead6247c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33668/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33668/v1/poster.webp","blurhash":"U7C?o+-:00Rj-;WBM{of00IU~qWC9Ft7t7Rj","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17184,"triangles":72,"vertices":216,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.00006164604803700346,-1],"max":[1,0.11993835126975398,1]},"sizeMeters":[2,0.12,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:53.198Z","updatedAt":"2026-09-11T03:24:53.382Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33668/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkPathTileStraightCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33668/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33668/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33668/v1/model.glb\" alt=\"Park Path Tile, Straight (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33668/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33668/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33678","slug":"city-park-and-playground-park-notice-board-9df1f5c3","title":"Park Notice Board (City Park and Playground)","summary":"A 1.9 m double post notice board: a glazed charcoal back panel with four pinned notices and a red pitched hood over it. The notices are geometry, not lettering.","description":"A 1.9 m double post notice board: a glazed charcoal back panel with four pinned notices and a red pitched hood over it. The notices are geometry, not lettering. Overall 1.880 x 1.920 x 0.300 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-notice-board-9df1f5c3","cdnUrl":"https://cdn.3dassets.dev/assets/33678/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-notice-board-9df1f5c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33678/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33678/v1/poster.webp","blurhash":"UMCFVHt60LNH}@xZELNGa0s:o}R%S5$jslJ7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29824,"triangles":148,"vertices":444,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-0.9399999976158142,0,-0.12997771782942838],"max":[0.9399999976158142,1.9200448643140013,0.1699777243859393]},"sizeMeters":[1.88,1.92,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:59.277Z","updatedAt":"2026-09-11T03:24:59.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33678/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkNoticeBoardCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33678/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33678/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33678/v1/model.glb\" alt=\"Park Notice Board (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33678/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33678/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33679","slug":"city-park-and-playground-bike-rack-c73abcbf","title":"Five Hoop Bike Rack (City Park and Playground)","summary":"A 2.2 m bike rack: five steel Sheffield hoops at 440 mm centres on two bolt down rails. Static.","description":"A 2.2 m bike rack: five steel Sheffield hoops at 440 mm centres on two bolt down rails. Static. Overall 2.200 x 0.724 x 0.720 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-bike-rack-c73abcbf","cdnUrl":"https://cdn.3dassets.dev/assets/33679/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-bike-rack-c73abcbf","thumbnailUrl":"https://cdn.3dassets.dev/assets/33679/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33679/v1/poster.webp","blurhash":"U39aHj.800x[~q_NRk9F00%2?b9F01Di%Lt7","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20200,"triangles":384,"vertices":1152,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.100000023841858,0.000055237182564074616,-0.3600421233467796],"max":[1.100000023841858,0.7242142578547315,0.3600421233467796]},"sizeMeters":[2.2,0.724,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:58.616Z","updatedAt":"2026-09-11T03:24:58.718Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33679/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FiveHoopBikeRackCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33679/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33679/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33679/v1/model.glb\" alt=\"Five Hoop Bike Rack (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33679/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33679/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33669","slug":"city-park-and-playground-park-path-tile-curve-89d024ac","title":"Park Path Tile, Quarter Turn (City Park and Playground)","summary":"A 2 x 2 m quarter turn in the same path: the paving sweeps from the west edge round to the south edge with the kerb edging following the outer arc. Run ports on the west and south edges.","description":"A 2 x 2 m quarter turn in the same path: the paving sweeps from the west edge round to the south edge with the kerb edging following the outer arc. Run ports on the west and south edges. Overall 2.000 x 0.120 x 2.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: start (path), end (path). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-path-tile-curve-89d024ac","cdnUrl":"https://cdn.3dassets.dev/assets/33669/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-path-tile-curve-89d024ac","thumbnailUrl":"https://cdn.3dassets.dev/assets/33669/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33669/v1/poster.webp","blurhash":"UBB:sqD%00Ri%MWBM{j[00-;~qofD%t7t7WB","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24172,"triangles":172,"vertices":516,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-3,0.00006164604803700346,1],"max":[-1,0.11993835126975398,3]},"sizeMeters":[2,0.12,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:53.956Z","updatedAt":"2026-09-11T03:24:54.049Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33669/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkPathTileQuarterTurnCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33669/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33669/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33669/v1/model.glb\" alt=\"Park Path Tile, Quarter Turn (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33669/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33669/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33689","slug":"city-park-and-playground-park-gate-with-piers-125c0aac","title":"Park Gate with Brick Piers (City Park and Playground)","summary":"A 3.1 m park entrance: two banded piers with capped pyramid tops and a pair of spear top iron leaves hung on their inner faces. Each leaf is its own node on its own pier, so the pair opens outward together.","description":"A 3.1 m park entrance: two banded piers with capped pyramid tops and a pair of spear top iron leaves hung on their inner faces. Each leaf is its own node on its own pier, so the pair opens outward together. Overall 3.240 x 2.200 x 0.680 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: gate-left, gate-right. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-gate-with-piers-125c0aac","cdnUrl":"https://cdn.3dassets.dev/assets/33689/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-gate-with-piers-125c0aac","thumbnailUrl":"https://cdn.3dassets.dev/assets/33689/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33689/v1/poster.webp","blurhash":"UDFOAes;rW=xpc}[t7570fX-JAD%i_pIRjMw","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39360,"triangles":716,"vertices":2148,"meshes":4,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.6200000047683716,0.000012535513289502198,-0.3399493402748901],"max":[1.6200000047683716,2.1999923945088105,0.3399493402748901]},"sizeMeters":[3.24,2.2,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-11T03:25:04.664Z","updatedAt":"2026-09-11T04:17:27.679Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33689/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ParkGateWithBrickPiersCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33689/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33689/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33689/v1/model.glb\" alt=\"Park Gate with Brick Piers (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33689/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33689/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33672","slug":"city-park-and-playground-duck-pond-edge-piece-213b9cf4","title":"Duck Pond Edge Piece (City Park and Playground)","summary":"A 45 degree segment of an ornamental duck pond: a stone coping arc, a dark liner lip and the water wedge behind it. 8 pieces close a 6 m pond; the water is flat geometry with no shader or reflection.","description":"A 45 degree segment of an ornamental duck pond: a stone coping arc, a dark liner lip and the water wedge behind it. 8 pieces close a 6 m pond; the water is flat geometry with no shader or reflection. Overall 2.296 x 0.300 x 2.954 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: start (pond), end (pond). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-duck-pond-edge-piece-213b9cf4","cdnUrl":"https://cdn.3dassets.dev/assets/33672/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-duck-pond-edge-piece-213b9cf4","thumbnailUrl":"https://cdn.3dassets.dev/assets/33672/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33672/v1/poster.webp","blurhash":"UB8hLN_3D4D*IpM{t7x[009FyZxu-U%fNaD%","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18764,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.148050308227539,0.00003783327972470274,-1.4788060188293457],"max":[1.148050308227539,0.2999574423816769,1.4749499649999998]},"sizeMeters":[2.296,0.3,2.954],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:54.952Z","updatedAt":"2026-09-11T03:24:55.073Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33672/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DuckPondEdgePieceCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33672/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33672/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33672/v1/model.glb\" alt=\"Duck Pond Edge Piece (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33672/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33672/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33671","slug":"city-park-and-playground-hedge-section-c1ff730d","title":"Clipped Hedge Section (City Park and Playground)","summary":"A 2 m run of clipped park hedge at 1.2 m on a bare soil strip, faceted rather than smooth so it reads at a distance. Run ports on the two ends.","description":"A 2 m run of clipped park hedge at 1.2 m on a bare soil strip, faceted rather than smooth so it reads at a distance. Run ports on the two ends. Overall 2.000 x 1.280 x 0.740 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Connectors: start (hedge), end (hedge). City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-hedge-section-c1ff730d","cdnUrl":"https://cdn.3dassets.dev/assets/33671/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-hedge-section-c1ff730d","thumbnailUrl":"https://cdn.3dassets.dev/assets/33671/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33671/v1/poster.webp","blurhash":"U9CjwR9Z4Uxu.h.PDkRR00.6tQICMzR9.6RQ","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":3356,"triangles":36,"vertices":108,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000030213994933490917,-0.37003692739646593],"max":[1,1.2799731294065464,0.37003692739646593]},"sizeMeters":[2,1.28,0.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:55.280Z","updatedAt":"2026-09-11T03:24:55.479Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33671/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClippedHedgeSectionCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33671/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33671/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33671/v1/model.glb\" alt=\"Clipped Hedge Section (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33671/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33671/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33686","slug":"city-park-and-playground-park-bandstand-9f4cd475","title":"Hexagonal Park Bandstand (City Park and Playground)","summary":"A 5.8 m hexagonal bandstand: a raised paved plinth with a timber deck, six posts with blue balustrades between five of them, three steps up to the open bay and a red conical roof with a finial. Static.","description":"A 5.8 m hexagonal bandstand: a raised paved plinth with a timber deck, six posts with blue balustrades between five of them, three steps up to the open bay and a red conical roof with a finial. Static. Overall 5.800 x 5.682 x 6.550 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-bandstand-9f4cd475","cdnUrl":"https://cdn.3dassets.dev/assets/33686/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-bandstand-9f4cd475","thumbnailUrl":"https://cdn.3dassets.dev/assets/33686/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33686/v1/poster.webp","blurhash":"UDDR+?tR01M{IARkX9t70fo0}sWV5RjZ=|of","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":69828,"triangles":944,"vertices":2832,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-2.9000000953674316,0.00010893841032746931,-2.9000000953674316],"max":[2.9000000953674316,5.682000160217285,3.6500000953674316]},"sizeMeters":[5.8,5.682,6.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:03.583Z","updatedAt":"2026-09-11T03:25:03.684Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33686/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HexagonalParkBandstandCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33686/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33686/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33686/v1/model.glb\" alt=\"Hexagonal Park Bandstand (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33686/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33686/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33688","slug":"city-park-and-playground-park-kiosk-9fa1bc4e","title":"Park Refreshment Kiosk (City Park and Playground)","summary":"A 3 x 2.2 m park kiosk: a blue block with a red stall riser, a timber serving counter, a menu board and a red parapet roof. The steel shutter over the hatch is one node on its head, so the clip lifts it out as an awning.","description":"A 3 x 2.2 m park kiosk: a blue block with a red stall riser, a timber serving counter, a menu board and a red parapet roof. The steel shutter over the hatch is one node on its head, so the clip lifts it out as an awning. Overall 3.440 x 2.920 x 2.640 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. Named nodes on their own pivots: shutter. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-kiosk-9fa1bc4e","cdnUrl":"https://cdn.3dassets.dev/assets/33688/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-kiosk-9fa1bc4e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33688/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33688/v1/poster.webp","blurhash":"UMHULg=s0KFf}9bvJor=iaNeI;obJ:#+oIJV","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31528,"triangles":168,"vertices":504,"meshes":7,"materials":7,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-1.7200000286102295,0.000024432869241586275,-1.320012229360681],"max":[1.7200000286102295,2.920009826016459,1.320012229360681]},"sizeMeters":[3.44,2.92,2.64],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:02.896Z","updatedAt":"2026-09-11T03:25:02.989Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33688/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ParkRefreshmentKioskCityParkAndPlayground(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33688/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33688/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33688/v1/model.glb\" alt=\"Park Refreshment Kiosk (City Park and Playground)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33688/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33688/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33687","slug":"city-park-and-playground-pergola-f44394ba","title":"Timber Pergola (City Park and Playground)","summary":"A 3.6 x 2.4 m pergola: four posts, two head beams, eight rafters and a bench board on each side, with a climbing plant over both ends. Static.","description":"A 3.6 x 2.4 m pergola: four posts, two head beams, eight rafters and a bench board on each side, with a climbing plant over both ends. Static. Overall 3.844 x 3.170 x 2.826 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-pergola-f44394ba","cdnUrl":"https://cdn.3dassets.dev/assets/33687/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-pergola-f44394ba","thumbnailUrl":"https://cdn.3dassets.dev/assets/33687/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33687/v1/poster.webp","blurhash":"U7A+vm={02vh?[%KH@IB6%TIE39H9_X8xFMz","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33512,"triangles":494,"vertices":1482,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.9755282402038574,-0.00004326740582949462,-1.47561147141712],"max":[1.8684648275375366,3.1699970782696285,1.3499312975927111]},"sizeMeters":[3.844,3.17,2.826],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-11T03:25:03.918Z","updatedAt":"2026-09-11T04:39:01.226Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33687/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberPergolaCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33687/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33687/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33687/v1/model.glb\" alt=\"Timber Pergola (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33687/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33687/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33674","slug":"city-park-and-playground-picnic-table-97b71a11","title":"Timber Picnic Table (City Park and Playground)","summary":"A 1.9 m picnic table: a four plank top at 790 mm on splayed A-frames, a centre stretcher and a two plank bench on each side. Static.","description":"A 1.9 m picnic table: a four plank top at 790 mm on splayed A-frames, a centre stretcher and a two plank bench on each side. Static. Overall 1.900 x 0.815 x 1.710 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-picnic-table-97b71a11","cdnUrl":"https://cdn.3dassets.dev/assets/33674/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-picnic-table-97b71a11","thumbnailUrl":"https://cdn.3dassets.dev/assets/33674/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33674/v1/poster.webp","blurhash":"U68yec-T1IJ%}rxYJQS20iR+,@Rl0$NIwNR+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17032,"triangles":180,"vertices":540,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.000005267808554310083,-0.8550202840797108],"max":[0.949999988079071,0.8150922286010958,0.8550202840797108]},"sizeMeters":[1.9,0.815,1.71],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:56.863Z","updatedAt":"2026-09-11T03:24:57.056Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33674/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberPicnicTableCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33674/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33674/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33674/v1/model.glb\" alt=\"Timber Picnic Table (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33674/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33674/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33682","slug":"city-park-and-playground-flower-bed-70ea69ff","title":"Circular Flower Bed (City Park and Playground)","summary":"A 3 m circular bed: a precast ring wall, a dark soil fill and eight flowering clumps in three colours. Static planting.","description":"A 3 m circular bed: a precast ring wall, a dark soil fill and eight flowering clumps in three colours. Static planting. Overall 3.000 x 0.736 x 3.000 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-flower-bed-70ea69ff","cdnUrl":"https://cdn.3dassets.dev/assets/33682/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-flower-bed-70ea69ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/33682/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33682/v1/poster.webp","blurhash":"U7AAUIx]00VsMxR*tRs:00M{~qkCyCxaVrNG","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42060,"triangles":560,"vertices":1680,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-1.5,-0.00006927940069631489,-1.5],"max":[1.5,0.7360345593265907,1.5]},"sizeMeters":[3,0.736,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:00.253Z","updatedAt":"2026-09-11T03:25:00.357Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33682/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CircularFlowerBedCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33682/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33682/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33682/v1/model.glb\" alt=\"Circular Flower Bed (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33682/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33682/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33684","slug":"city-park-and-playground-park-tree-broadleaf-0d7e2fa1","title":"Broadleaf Park Tree (City Park and Playground)","summary":"A 4.2 m broadleaf park tree: a tapered trunk with three lower limbs under a faceted four lobe crown. Static; no wind animation.","description":"A 4.2 m broadleaf park tree: a tapered trunk with three lower limbs under a faceted four lobe crown. Static; no wind animation. Overall 3.190 x 4.068 x 2.708 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-tree-broadleaf-0d7e2fa1","cdnUrl":"https://cdn.3dassets.dev/assets/33684/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-tree-broadleaf-0d7e2fa1","thumbnailUrl":"https://cdn.3dassets.dev/assets/33684/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33684/v1/poster.webp","blurhash":"UF9Q~axt01M|_LofDjae8|Rj%et68yRj%yt7","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21424,"triangles":278,"vertices":834,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.5527632236480713,0,-1.423829765392877],"max":[1.6369999647140503,4.068256669262853,1.2838719797864928]},"sizeMeters":[3.19,4.068,2.708],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:01.086Z","updatedAt":"2026-09-11T03:25:01.278Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33684/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BroadleafParkTreeCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33684/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33684/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33684/v1/model.glb\" alt=\"Broadleaf Park Tree (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33684/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33684/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33683","slug":"city-park-and-playground-park-tree-conifer-f8c4d290","title":"Conifer Park Tree (City Park and Playground)","summary":"A 4.3 m conifer: a short trunk under three stacked faceted cones, the second tree shape a park line needs so a row is not all one silhouette. Static.","description":"A 4.3 m conifer: a short trunk under three stacked faceted cones, the second tree shape a park line needs so a row is not all one silhouette. Static. Overall 2.231 x 4.300 x 2.265 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-tree-conifer-f8c4d290","cdnUrl":"https://cdn.3dassets.dev/assets/33683/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-tree-conifer-f8c4d290","thumbnailUrl":"https://cdn.3dassets.dev/assets/33683/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33683/v1/poster.webp","blurhash":"UB9Q~cxu00D*IVf6t7af01Rk_Lxt%fkBMzf7","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11248,"triangles":82,"vertices":246,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0806191966233663,0,-1.1324595377596347],"max":[1.1499726578889302,4.300000190734863,1.1324595377596347]},"sizeMeters":[2.231,4.3,2.265],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:00.905Z","updatedAt":"2026-09-11T03:25:01.027Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33683/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConiferParkTreeCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33683/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33683/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33683/v1/model.glb\" alt=\"Conifer Park Tree (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33683/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33683/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33685","slug":"city-park-and-playground-shrub-clump-6f521139","title":"Shrub Clump (City Park and Playground)","summary":"A 1.6 m wide clump of four faceted shrub lobes on a bare soil pad, for filling the base of a tree line or the back of a bed. Static.","description":"A 1.6 m wide clump of four faceted shrub lobes on a bare soil pad, for filling the base of a tree line or the back of a bed. Static. Overall 1.643 x 0.973 x 1.331 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-shrub-clump-6f521139","cdnUrl":"https://cdn.3dassets.dev/assets/33685/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-shrub-clump-6f521139","thumbnailUrl":"https://cdn.3dassets.dev/assets/33685/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33685/v1/poster.webp","blurhash":"UEAKdAx]00Mxx@ayRQkC00My_LxuIVWCxtof","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11480,"triangles":202,"vertices":606,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7470517158508301,0.00000534224677135875,-0.7449014465191193],"max":[0.8960000276565552,0.9729730526325181,0.5860572139599152]},"sizeMeters":[1.643,0.973,1.331],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:01.935Z","updatedAt":"2026-09-11T03:25:02.038Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33685/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShrubClumpCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33685/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33685/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33685/v1/model.glb\" alt=\"Shrub Clump (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33685/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33685/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33673","slug":"city-park-and-playground-park-bench-dfa5e953","title":"Slatted Park Bench (City Park and Playground)","summary":"A 1.8 m public bench: three timber seat slats and three raked back slats on cast charcoal ends with a rear foot. Static.","description":"A 1.8 m public bench: three timber seat slats and three raked back slats on cast charcoal ends with a rear foot. Static. Overall 1.800 x 0.973 x 0.700 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-bench-dfa5e953","cdnUrl":"https://cdn.3dassets.dev/assets/33673/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-bench-dfa5e953","thumbnailUrl":"https://cdn.3dassets.dev/assets/33673/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33673/v1/poster.webp","blurhash":"UAAlFKoL0~xa}T$*I@Ip0}w]wvI=5nS3s.jv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14748,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.00002173473721700514,-0.42001341738946657],"max":[0.8999999761581421,0.9731083430203622,0.2800134316945813]},"sizeMeters":[1.8,0.973,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:55.708Z","updatedAt":"2026-09-11T03:24:55.822Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33673/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SlattedParkBenchCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33673/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33673/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33673/v1/model.glb\" alt=\"Slatted Park Bench (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33673/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33673/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33677","slug":"city-park-and-playground-park-lamp-post-6771a338","title":"Park Lamp Post (City Park and Playground)","summary":"A 4.2 m cast park lighting column with a tapered shaft, a service door at the base and a four sided lantern with a pitched cap and a finial. No embedded light source.","description":"A 4.2 m cast park lighting column with a tapered shaft, a service door at the base and a four sided lantern with a pitched cap and a finial. No embedded light source. Overall 0.480 x 4.970 x 0.440 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-lamp-post-6771a338","cdnUrl":"https://cdn.3dassets.dev/assets/33677/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-lamp-post-6771a338","thumbnailUrl":"https://cdn.3dassets.dev/assets/33677/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33677/v1/poster.webp","blurhash":"U14ei_x]008_~mkB04aL~moc04N1%gflIAad","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10816,"triangles":188,"vertices":564,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999999463558197,0,-0.21998961878962692],"max":[0.23999999463558197,4.96999979019165,0.21998961878962692]},"sizeMeters":[0.48,4.97,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:57.383Z","updatedAt":"2026-09-11T03:24:57.557Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33677/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkLampPostCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33677/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33677/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33677/v1/model.glb\" alt=\"Park Lamp Post (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33677/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33677/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33681","slug":"city-park-and-playground-dog-waste-bin-d973462b","title":"Dog Waste Bin (City Park and Playground)","summary":"A 1.5 m post mounted dog waste bin: a red drum with a posting aperture and a lift off top on a steel post, under a yellow pictogram plate. Nothing opens; the top is modelled closed.","description":"A 1.5 m post mounted dog waste bin: a red drum with a posting aperture and a lift off top on a steel post, under a yellow pictogram plate. Nothing opens; the top is modelled closed. Overall 0.500 x 1.560 x 0.500 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-dog-waste-bin-d973462b","cdnUrl":"https://cdn.3dassets.dev/assets/33681/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-dog-waste-bin-d973462b","thumbnailUrl":"https://cdn.3dassets.dev/assets/33681/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33681/v1/poster.webp","blurhash":"U69Zlz%M004.~Qt50iIW2nbZ[vV]9[bE-Baj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12056,"triangles":184,"vertices":552,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2500023166901294,0,-0.2500023166901294],"max":[0.2500023166901294,1.560012471146258,0.2500023166901294]},"sizeMeters":[0.5,1.56,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:25:00.731Z","updatedAt":"2026-09-11T03:25:00.830Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33681/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DogWasteBinCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33681/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33681/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33681/v1/model.glb\" alt=\"Dog Waste Bin (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33681/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33681/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33676","slug":"city-park-and-playground-drinking-fountain-a3a8257e","title":"Park Drinking Fountain (City Park and Playground)","summary":"A cast concrete pedestal fountain with a stainless top, a shallow bowl, a bubbler spout, a push panel and a blue front plate. No water.","description":"A cast concrete pedestal fountain with a stainless top, a shallow bowl, a bubbler spout, a push panel and a blue front plate. No water. Overall 0.540 x 1.081 x 0.480 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-drinking-fountain-a3a8257e","cdnUrl":"https://cdn.3dassets.dev/assets/33676/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-drinking-fountain-a3a8257e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33676/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33676/v1/poster.webp","blurhash":"U7Css?%%00D4j=t5fiRn4Tro%hO]I]W@xFrp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24360,"triangles":176,"vertices":528,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.27000001072883606,0,-0.24000641842398782],"max":[0.27000001072883606,1.0812443933141103,0.24000641842398782]},"sizeMeters":[0.54,1.081,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:58.098Z","updatedAt":"2026-09-11T03:24:58.201Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33676/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkDrinkingFountainCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33676/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33676/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33676/v1/model.glb\" alt=\"Park Drinking Fountain (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33676/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33676/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33680","slug":"city-park-and-playground-park-bollard-e7b188cc","title":"Timber Park Bollard (City Park and Playground)","summary":"A 1.1 m square timber bollard on a cast foot with a pyramid top and a painted band. Static.","description":"A 1.1 m square timber bollard on a cast foot with a pyramid top and a painted band. Static. Overall 0.260 x 1.130 x 0.260 m (X x Y x Z), metre units, +Y up, +Z forward, resting on y=0. City Park and Playground / citypark-lp-v1: faceted turf and paving, timber, galvanised steel and three playground accents, with embedded procedural concrete and timber maps and no custom shaders. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/city-park-and-playground-park-bollard-e7b188cc","cdnUrl":"https://cdn.3dassets.dev/assets/33680/v1/model.glb","downloadUrl":"https://3dassets.dev/download/city-park-and-playground-park-bollard-e7b188cc","thumbnailUrl":"https://cdn.3dassets.dev/assets/33680/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33680/v1/poster.webp","blurhash":"U16aL|^Q000y=_niE4TIL1S5+H$xY+NGP;%2","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":9608,"triangles":44,"vertices":132,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.12999999523162842,0.000006716650885578435,-0.12999999523162842],"max":[0.12999999523162842,1.1299999952316284,0.12999999523162842]},"sizeMeters":[0.26,1.13,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:24:59.149Z","updatedAt":"2026-09-11T03:24:59.262Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33680/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberParkBollardCityParkAndPlayground(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33680/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33680/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33680/v1/model.glb\" alt=\"Timber Park Bollard (City Park and Playground)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33680/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33680/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}