{"data":{"id":"169","slug":"racecourse-and-parade-ring","title":"Racecourse and Parade Ring","summary":"Walk a race day at ground level: the finishing straight and its rail, the parade ring, the weighing room and saddling boxes, the betting and catering line, the winner's enclosure and the groundcare yard behind the stands.","url":"https://3dassets.dev/demos/racecourse-and-parade-ring","coverUrl":"https://cdn.3dassets.dev/media/racecourse-and-parade-ring-demo-1.png","featured":true,"pack":{"slug":"racecourse-and-parade-ring","title":"Racecourse and Parade Ring","url":"https://3dassets.dev/packs/racecourse-and-parade-ring","summary":"A turf racecourse in a kit: track modules and a home turn, white running rail, hurdles, chase fences and a water jump, starting stalls, the parade ring, weighing room and saddling boxes, a grandstand, the betting line and the ground staff yard. Every board is blank.","assetCount":66,"totalBytes":3289076,"starterScene":{"slug":"racecourse-and-parade-ring-finishing-str-22b826b2-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/38657/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-finishing-str-22b826b2-starter-scene","fileSize":1550920}},"placementCount":451,"assetCount":65,"spawn":{"position":[-1.5,0.12,-7.6],"yaw":90},"publishedAt":"2026-09-12T16:24:08.465Z","updatedAt":"2026-09-12T16:24:08.465Z","description":"A whole race day laid out as one place, on a plot 78 by 66 metres, from the 66 published models in this pack.\n\nYou spawn at the running rail on the finishing straight, looking along it. The winning post is ahead of you with the photo finish mirror box set across the course behind it, the furlong marker and the distance poles run back down the rail, and the grandstand is on your left: three tiers, low and high, under a roof canopy with five private box fronts along the top.\n\nThe rail opens partway along for the horse walk, so you can step onto the turf. Out there are the start, with a six bay and a four bay stalls unit and the handlers platform, the tape barrier, and the obstacles: a hurdle, a chase fence with its marker wings, the open ditch, which is sunk 0.35 m so its trench sits below the going, and the water jump edge. The course is mown in stripes across the running direction, which is how a real one is cut, and a bend tile turns away at the west end.\n\nBehind the rail, the betting and catering line runs between the crowd and the stands: seven pitch boards on their joint stools under umbrellas, the tote hut, two kiosk fronts and the results board. West of it are the parade ring, a ten sided rail with a hinged gate, a lawn and a walkway, and the number cloth rack. Beyond the ring are the weighing room front, the scales and trestle, the jockeys benches, tack trunks, saddle and rug racks, and the saddling box run. The winner's enclosure and its presentation dais sit between the ring and the stands, and the groundcare yard is behind the stands with the car park, the horsebox park and the ambulance standing by the track.\n\n## No animals\n\nThere are no horses here, and that is the first thing you will notice. This pack contains none, and the catalogue has no skinned meshes at all, so the saddle racks, the rug racks and the horse walk stand empty and the horsebox and horse ambulance are closed bodies. If you need animals, look for the catalogue's equestrian yard pack.\n\nEvery number cloth, pitch board, tote fascia, results board, screen and vehicle side in this pack is blank. Nothing carries a name, a number or a figure.\n\n## What moves\n\nBoth stalls units swing their front gates open together, the tape start barrier drops, the parade ring gate opens, and so do the weighing room, tote hut and groundsman hut doors. The tack trunk lids lift, the harrow lifts, and the tractor, water bowser, rail trolley and ground staff barrow roll their wheels. Clips play as you come within a few metres.\n\n## What does not move, and why\n\nThe rail tape, the birch on the chase fence and the hurdle, the water in the jump, the flags and the screen faces are all static. Flexible material, fluid and a display each need a joint per element or a shader, and none of that is reachable with the rigid node transforms this catalogue uses, so the pack models them in their resting state rather than faking the motion.\n\nThe walk has no vertical movement, so the grandstand terracing is a face you look at rather than something to climb. Everything worth reaching is at ground level.\n\nThe whole pack is placed, so the download is larger than a demo that shows a selection. That is the trade for walking the complete course furniture in one scene.","scene":{"version":1,"spawn":{"position":[-1.5,0.12,-7.6],"yaw":90},"bounds":{"min":[-39,0,-33],"max":[39,10,33]},"ground":{"size":110,"elevation":0.1,"style":"plain"},"environment":{"preset":"outdoor","floor":"#79934f","shadows":true},"placements":[{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[-36,0,-6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-36,0,0],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-36,0,6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-36,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[-36,0,18],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[-36,0,24],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[-36,0,30],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-30,0,-6],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-30,0,0],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-30,0,6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-30,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-30,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-30,0,24],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[-30,0,30],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,-6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,0],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,6],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,12],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,24],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-24,0,30],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,-6],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,0],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,12],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,24],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-18,0,30],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,-6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,0],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,12],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,18],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,24],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-12,0,30],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,-6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,0],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,12],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,24],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[-6,0,30],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,-6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,0],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,6],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,12],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,24],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[0,0,30],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,-6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,0],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,6],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,12],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,18],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,24],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[6,0,30],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,-6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,0],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,6],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,18],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,24],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[12,0,30],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,-6],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,0],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,24],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[18,0,30],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,-6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,0],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,12],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,18],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,24],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[24,0,30],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[30,0,-6],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[30,0,0],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[30,0,6],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[30,0,12],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[30,0,18],"rotation":270},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[30,0,24],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[30,0,30],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[36,0,-6],"rotation":180},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[36,0,0],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[36,0,6],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-97024bce","position":[36,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[36,0,18],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[36,0,24],"rotation":90},{"asset":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","position":[36,0,30],"rotation":180},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[-36,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[-24,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[-12,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[0,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[12,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[24,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[36,0,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[-24,0,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[-12,0,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[0,0,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[12,0,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[24,0,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","position":[36,0,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-turf-track-bend-22b02b55","position":[-30,0,-25.5],"rotation":180},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-36,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-36,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-29.6,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-29.6,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-23.2,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-23.2,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-16.799999999999997,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-16.799999999999997,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-10.399999999999999,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-10.399999999999999,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-4,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[-4,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[2.4000000000000057,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[2.4000000000000057,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[8.800000000000004,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[8.800000000000004,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[15.200000000000003,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[15.200000000000003,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[21.6,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[21.6,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[28,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[28,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[34.400000000000006,0.2,-15],"rotation":0},{"asset":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","position":[34.400000000000006,0.2,-27],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-32.48,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-24.36,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-16.24,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-8.12,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[0,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-dolled-rail-section-95a4883e","position":[8.12,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[16.24,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[24.36,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[32.48,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-36.53999999999999,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-28.419999999999998,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-20.3,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-12.18,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-4.06,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[4.06,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[12.18,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[20.299999999999997,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[28.419999999999998,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[36.54,0.12,-8.75],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-32.48,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-24.36,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-16.24,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[-8.12,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[0,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[8.12,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[16.24,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[24.36,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","position":[32.48,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-36.53999999999999,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-28.419999999999998,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-20.3,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-12.18,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[-4.06,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[4.06,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[12.18,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[20.299999999999997,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[28.419999999999998,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-running-rail-post-790a190f","position":[36.54,0.2,-32.5],"rotation":0},{"asset":"racecourse-and-parade-ring-hurdle-3a2dc8af","position":[-20,0.2,-25.9],"rotation":90},{"asset":"racecourse-and-parade-ring-hurdle-3a2dc8af","position":[-20,0.2,-21],"rotation":90},{"asset":"racecourse-and-parade-ring-hurdle-3a2dc8af","position":[-20,0.2,-16.1],"rotation":90},{"asset":"racecourse-and-parade-ring-steeplechase-fence-6f38a03a","position":[-4,0.2,-27.24],"rotation":90},{"asset":"racecourse-and-parade-ring-steeplechase-fence-6f38a03a","position":[-4,0.2,-23.08],"rotation":90},{"asset":"racecourse-and-parade-ring-steeplechase-fence-6f38a03a","position":[-4,0.2,-18.92],"rotation":90},{"asset":"racecourse-and-parade-ring-steeplechase-fence-6f38a03a","position":[-4,0.2,-14.76],"rotation":90},{"asset":"racecourse-and-parade-ring-open-ditch-a25d2b48","position":[12,-0.15,-29.32],"rotation":90},{"asset":"racecourse-and-parade-ring-open-ditch-a25d2b48","position":[12,-0.15,-25.16],"rotation":90},{"asset":"racecourse-and-parade-ring-open-ditch-a25d2b48","position":[12,-0.15,-21],"rotation":90},{"asset":"racecourse-and-parade-ring-open-ditch-a25d2b48","position":[12,-0.15,-16.84],"rotation":90},{"asset":"racecourse-and-parade-ring-open-ditch-a25d2b48","position":[12,-0.15,-12.68],"rotation":90},{"asset":"racecourse-and-parade-ring-water-jump-edge-9f4a05c9","position":[28,0.2,-29.28],"rotation":90},{"asset":"racecourse-and-parade-ring-water-jump-edge-9f4a05c9","position":[28,0.2,-25.14],"rotation":90},{"asset":"racecourse-and-parade-ring-water-jump-edge-9f4a05c9","position":[28,0.2,-21],"rotation":90},{"asset":"racecourse-and-parade-ring-water-jump-edge-9f4a05c9","position":[28,0.2,-16.86],"rotation":90},{"asset":"racecourse-and-parade-ring-water-jump-edge-9f4a05c9","position":[28,0.2,-12.72],"rotation":90},{"asset":"racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","position":[-20,0.2,-11.4],"rotation":90},{"asset":"racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","position":[-20,0.2,-30.6],"rotation":90},{"asset":"racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","position":[-4,0.2,-10.6],"rotation":90},{"asset":"racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","position":[-4,0.2,-31.4],"rotation":90},{"asset":"racecourse-and-parade-ring-distance-pole-set-fc6c69e4","position":[-24,0.2,-10],"rotation":0},{"asset":"racecourse-and-parade-ring-distance-pole-set-fc6c69e4","position":[-12,0.2,-10],"rotation":0},{"asset":"racecourse-and-parade-ring-distance-pole-set-fc6c69e4","position":[0,0.2,-10],"rotation":0},{"asset":"racecourse-and-parade-ring-furlong-marker-6f54ac75","position":[-30,0.2,-10],"rotation":0},{"asset":"racecourse-and-parade-ring-furlong-marker-6f54ac75","position":[-6,0.2,-10],"rotation":0},{"asset":"racecourse-and-parade-ring-winning-post-b9ea28f5","position":[24,0.12,-8.1],"rotation":0},{"asset":"racecourse-and-parade-ring-photo-finish-mirror-box-8b3f31cd","position":[24,0.2,-30],"rotation":180},{"asset":"racecourse-and-parade-ring-big-screen-frame-9bea9827","position":[6,0.2,-30],"rotation":0},{"asset":"racecourse-and-parade-ring-starting-stalls-six-1ea09736","position":[-24,0.2,-13],"rotation":90},{"asset":"racecourse-and-parade-ring-starting-stalls-four-8b8c508c","position":[-24,0.2,-18],"rotation":90},{"asset":"racecourse-and-parade-ring-stalls-handlers-platform-6ebc4ae4","position":[-27.6,0.2,-15.5],"rotation":90},{"asset":"racecourse-and-parade-ring-tape-start-barrier-2710f32c","position":[-14,0.2,-11],"rotation":0},{"asset":"racecourse-and-parade-ring-starters-rostrum-ab06bf32","position":[-24,0.12,-6.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-37.5,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-34.9,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-32.3,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-29.7,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-27.1,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-19.3,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[1.5,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[4.1,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[6.7,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[9.3,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[11.9,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[14.5,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[17.1,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[19.7,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[22.3,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[24.9,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[27.5,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[30.1,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[32.7,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[35.3,0.12,-6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-33,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-27,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-20,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[4,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[10,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[16,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[22,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[28,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[37,0.12,-4.4],"rotation":180},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-30,0.12,-3.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-18,0.12,-3.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[2,0.12,-3.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[14,0.12,-3.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[26,0.12,-3.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[36,0.12,-3.6],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[-28,0.12,-2.4],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[-6,0.12,-2.4],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[8,0.12,-2.4],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[20,0.12,-2.4],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[32,0.12,-2.4],"rotation":0},{"asset":"racecourse-and-parade-ring-ground-staff-barrow-55e9141a","position":[-19,0.12,-5.2],"rotation":-70},{"asset":"racecourse-and-parade-ring-horse-ambulance-body-665091b3","position":[34,0.12,-5],"rotation":90},{"asset":"racecourse-and-parade-ring-horse-walk-tunnel-mouth-4998313b","position":[-9,0.12,-5.5],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[0,0.12,2.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[-0.9,0.12,3.4],"rotation":170},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[4.5,0.12,2.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[3.6,0.12,3.4],"rotation":170},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[9,0.12,2.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[8.1,0.12,3.4],"rotation":170},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[13.5,0.12,2.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[12.6,0.12,3.4],"rotation":170},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[18,0.12,2.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[17.1,0.12,3.4],"rotation":170},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[22.5,0.12,2.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[21.6,0.12,3.4],"rotation":170},{"asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","position":[27.5,0.12,2.4],"rotation":164},{"asset":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","position":[26.6,0.12,3.4],"rotation":154},{"asset":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","position":[1.8,0.12,4.8],"rotation":0},{"asset":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","position":[10.8,0.12,4.8],"rotation":0},{"asset":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","position":[19.8,0.12,4.8],"rotation":0},{"asset":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","position":[27.5,0.12,4.8],"rotation":0},{"asset":"racecourse-and-parade-ring-results-board-dc3327f9","position":[-5,0.12,3.4],"rotation":180},{"asset":"racecourse-and-parade-ring-tote-hut-ff13220f","position":[-10.5,0.12,3.4],"rotation":180},{"asset":"racecourse-and-parade-ring-bar-and-food-kiosk-7eefd7a3","position":[-17,0.12,0.5],"rotation":180},{"asset":"racecourse-and-parade-ring-bar-and-food-kiosk-7eefd7a3","position":[31,0.12,3.6],"rotation":186},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-8.5,0.12,1.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-13,0.12,1.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[30.5,0.12,1.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-2,0.12,5.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[6.5,0.12,5.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[24,0.12,5.6],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-tier-low-77c1a7c1","position":[4,0.12,10],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-tier-high-df693678","position":[4,0.12,16.2],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","position":[4,0.12,20],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-tier-low-77c1a7c1","position":[16,0.12,10],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-tier-high-df693678","position":[16,0.12,16.2],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","position":[16,0.12,20],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-tier-low-77c1a7c1","position":[28,0.12,10],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-tier-high-df693678","position":[28,0.12,16.2],"rotation":0},{"asset":"racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","position":[28,0.12,20],"rotation":0},{"asset":"racecourse-and-parade-ring-private-box-front-a52c914b","position":[1.6,4.56,19.2],"rotation":0},{"asset":"racecourse-and-parade-ring-private-box-front-a52c914b","position":[8.4,4.56,19.2],"rotation":0},{"asset":"racecourse-and-parade-ring-private-box-front-a52c914b","position":[15.2,4.56,19.2],"rotation":0},{"asset":"racecourse-and-parade-ring-private-box-front-a52c914b","position":[22,4.56,19.2],"rotation":0},{"asset":"racecourse-and-parade-ring-private-box-front-a52c914b","position":[28.8,4.56,19.2],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[34.5,0.12,9],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-17.08,0.15,17.03],"rotation":-126},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-21.35,0.15,20.14],"rotation":-162},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-26.65,0.15,20.14],"rotation":-198},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-30.92,0.15,17.03],"rotation":-234},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-32.56,0.15,12],"rotation":-270},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-30.92,0.15,6.97],"rotation":-306},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-26.65,0.15,3.8599999999999994],"rotation":-342},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-21.35,0.15,3.8599999999999994],"rotation":-18},{"asset":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","position":[-17.08,0.15,6.97],"rotation":-54},{"asset":"racecourse-and-parade-ring-parade-ring-gate-28242051","position":[-15.44,0.15,12],"rotation":-90},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-30,0,6],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-30,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-30,0,18],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-24,0,6],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-24,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-24,0,18],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-18,0,6],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-18,0,12],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","position":[-18,0,18],"rotation":0},{"asset":"racecourse-and-parade-ring-number-cloth-rack-46e5a0f1","position":[-13.2,0.12,12],"rotation":-90},{"asset":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","position":[-12,0.02,12],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","position":[-7,0.02,12],"rotation":0},{"asset":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","position":[-9,0.02,-3],"rotation":90},{"asset":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","position":[-9,0.02,3],"rotation":90},{"asset":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","position":[-9,0.02,9],"rotation":90},{"asset":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","position":[-9,0.02,15],"rotation":90},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-28,0.12,2.2],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-20,0.12,2.2],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-31,0.12,2.2],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-17,0.12,2.2],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[-24,0.12,2.4],"rotation":0},{"asset":"racecourse-and-parade-ring-weighing-room-front-8f0f5c7f","position":[-21,0.12,25],"rotation":0},{"asset":"racecourse-and-parade-ring-saddling-box-run-70c86c2f","position":[-32,0.12,31],"rotation":180},{"asset":"racecourse-and-parade-ring-saddling-box-run-70c86c2f","position":[-20,0.12,31],"rotation":180},{"asset":"racecourse-and-parade-ring-scales-and-trestle-c7922781","position":[-24.4,0.12,21.9],"rotation":8},{"asset":"racecourse-and-parade-ring-jockeys-bench-4505f1ea","position":[-18.5,0.12,21.6],"rotation":0},{"asset":"racecourse-and-parade-ring-jockeys-bench-4505f1ea","position":[-16.2,0.12,23.4],"rotation":-90},{"asset":"racecourse-and-parade-ring-tack-trunk-204cb06b","position":[-16.6,0.12,21.7],"rotation":12},{"asset":"racecourse-and-parade-ring-tack-trunk-204cb06b","position":[-33,0.12,26.5],"rotation":178},{"asset":"racecourse-and-parade-ring-saddle-rack-401ceca2","position":[-37,0.12,28.2],"rotation":0},{"asset":"racecourse-and-parade-ring-saddle-rack-401ceca2","position":[-34.8,0.12,28.2],"rotation":0},{"asset":"racecourse-and-parade-ring-saddle-rack-401ceca2","position":[-32.6,0.12,28.2],"rotation":0},{"asset":"racecourse-and-parade-ring-rug-rack-070d9684","position":[-30.5,0.12,28.2],"rotation":6},{"asset":"racecourse-and-parade-ring-rug-rack-070d9684","position":[-28.6,0.12,28.2],"rotation":6},{"asset":"racecourse-and-parade-ring-number-cloth-rack-46e5a0f1","position":[-26.5,0.12,28.2],"rotation":180},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-36,0.12,26.3],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-28,0.12,26.3],"rotation":0},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-13,0.12,15],"rotation":180},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-5,0.12,15],"rotation":180},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-13,0.12,27],"rotation":0},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-5,0.12,27],"rotation":0},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-3,0.12,18],"rotation":90},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-15,0.12,18],"rotation":-90},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-3,0.12,24],"rotation":90},{"asset":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","position":[-15,0.12,24],"rotation":-90},{"asset":"racecourse-and-parade-ring-presentation-dais-694759ca","position":[-9,0.12,25.2],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-12.5,0.12,16.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-5.5,0.12,16.6],"rotation":0},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[-2,0.04,27.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[3,0.04,27.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[8,0.04,27.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[13,0.04,27.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[18,0.04,27.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[-2,0.04,31.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[3,0.04,31.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[8,0.04,31.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[13,0.04,31.6],"rotation":90},{"asset":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","position":[18,0.04,31.6],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[6,0.12,25.2],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[12,0.12,25.2],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[18,0.12,25.2],"rotation":0},{"asset":"racecourse-and-parade-ring-horsebox-body-ac657c15","position":[36.5,0.12,7],"rotation":0},{"asset":"racecourse-and-parade-ring-horsebox-body-ac657c15","position":[36.5,0.12,18.5],"rotation":0},{"asset":"racecourse-and-parade-ring-groundsmans-hut-ddba3b9e","position":[24,0.12,30],"rotation":180},{"asset":"racecourse-and-parade-ring-course-tractor-f524558c","position":[28.5,0.12,30.2],"rotation":176},{"asset":"racecourse-and-parade-ring-tractor-harrow-99591e72","position":[28.5,0.12,26.9],"rotation":2},{"asset":"racecourse-and-parade-ring-water-bowser-6f22e4da","position":[32.5,0.12,30],"rotation":190},{"asset":"racecourse-and-parade-ring-rail-trolley-704badc9","position":[36.5,0.12,30],"rotation":96},{"asset":"racecourse-and-parade-ring-ground-staff-barrow-55e9141a","position":[26.5,0.12,27],"rotation":40},{"asset":"racecourse-and-parade-ring-divot-fork-rack-c3450a2d","position":[24.5,0.12,27.2],"rotation":94},{"asset":"racecourse-and-parade-ring-running-rail-store-stack-06646242","position":[31,0.12,27],"rotation":4},{"asset":"racecourse-and-parade-ring-running-rail-store-stack-06646242","position":[33.5,0.12,27],"rotation":186},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[22,0.12,28.5],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,-6],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,0],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,6],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,12],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,18],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,24],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-38.5,0.12,30],"rotation":90},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[-6,0.12,33],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-12.79,0.12,9.02],"rotation":194.9},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-20.98,0.12,0.8],"rotation":254.9},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-26.98,0.12,0.79],"rotation":284.9},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-35.2,0.12,8.98],"rotation":344.9},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-35.21,0.12,14.98],"rotation":14.9},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-27.02,0.12,23.2],"rotation":74.9},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-16.2,0.12,13.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-13.4,0.12,13.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-10.6,0.12,13.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-7.8,0.12,13.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-5,0.12,13.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-15.5,0.12,28.4],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-12.7,0.12,28.4],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-9.9,0.12,28.4],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-7.1,0.12,28.4],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-4.3,0.12,28.4],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-13.5,0.12,15.8],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-4.5,0.12,15.8],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-24,0.12,5.4],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[30,0.12,25.5],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-21,0.12,8.8],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-27,0.12,8.8],"rotation":180},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[31,0.12,5.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-36,0.12,3],"rotation":0},{"asset":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","position":[-8,0.12,6.6],"rotation":0},{"asset":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","position":[-1.5,0.12,4.8],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[6,0.12,33],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[12,0.12,33],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[24,0.12,33],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[18,0.12,33],"rotation":0},{"asset":"racecourse-and-parade-ring-hedgerow-run-ebebc952","position":[0,0.12,33],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[6.8,0.12,6.2],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[14.6,0.12,6.2],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[30.2,0.12,6.2],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[32.8,0.12,6.2],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-11.6,0.12,-1],"rotation":90},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-11.6,0.12,11],"rotation":90},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-6.4,0.12,-1],"rotation":90},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-6.4,0.12,2],"rotation":90},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-6.4,0.12,11],"rotation":90},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-12.74,0.12,19.27],"rotation":147.2},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-11.3,0.12,7.73],"rotation":198.6},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-25.34,0.12,-1.33],"rotation":275.7},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-30.99,0.12,0.57],"rotation":301.4},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-35.26,0.12,4.73],"rotation":327.2},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-36.7,0.12,16.27],"rotation":18.6},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-33.59,0.12,21.36],"rotation":44.3},{"asset":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","position":[-28.58,0.12,24.59],"rotation":70},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[16,0.12,5.6],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-19,0.12,14],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[35,0.12,12],"rotation":0},{"asset":"racecourse-and-parade-ring-course-litter-bin-1314227f","position":[-31,0.12,26.3],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-28.5,0.12,16],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-19.5,0.12,18.5],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[9,0.12,24.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[20,0.12,24.6],"rotation":0},{"asset":"racecourse-and-parade-ring-spectator-bench-1be5eac9","position":[-6,0.12,18],"rotation":90},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[-13,0.12,8],"rotation":0},{"asset":"racecourse-and-parade-ring-loudspeaker-post-0af43695","position":[-30,0.12,24.6],"rotation":0},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[11.5,0.12,28],"rotation":213.2},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[1,0.12,29.5],"rotation":197.3},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-5,0.12,31],"rotation":183.3},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[13,0.12,-0.5],"rotation":282.6},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[17.5,0.12,28],"rotation":325.3},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-23,0.12,13],"rotation":125},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-12.5,0.12,25],"rotation":273},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[7,0.12,29.5],"rotation":252},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-29,0.12,11.5],"rotation":79.5},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-24.5,0.12,17.5],"rotation":186.3},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[23.5,0.12,-2],"rotation":99.1},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-35,0.12,-0.5],"rotation":129.3},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[-8,0.12,22],"rotation":353.4},{"asset":"racecourse-and-parade-ring-paddock-tree-91f358c4","position":[37,0.12,-0.5],"rotation":192.3}],"points":[{"position":[24,0.12,-7.2],"title":"The winning post","text":"The post stands just inside the running rail, with the mirror box across the course behind it so a judge can read the line from one fixed angle. The furlong marker and the distance poles run back down the straight from here.","asset":"racecourse-and-parade-ring-winning-post-b9ea28f5"},{"position":[-6,0.12,-7.2],"title":"The crossing and the horse walk","text":"The rail opens here for the walk down from the parade ring. Step through onto the turf to reach the start, the tape barrier, the hurdle, the chase fence and the open ditch, which is sunk so its trench sits below the going.","asset":"racecourse-and-parade-ring-horse-walk-tunnel-mouth-4998313b"},{"position":[-22,0.2,-15.5],"title":"The start","text":"A six bay and a four bay stalls unit with the handlers platform between them. Walk up and the front gates swing open together. The tape barrier back along the rail drops the same way.","asset":"racecourse-and-parade-ring-starting-stalls-six-1ea09736"},{"position":[-15.5,0.12,12],"title":"Parade ring","text":"A ten sided rail with one hinged gate, a lawn inside and a walkway out to the enclosures. The number cloth rack by the gate holds blank cloths. The ring stands empty: this pack carries no animals and the catalogue has no skinned meshes.","asset":"racecourse-and-parade-ring-parade-ring-gate-28242051"},{"position":[-18,0.12,21.5],"title":"Weighing room and saddling boxes","text":"The weighing room front opens, with the scales and trestle, the jockeys bench and a tack trunk whose lid lifts. The saddling box run is behind, with saddle racks and rug racks standing empty along its front.","asset":"racecourse-and-parade-ring-weighing-room-front-8f0f5c7f"},{"position":[11,0.12,4.6],"title":"Betting and catering","text":"Seven pitch boards and their joint stools under umbrellas, the tote hut with an opening door, two kiosk fronts and the results board. Every board, fascia and screen in this pack is blank, so nothing here carries figures.","asset":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91"},{"position":[-9,0.12,21],"title":"Winner’s enclosure","text":"A square of surround rails round the presentation dais, set between the parade ring and the stands so the walk back from the straight passes through it.","asset":"racecourse-and-parade-ring-presentation-dais-694759ca"},{"position":[26.5,0.12,28.2],"title":"Groundcare yard","text":"Behind the stands: the tractor with its harrow, the water bowser, the rail trolley and the barrow all roll, the harrow lifts, and the groundsman hut door opens. Spare rail sections and a divot fork rack are stacked alongside.","asset":"racecourse-and-parade-ring-course-tractor-f524558c"}],"poster":{"position":[16,1.72,-7.6],"lookAt":[30,1.1,4]}},"bounds":{"min":[-39,0,-33],"max":[39,10,33]},"assets":[{"id":"38647","slug":"racecourse-and-parade-ring-grass-ground-module-pale-1734190c","title":"Grass Ground Module Pale (Racecourse and Parade Ring)","summary":"The paler cut of the same 6 m ground module, for breaking a large plot up in contiguous patches rather than tile by tile.","description":"The paler cut of the same 6 m ground module, for breaking a large plot up in contiguous patches rather than tile by tile. Dimensions 6.00 by 0.27 by 6.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -3.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 3.00) facing (0, 0, 1); east (ground) at (3.00, 0.00, 0.00) facing (1, 0, 0); west (ground) at (-3.00, 0.00, 0.00) facing (-1, 0, 0). Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data. Colour variant of grass-ground-module.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-grass-ground-module-pale-1734190c","cdnUrl":"https://cdn.3dassets.dev/assets/38647/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-grass-ground-module-pale-1734190c","thumbnailUrl":"https://cdn.3dassets.dev/assets/38647/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38647/v1/poster.webp","blurhash":"U69@|W%L00R*tQWoRjoL00Mz?@aeMyoMtQR*","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":23872,"triangles":432,"vertices":1204,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3,-0.000060427989866981835,-3],"max":[3,0.26985270345886714,3]},"sizeMeters":[6,0.27,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:34.026Z","updatedAt":"2026-09-12T15:47:34.130Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38647/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrassGroundModulePaleRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38647/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38647/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38647/v1/model.glb\" alt=\"Grass Ground Module Pale (Racecourse and Parade Ring)\" 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/38647/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/38647/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38646","slug":"racecourse-and-parade-ring-grass-ground-module-97024bce","title":"Grass Ground Module (Racecourse and Parade Ring)","summary":"A 6 m square of kept racecourse grass with a scatter of blades and no inset patches, ported on all four edges, for the ground between the track and the enclosures.","description":"A 6 m square of kept racecourse grass with a scatter of blades and no inset patches, ported on all four edges, for the ground between the track and the enclosures. Dimensions 6.00 by 0.27 by 6.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -3.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 3.00) facing (0, 0, 1); east (ground) at (3.00, 0.00, 0.00) facing (1, 0, 0); west (ground) at (-3.00, 0.00, 0.00) facing (-1, 0, 0). Turn each tile a random quarter turn when laying a plot and keep one tone dominant: an alternating grid of two tones reads as a chequerboard rather than as ground. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-grass-ground-module-97024bce","cdnUrl":"https://cdn.3dassets.dev/assets/38646/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-grass-ground-module-97024bce","thumbnailUrl":"https://cdn.3dassets.dev/assets/38646/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38646/v1/poster.webp","blurhash":"U8BX15%L00V@xtf6R%kB00M{_LWXIVj]t7V[","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":23840,"triangles":432,"vertices":1204,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3,-0.000060427989866981835,-3],"max":[3,0.26985270345886714,3]},"sizeMeters":[6,0.27,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:33.280Z","updatedAt":"2026-09-12T15:47:33.402Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38646/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrassGroundModuleRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38646/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38646/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38646/v1/model.glb\" alt=\"Grass Ground Module (Racecourse and Parade Ring)\" 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/38646/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/38646/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38592","slug":"racecourse-and-parade-ring-turf-track-straight-85a45c4b","title":"Turf Track Straight (Racecourse and Parade Ring)","summary":"A 12 m length of 12 m wide turf racing surface with the mowing bands running down it, ported at both ends and both sides so any number of them tile into a straight.","description":"A 12 m length of 12 m wide turf racing surface with the mowing bands running down it, ported at both ends and both sides so any number of them tile into a straight. Dimensions 12.00 by 0.36 by 12.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: entry (track) at (-6.00, 0.00, 0.00) facing (-1, 0, 0); exit (track) at (6.00, 0.00, 0.00) facing (1, 0, 0); inner (track) at (0.00, 0.00, 6.00) facing (0, 0, 1); outer (track) at (0.00, 0.00, -6.00) facing (0, 0, -1). Ports sit at ground level on each edge midpoint. The running surface stands 200 mm above the ground plane, so a grass ground module laid beside it reads as the outside of the rail rather than as the same turf. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-turf-track-straight-85a45c4b","cdnUrl":"https://cdn.3dassets.dev/assets/38592/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-turf-track-straight-85a45c4b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38592/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38592/v1/poster.webp","blurhash":"U6BD[v-;00V]x[jcVtjZ00IU?[R%IBX4ozaf","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":17756,"triangles":318,"vertices":868,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-6,-0.00034485766696265574,-6],"max":[6,0.3596752932525483,6]},"sizeMeters":[12,0.36,12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:46:56.664Z","updatedAt":"2026-09-12T15:46:56.795Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38592/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TurfTrackStraightRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38592/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38592/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38592/v1/model.glb\" alt=\"Turf Track Straight (Racecourse and Parade Ring)\" 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/38592/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/38592/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38593","slug":"racecourse-and-parade-ring-turf-track-bend-22b02b55","title":"Turf Track Bend (Racecourse and Parade Ring)","summary":"A 22 degree turn of 12 m wide turf on a 26 m centreline radius, banded like the straight and ported at both ends, so a straight runs into a home turn without a seam.","description":"A 22 degree turn of 12 m wide turf on a 26 m centreline radius, banded like the straight and ported at both ends, so a straight runs into a home turn without a seam. Dimensions 12.26 by 0.21 by 13.55 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: entry (track) at (0.00, 0.00, 0.00) facing (-1, 0, 0); exit (track) at (9.74, 0.00, 1.89) facing (0.9272, 0, 0.3746). The entry port is the local origin on the edge midpoint and the exit port is 9.74 m along and 1.89 m across from it; the arc is cut as overlapping straight segments, so the outer edge is continuous and the inner one overlaps. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-turf-track-bend-22b02b55","cdnUrl":"https://cdn.3dassets.dev/assets/38593/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-turf-track-bend-22b02b55","thumbnailUrl":"https://cdn.3dassets.dev/assets/38593/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38593/v1/poster.webp","blurhash":"U99kH7xu01V@.6fjMyj[00M|_LkC8yjH%fWB","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":10348,"triangles":192,"vertices":448,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2502601100512454,-0.00006230250962774297,-6.006282329559326],"max":[12.008199091107459,0.21169882484975724,7.542236328125]},"sizeMeters":[12.258,0.212,13.549],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:46:56.646Z","updatedAt":"2026-09-12T15:46:56.777Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38593/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TurfTrackBendRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38593/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38593/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38593/v1/model.glb\" alt=\"Turf Track Bend (Racecourse and Parade Ring)\" 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/38593/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/38593/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38649","slug":"racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","title":"Mown Chevron Strip (Racecourse and Parade Ring)","summary":"A 3 m by 12 m strip of chevron mowing, the bands meeting on the centre line, to lay across a track or a lawn so the turf reads as cut rather than painted.","description":"A 3 m by 12 m strip of chevron mowing, the bands meeting on the centre line, to lay across a track or a lawn so the turf reads as cut rather than painted. Dimensions 3.17 by 0.04 by 12.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Only 30 mm thick, so it lies on top of a track or ground module. Lay these as a repeating stripe pattern on purpose; that is what a mown course looks like. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","cdnUrl":"https://cdn.3dassets.dev/assets/38649/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-mown-chevron-strip-4b0f900f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38649/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38649/v1/poster.webp","blurhash":"UA9HnAoyDQt6tQDkV[x[00RQ.QbHMy_LtjIB","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":10508,"triangles":204,"vertices":460,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.5865618076534598,0.00035111511624522085,-6],"max":[1.5865618076534598,0.035737368280166555,6]},"sizeMeters":[3.173,0.035,12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:36.117Z","updatedAt":"2026-09-12T15:47:36.237Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38649/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MownChevronStripRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38649/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38649/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38649/v1/model.glb\" alt=\"Mown Chevron Strip (Racecourse and Parade Ring)\" 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/38649/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/38649/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38595","slug":"racecourse-and-parade-ring-running-rail-run-05e9fdd1","title":"Running Rail Run (Racecourse and Parade Ring)","summary":"An 8 m run of white plastic running rail: a top rail at 1.12 m, a mid rail and posts on 4 m centres, ported at both ends so runs couple into a continuous rail of any length.","description":"An 8 m run of white plastic running rail: a top rail at 1.12 m, a mid rail and posts on 4 m centres, ported at both ends so runs couple into a continuous rail of any length. Dimensions 8.12 by 1.16 by 0.12 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (rail) at (-4.00, 0.00, 0.00) facing (-1, 0, 0); end (rail) at (4.00, 0.00, 0.00) facing (1, 0, 0). The rail is modelled solid; there is no tape or rope here, because a rigid node transform cannot make a flexible element hang or sag. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-running-rail-run-05e9fdd1","cdnUrl":"https://cdn.3dassets.dev/assets/38595/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-running-rail-run-05e9fdd1","thumbnailUrl":"https://cdn.3dassets.dev/assets/38595/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38595/v1/poster.webp","blurhash":"U9BM_Pt7IUt7?b~qWBof00-;_3M{4n00-;xu","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":6144,"triangles":120,"vertices":263,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-4.059999942779541,-0.00013483119999757598,-0.05997009101551249],"max":[4.059999942779541,1.157634859810227,0.05997009101551249]},"sizeMeters":[8.12,1.158,0.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:46:57.061Z","updatedAt":"2026-09-12T15:46:57.167Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38595/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunningRailRunRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38595/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38595/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38595/v1/model.glb\" alt=\"Running Rail Run (Racecourse and Parade Ring)\" 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/38595/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/38595/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38596","slug":"racecourse-and-parade-ring-dolled-rail-section-95a4883e","title":"Dolled Rail Section (Racecourse and Parade Ring)","summary":"An 8 m dolled rail section: the same posts with the running line carried 0.9 m out on angled brackets, which is how ground staff move the racing line off worn turf.","description":"An 8 m dolled rail section: the same posts with the running line carried 0.9 m out on angled brackets, which is how ground staff move the racing line off worn turf. Dimensions 8.12 by 1.16 by 0.99 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (rail) at (-4.00, 0.00, 0.00) facing (-1, 0, 0); end (rail) at (4.00, 0.00, 0.00) facing (1, 0, 0). The ports stay on the post line, so a dolled section drops into a straight rail run and the running line steps out at it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data. Functional variant of running-rail-run, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-dolled-rail-section-95a4883e","cdnUrl":"https://cdn.3dassets.dev/assets/38596/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-dolled-rail-section-95a4883e","thumbnailUrl":"https://cdn.3dassets.dev/assets/38596/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38596/v1/poster.webp","blurhash":"U8A,zkofIUoM%M~qayRk00%M_3WBD%00%M-;","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":12612,"triangles":264,"vertices":611,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-4.061999797821045,0.00007588923328516461,-0.06188538723167103],"max":[4.061999797821045,1.1574241393769444,0.924885400165879]},"sizeMeters":[8.124,1.157,0.987],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:46:59.361Z","updatedAt":"2026-09-12T15:46:59.466Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38596/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DolledRailSectionRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38596/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38596/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38596/v1/model.glb\" alt=\"Dolled Rail Section (Racecourse and Parade Ring)\" 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/38596/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/38596/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38594","slug":"racecourse-and-parade-ring-running-rail-post-790a190f","title":"Running Rail Post (Racecourse and Parade Ring)","summary":"One white plastic running rail post, 1.12 m to the cap on a square foot plate, for closing a rail run against a gate, a wing or a building corner.","description":"One white plastic running rail post, 1.12 m to the cap on a square foot plate, for closing a rail run against a gate, a wing or a building corner. Dimensions 0.26 by 1.14 by 0.26 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-running-rail-post-790a190f","cdnUrl":"https://cdn.3dassets.dev/assets/38594/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-running-rail-post-790a190f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38594/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38594/v1/poster.webp","blurhash":"U3AK2I?b0000~qs:01M{01Rj_3%2_3ay4nj[","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":4732,"triangles":64,"vertices":145,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.12999999523162842,0,-0.12999999523162842],"max":[0.12999999523162842,1.1399999856948853,0.12999999523162842]},"sizeMeters":[0.26,1.14,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:46:56.633Z","updatedAt":"2026-09-12T15:46:56.758Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38594/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunningRailPostRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38594/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38594/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38594/v1/model.glb\" alt=\"Running Rail Post (Racecourse and Parade Ring)\" 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/38594/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/38594/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38597","slug":"racecourse-and-parade-ring-hurdle-3a2dc8af","title":"Hurdle (Racecourse and Parade Ring)","summary":"A 4 m hurdle panel 1.1 m high: birch flights packed into a green padded frame with a white top bar and a timber stile at each end, set in the ground on its own sills.","description":"A 4 m hurdle panel 1.1 m high: birch flights packed into a green padded frame with a white top bar and a timber stile at each end, set in the ground on its own sills. Dimensions 4.90 by 1.20 by 0.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Three panels side by side span a 12 m track. The birch is modelled as individual stems and never flexes: a rigid node transform cannot bend a mesh. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-hurdle-3a2dc8af","cdnUrl":"https://cdn.3dassets.dev/assets/38597/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-hurdle-3a2dc8af","thumbnailUrl":"https://cdn.3dassets.dev/assets/38597/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38597/v1/poster.webp","blurhash":"U69tiKtR4oo}z=_LbvIV00rD_1NHGF02rX%1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":132492,"triangles":3384,"vertices":6792,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.450000047683716,-0.00006195531239001906,-0.2999786428817734],"max":[2.450000047683716,1.2026302898123329,0.2999786428817734]},"sizeMeters":[4.9,1.203,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:46:59.684Z","updatedAt":"2026-09-12T15:46:59.781Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38597/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HurdleRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38597/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38597/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38597/v1/model.glb\" alt=\"Hurdle (Racecourse and Parade Ring)\" 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/38597/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/38597/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38599","slug":"racecourse-and-parade-ring-steeplechase-fence-6f38a03a","title":"Steeplechase Fence (Racecourse and Parade Ring)","summary":"A 4 m steeplechase fence 1.6 m high: birch stems dressed over a timber frame with a green take off apron sloped up to it and a padded top board.","description":"A 4 m steeplechase fence 1.6 m high: birch stems dressed over a timber frame with a green take off apron sloped up to it and a padded top board. Dimensions 4.16 by 1.85 by 1.79 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The apron is part of the model rather than a separate piece, so a fence drops onto a track module complete. Three panels side by side span a 12 m track. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-steeplechase-fence-6f38a03a","cdnUrl":"https://cdn.3dassets.dev/assets/38599/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-steeplechase-fence-6f38a03a","thumbnailUrl":"https://cdn.3dassets.dev/assets/38599/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38599/v1/poster.webp","blurhash":"U5BgYaL200E1{}_1Bo9G00[Wt+Ey7}IZ:+S|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":199068,"triangles":5136,"vertices":10304,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.0799999237060547,0.00009304764185869008,-0.21991454125329285],"max":[2.0799999237060547,1.845695157414095,1.5699467721720661]},"sizeMeters":[4.16,1.846,1.79],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:01.431Z","updatedAt":"2026-09-12T15:47:01.528Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38599/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteeplechaseFenceRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38599/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38599/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38599/v1/model.glb\" alt=\"Steeplechase Fence (Racecourse and Parade Ring)\" 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/38599/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/38599/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38598","slug":"racecourse-and-parade-ring-open-ditch-a25d2b48","title":"Open Ditch (Racecourse and Parade Ring)","summary":"A 4 m open ditch: the same birch fence with a boarded trench 1.8 m deep on the take off side and a white guard rail in front of it.","description":"A 4 m open ditch: the same birch fence with a boarded trench 1.8 m deep on the take off side and a white guard rail in front of it. Dimensions 4.16 by 2.20 by 3.69 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The trench is modelled as a lined box whose boarded floor is the model base, so the fence itself stands 0.35 m above the origin: sink the model 0.35 m into the surrounding surface and the turf line lands at the top of the boards. Three panels span a 12 m track. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data. Functional variant of steeplechase-fence, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-open-ditch-a25d2b48","cdnUrl":"https://cdn.3dassets.dev/assets/38598/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-open-ditch-a25d2b48","thumbnailUrl":"https://cdn.3dassets.dev/assets/38598/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38598/v1/poster.webp","blurhash":"U6Cspl%i00t2TDE1MgV@00IS0~Dk-q~BX2K0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":206540,"triangles":5292,"vertices":10651,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.0799999237060547,0.00012057561784462045,-0.21999715218406268],"max":[2.0799999237060547,2.200010970157107,3.4700663289944913]},"sizeMeters":[4.16,2.2,3.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:00.209Z","updatedAt":"2026-09-12T15:47:00.325Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38598/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenDitchRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38598/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38598/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38598/v1/model.glb\" alt=\"Open Ditch (Racecourse and Parade Ring)\" 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/38598/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/38598/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38600","slug":"racecourse-and-parade-ring-water-jump-edge-9f4a05c9","title":"Water Jump Edge (Racecourse and Parade Ring)","summary":"A 4 m water jump section: a low birch fence on a timber frame with the lined landing pan and its still water surface behind, for the far side of a chase course.","description":"A 4 m water jump section: a low birch fence on a timber frame with the lined landing pan and its still water surface behind, for the far side of a chase course. Dimensions 4.14 by 1.15 by 3.86 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The water is a flat slab 120 mm below the pan rim and never moves or ripples: surface motion needs a shader, which a rigid node transform cannot carry. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-water-jump-edge-9f4a05c9","cdnUrl":"https://cdn.3dassets.dev/assets/38600/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-water-jump-edge-9f4a05c9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38600/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38600/v1/poster.webp","blurhash":"U7B:y,K700S1?FM{ENtR00v|?wbJ9y-;w@IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":134224,"triangles":3432,"vertices":6888,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.069999933242798,0.00005967030683973196,-0.3100546181327449],"max":[2.069999933242798,1.1499403058513025,3.5500854250044425]},"sizeMeters":[4.14,1.15,3.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:02.125Z","updatedAt":"2026-09-12T15:47:02.302Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38600/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterJumpEdgeRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38600/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38600/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38600/v1/model.glb\" alt=\"Water Jump Edge (Racecourse and Parade Ring)\" 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/38600/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/38600/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38601","slug":"racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","title":"Marker Wing Pair (Racecourse and Parade Ring)","summary":"A pair of moulded plastic marker wings 1.9 m high, splayed to funnel a field into a jump, each carrying an abstract chevron and disc rather than any name or number.","description":"A pair of moulded plastic marker wings 1.9 m high, splayed to funnel a field into a jump, each carrying an abstract chevron and disc rather than any name or number. Dimensions 5.43 by 1.92 by 3.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Supplied as one model with both wings 5.2 m apart, so a 4 m jump panel stands between them. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","cdnUrl":"https://cdn.3dassets.dev/assets/38601/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-marker-wing-pair-1e3e6a82","thumbnailUrl":"https://cdn.3dassets.dev/assets/38601/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38601/v1/poster.webp","blurhash":"UBCi~:t74nxtxu_3of0000ogt7IUWB00M{~q","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":14100,"triangles":280,"vertices":596,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.716146945953369,-0.00005730698185579808,-1.749866085667764],"max":[2.716146945953369,1.9212309987314287,1.749866085667764]},"sizeMeters":[5.432,1.921,3.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:02.408Z","updatedAt":"2026-09-12T15:47:02.502Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38601/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarkerWingPairRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38601/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38601/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38601/v1/model.glb\" alt=\"Marker Wing Pair (Racecourse and Parade Ring)\" 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/38601/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/38601/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38602","slug":"racecourse-and-parade-ring-distance-pole-set-fc6c69e4","title":"Distance Pole Set (Racecourse and Parade Ring)","summary":"A set of three distance poles at 1.9, 1.55 and 1.2 m on foot plates, each with a blank coloured disc on its head, for measuring a run in from the last obstacle.","description":"A set of three distance poles at 1.9, 1.55 and 1.2 m on foot plates, each with a blank coloured disc on its head, for measuring a run in from the last obstacle. Dimensions 2.04 by 1.90 by 0.20 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The heads carry plain colour only. No distance is written on them, so the set reads for any course length a developer wants. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-distance-pole-set-fc6c69e4","cdnUrl":"https://cdn.3dassets.dev/assets/38602/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-distance-pole-set-fc6c69e4","thumbnailUrl":"https://cdn.3dassets.dev/assets/38602/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38602/v1/poster.webp","blurhash":"U9C%8J_300IU%1~qf80000M{_3afxtIUxu.7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":11156,"triangles":204,"vertices":459,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.0199999809265137,-0.000025177397788667816,-0.0999786370433668],"max":[1.0199999809265137,1.9000222488260503,0.0999786370433668]},"sizeMeters":[2.04,1.9,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:03.024Z","updatedAt":"2026-09-12T15:47:03.149Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38602/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DistancePoleSetRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38602/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38602/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38602/v1/model.glb\" alt=\"Distance Pole Set (Racecourse and Parade Ring)\" 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/38602/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/38602/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38603","slug":"racecourse-and-parade-ring-furlong-marker-6f54ac75","title":"Furlong Marker (Racecourse and Parade Ring)","summary":"A 2.4 m furlong marker post with a blank green faced board on its head, ready for a developer to letter or leave plain, on a square foot plate.","description":"A 2.4 m furlong marker post with a blank green faced board on its head, ready for a developer to letter or leave plain, on a square foot plate. Dimensions 0.52 by 2.40 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The board face carries no number: a marked one would tie the model to a single course distance. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-furlong-marker-6f54ac75","cdnUrl":"https://cdn.3dassets.dev/assets/38603/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-furlong-marker-6f54ac75","thumbnailUrl":"https://cdn.3dassets.dev/assets/38603/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38603/v1/poster.webp","blurhash":"U39HIX?v0000YNx]vQDP00kC~WVt^lRP4.%g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":6580,"triangles":88,"vertices":201,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.26000946273765,0,-0.17000000178813934],"max":[0.26000946273765,2.4000000953674316,0.17000000178813934]},"sizeMeters":[0.52,2.4,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:04.413Z","updatedAt":"2026-09-12T15:47:04.520Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38603/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FurlongMarkerRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38603/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38603/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38603/v1/model.glb\" alt=\"Furlong Marker (Racecourse and Parade Ring)\" 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/38603/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/38603/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38609","slug":"racecourse-and-parade-ring-winning-post-b9ea28f5","title":"Winning Post (Racecourse and Parade Ring)","summary":"A 4.6 m white winning post with a ball finial, a plain red flash on its arm and a stone pad at its foot, set at the inside rail on the finish line.","description":"A 4.6 m white winning post with a ball finial, a plain red flash on its arm and a stone pad at its foot, set at the inside rail on the finish line. Dimensions 0.83 by 4.82 by 0.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The arm carries a blank coloured flash rather than a course name or a sponsor mark. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-winning-post-b9ea28f5","cdnUrl":"https://cdn.3dassets.dev/assets/38609/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-winning-post-b9ea28f5","thumbnailUrl":"https://cdn.3dassets.dev/assets/38609/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38609/v1/poster.webp","blurhash":"U2A0?#~q0000j]fQWAWBD%WB-;xuM{bHt7jG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":11208,"triangles":196,"vertices":481,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.00001281404919895035,-0.30000001192092896],"max":[0.5299037118432495,4.820000171661377,0.30000001192092896]},"sizeMeters":[0.83,4.82,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:08.952Z","updatedAt":"2026-09-12T15:47:09.139Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38609/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WinningPostRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38609/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38609/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38609/v1/model.glb\" alt=\"Winning Post (Racecourse and Parade Ring)\" 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/38609/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/38609/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38604","slug":"racecourse-and-parade-ring-photo-finish-mirror-box-8b3f31cd","title":"Photo Finish Mirror Box (Racecourse and Parade Ring)","summary":"The mirror box that stands opposite the winning post: a 2.3 m charcoal cabinet with an angled mirror facing back up the straight and the camera slot beneath it.","description":"The mirror box that stands opposite the winning post: a 2.3 m charcoal cabinet with an angled mirror facing back up the straight and the camera slot beneath it. Dimensions 1.40 by 2.46 by 1.12 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The mirror is a flat glass panel, not a reflecting surface; the cabinet is closed and has no opening door. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-photo-finish-mirror-box-8b3f31cd","cdnUrl":"https://cdn.3dassets.dev/assets/38604/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-photo-finish-mirror-box-8b3f31cd","thumbnailUrl":"https://cdn.3dassets.dev/assets/38604/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38604/v1/poster.webp","blurhash":"UBC%Ea.8008__3og9FRj~pM{9Fx]%MjaWBkC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":10116,"triangles":124,"vertices":276,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,0.00001495555950468963,-0.55003203506796],"max":[0.699999988079071,2.459970066293237,0.5715173775733844]},"sizeMeters":[1.4,2.46,1.122],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:05.191Z","updatedAt":"2026-09-12T15:47:05.289Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38604/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PhotoFinishMirrorBoxRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38604/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38604/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38604/v1/model.glb\" alt=\"Photo Finish Mirror Box (Racecourse and Parade Ring)\" 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/38604/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/38604/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38633","slug":"racecourse-and-parade-ring-big-screen-frame-9bea9827","title":"Big Screen Frame (Racecourse and Parade Ring)","summary":"A 7.2 m by 4.2 m big screen on a braced charcoal frame, 6.9 m to the top: a blank dark panel a developer can map their own video to, for the far side of a track.","description":"A 7.2 m by 4.2 m big screen on a braced charcoal frame, 6.9 m to the top: a blank dark panel a developer can map their own video to, for the far side of a track. Dimensions 8.20 by 6.97 by 3.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The screen face is a flat blank panel and shows nothing: a display needs a texture or a video material, which no rigid node transform can supply. No broadcaster or sponsor mark appears on the frame. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-big-screen-frame-9bea9827","cdnUrl":"https://cdn.3dassets.dev/assets/38633/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-big-screen-frame-9bea9827","thumbnailUrl":"https://cdn.3dassets.dev/assets/38633/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38633/v1/poster.webp","blurhash":"U7A-0M_300IU.S?bDi8_00IU_4Ri8wNG_N%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":12328,"triangles":228,"vertices":508,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-4.099999904632568,0.00011884574978582307,-1.7999358692629626],"max":[4.099999904632568,6.969880944441865,1.7999358692629626]},"sizeMeters":[8.2,6.97,3.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:25.919Z","updatedAt":"2026-09-12T15:47:26.054Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38633/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BigScreenFrameRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38633/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38633/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38633/v1/model.glb\" alt=\"Big Screen Frame (Racecourse and Parade Ring)\" 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/38633/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/38633/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38605","slug":"racecourse-and-parade-ring-starting-stalls-six-1ea09736","title":"Starting Stalls Six Bay (Racecourse and Parade Ring)","summary":"A six bay starting stalls unit 5.5 m wide on its towing chassis: padded partitions, rear bars, a handler walkway bar over the top and six front gates that fly open together.","description":"A six bay starting stalls unit 5.5 m wide on its towing chassis: padded partitions, rear bars, a handler walkway bar over the top and six front gates that fly open together. Dimensions 5.76 by 2.54 by 3.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: stall-1 at (-2.71, 0.26, 1.41) m; stall-2 at (-1.79, 0.26, 1.41) m; stall-3 at (-0.87, 0.26, 1.41) m; stall-4 at (0.05, 0.26, 1.41) m; stall-5 at (0.97, 0.26, 1.41) m; stall-6 at (1.89, 0.26, 1.41) m. Each front gate is its own node hinged on the left stile of its bay, and all of them share one clip, so the unit opens as a set. The rear gates and the partitions are fixed. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-starting-stalls-six-1ea09736","cdnUrl":"https://cdn.3dassets.dev/assets/38605/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-starting-stalls-six-1ea09736","thumbnailUrl":"https://cdn.3dassets.dev/assets/38605/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38605/v1/poster.webp","blurhash":"UFC?[dxv01Rj~VxvIVM{00t7ozM{0KxV%3I=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":62188,"triangles":1516,"vertices":3514,"meshes":16,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.880000114440918,-0.00008210472786004952,-1.6998723426176447],"max":[2.880000114440918,2.545161686374499,1.600185616123275]},"sizeMeters":[5.76,2.545,3.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:06.003Z","updatedAt":"2026-09-12T15:47:06.100Z","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/38605/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 StartingStallsSixBayRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38605/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/38605/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38605/v1/model.glb\" alt=\"Starting Stalls Six Bay (Racecourse and Parade Ring)\" 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/38605/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/38605/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38606","slug":"racecourse-and-parade-ring-starting-stalls-four-8b8c508c","title":"Starting Stalls Four Bay (Racecourse and Parade Ring)","summary":"A four bay starting stalls unit 3.7 m wide, the short section a course couples beside the six bay one to span a wide track, with the same four flying front gates.","description":"A four bay starting stalls unit 3.7 m wide, the short section a course couples beside the six bay one to span a wide track, with the same four flying front gates. Dimensions 3.92 by 2.54 by 3.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: stall-1 at (-1.79, 0.26, 1.41) m; stall-2 at (-0.87, 0.26, 1.41) m; stall-3 at (0.05, 0.26, 1.41) m; stall-4 at (0.97, 0.26, 1.41) m. Each front gate is its own node hinged on the left stile of its bay, and all of them share one clip, so the unit opens as a set. The rear gates and the partitions are fixed. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Functional variant of starting-stalls-six, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-starting-stalls-four-8b8c508c","cdnUrl":"https://cdn.3dassets.dev/assets/38606/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-starting-stalls-four-8b8c508c","thumbnailUrl":"https://cdn.3dassets.dev/assets/38606/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38606/v1/poster.webp","blurhash":"UHDT6A%M01bE~WkED*jE4TNINfRj4-xCxvIp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":44228,"triangles":1052,"vertices":2438,"meshes":12,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.9600000381469727,0.00007903564255329343,-1.7000224617587187],"max":[1.9600000381469727,2.544993223693441,1.600145299248319]},"sizeMeters":[3.92,2.545,3.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:07.229Z","updatedAt":"2026-09-14T14:44:09.046Z","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/38606/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 StartingStallsFourBayRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38606/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/38606/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38606/v1/model.glb\" alt=\"Starting Stalls Four Bay (Racecourse and Parade Ring)\" 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/38606/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/38606/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38607","slug":"racecourse-and-parade-ring-stalls-handlers-platform-6ebc4ae4","title":"Stalls Handlers Platform (Racecourse and Parade Ring)","summary":"A 2.6 m stalls handlers platform: a steel deck 0.56 m up with a timber tread, a rail on three sides and two steps, for the crew working behind a set of stalls.","description":"A 2.6 m stalls handlers platform: a steel deck 0.56 m up with a timber tread, a rail on three sides and two steps, for the crew working behind a set of stalls. Dimensions 2.60 by 1.56 by 1.52 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-stalls-handlers-platform-6ebc4ae4","cdnUrl":"https://cdn.3dassets.dev/assets/38607/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-stalls-handlers-platform-6ebc4ae4","thumbnailUrl":"https://cdn.3dassets.dev/assets/38607/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38607/v1/poster.webp","blurhash":"U6ECqJtR00Mx%h-:aKE200WV#$jF~VtT9FVq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":9912,"triangles":180,"vertices":424,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.2999999523162842,-0.0000714133095545133,-0.5999561076363685],"max":[1.2999999523162842,1.5600713560890955,0.9249560957154396]},"sizeMeters":[2.6,1.56,1.525],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:08.104Z","updatedAt":"2026-09-12T15:47:08.229Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38607/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StallsHandlersPlatformRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38607/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38607/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38607/v1/model.glb\" alt=\"Stalls Handlers Platform (Racecourse and Parade Ring)\" 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/38607/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/38607/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38608","slug":"racecourse-and-parade-ring-tape-start-barrier-2710f32c","title":"Tape Start Barrier (Racecourse and Parade Ring)","summary":"A 6 m tape start barrier: two white posts and a hinged barrier arm at 1.22 m that drops away to start a race, with a red lower rail and vertical droppers.","description":"A 6 m tape start barrier: two white posts and a hinged barrier arm at 1.22 m that drops away to start a race, with a red lower rail and vertical droppers. Dimensions 6.44 by 1.63 by 0.52 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: barrier at (-2.86, 1.22, 0.20) m. The arm is one node hinged at the left post and swings down clear of the course. It is modelled as a rigid barrier rather than an elastic tape, because a rigid node transform cannot stretch or recoil a mesh. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-tape-start-barrier-2710f32c","cdnUrl":"https://cdn.3dassets.dev/assets/38608/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-tape-start-barrier-2710f32c","thumbnailUrl":"https://cdn.3dassets.dev/assets/38608/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38608/v1/poster.webp","blurhash":"UBBD7.M_pIt7o}~W-;EL00?v%2?Hx]9FNt?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":14324,"triangles":224,"vertices":514,"meshes":5,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-3.2200000286102295,0.00007904324104498345,-0.22012390710430965],"max":[3.2200000286102295,1.6298713723013003,0.3000073345008491]},"sizeMeters":[6.44,1.63,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:08.788Z","updatedAt":"2026-09-14T14:44:43.448Z","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/38608/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 TapeStartBarrierRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38608/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/38608/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38608/v1/model.glb\" alt=\"Tape Start Barrier (Racecourse and Parade Ring)\" 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/38608/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/38608/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38610","slug":"racecourse-and-parade-ring-starters-rostrum-ab06bf32","title":"Starters Rostrum (Racecourse and Parade Ring)","summary":"A 3.1 m starter's rostrum: a green boxed base with an abstract course mark, a railed timber platform on top and five steps up the back, for the official who starts a race.","description":"A 3.1 m starter's rostrum: a green boxed base with an abstract course mark, a railed timber platform on top and five steps up the back, for the official who starts a race. Dimensions 2.30 by 3.15 by 3.53 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The base is a closed shell with no interior and no opening door. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-starters-rostrum-ab06bf32","cdnUrl":"https://cdn.3dassets.dev/assets/38610/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-starters-rostrum-ab06bf32","thumbnailUrl":"https://cdn.3dassets.dev/assets/38610/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38610/v1/poster.webp","blurhash":"UJCjh6~p4UE1=}xHI.SK4VIoxZn455NGxuae","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":16540,"triangles":292,"vertices":675,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.149999976158142,0.0000015413404241826356,-2.5799999237060547],"max":[1.149999976158142,3.1500648746365476,0.9499511506904028]},"sizeMeters":[2.3,3.15,3.53],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:10.284Z","updatedAt":"2026-09-12T15:47:10.400Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38610/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StartersRostrumRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38610/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38610/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38610/v1/model.glb\" alt=\"Starters Rostrum (Racecourse and Parade Ring)\" 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/38610/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/38610/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38651","slug":"racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","title":"Spectator Crowd Barrier (Racecourse and Parade Ring)","summary":"A 2.4 m steel crowd barrier 1.1 m high with hook ends and a row of droppers, for lining a walkway, a betting ring or the front of a rail.","description":"A 2.4 m steel crowd barrier 1.1 m high with hook ends and a row of droppers, for lining a walkway, a betting ring or the front of a rail. Dimensions 2.52 by 1.10 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","cdnUrl":"https://cdn.3dassets.dev/assets/38651/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-spectator-crowd-barrier-c35e1403","thumbnailUrl":"https://cdn.3dassets.dev/assets/38651/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38651/v1/poster.webp","blurhash":"U69tP]%LIA-:_N_4DiD%00j]t79F00IU_Nax","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":9056,"triangles":180,"vertices":420,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.2599999904632568,0.00007905902273763754,-0.3499636803249031],"max":[1.2599999904632568,1.0999209648191202,0.3499636803249031]},"sizeMeters":[2.52,1.1,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:36.943Z","updatedAt":"2026-09-12T15:47:37.041Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38651/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectatorCrowdBarrierRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38651/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38651/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38651/v1/model.glb\" alt=\"Spectator Crowd Barrier (Racecourse and Parade Ring)\" 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/38651/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/38651/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38656","slug":"racecourse-and-parade-ring-spectator-bench-1be5eac9","title":"Spectator Bench (Racecourse and Parade Ring)","summary":"A 1.8 m slatted spectator bench on charcoal cast ends, for the enclosures, the paddock rail and the car park edge.","description":"A 1.8 m slatted spectator bench on charcoal cast ends, for the enclosures, the paddock rail and the car park edge. Dimensions 1.80 by 1.01 by 0.59 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-spectator-bench-1be5eac9","cdnUrl":"https://cdn.3dassets.dev/assets/38656/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-spectator-bench-1be5eac9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38656/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38656/v1/poster.webp","blurhash":"UJEVTeNG4;t7~U%2E2IV02xZxYIV9aoMt6WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":7100,"triangles":120,"vertices":270,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.000004322226259179107,-0.33676129199841176],"max":[0.8999999761581421,1.0132233171647353,0.25003795784200866]},"sizeMeters":[1.8,1.013,0.587],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:40.716Z","updatedAt":"2026-09-12T15:47:40.824Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38656/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpectatorBenchRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38656/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38656/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38656/v1/model.glb\" alt=\"Spectator Bench (Racecourse and Parade Ring)\" 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/38656/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/38656/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38652","slug":"racecourse-and-parade-ring-course-litter-bin-1314227f","title":"Course Litter Bin (Racecourse and Parade Ring)","summary":"A 1.07 m tapered litter bin in course green with a charcoal hood and a plain band, for a walkway or a betting ring.","description":"A 1.07 m tapered litter bin in course green with a charcoal hood and a plain band, for a walkway or a betting ring. Dimensions 0.68 by 1.07 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-course-litter-bin-1314227f","cdnUrl":"https://cdn.3dassets.dev/assets/38652/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-course-litter-bin-1314227f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38652/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38652/v1/poster.webp","blurhash":"U372jO%}008w@PVZCIyCD4Riy;%3K[bbvon+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":8380,"triangles":156,"vertices":337,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.34002899823999494,0,-0.34002899823999494],"max":[0.34002899823999494,1.0700039950232083,0.36000001430511475]},"sizeMeters":[0.68,1.07,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:37.952Z","updatedAt":"2026-09-12T15:47:38.046Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38652/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourseLitterBinRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38652/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38652/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38652/v1/model.glb\" alt=\"Course Litter Bin (Racecourse and Parade Ring)\" 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/38652/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/38652/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38654","slug":"racecourse-and-parade-ring-loudspeaker-post-0af43695","title":"Loudspeaker Post (Racecourse and Parade Ring)","summary":"A 4.1 m public address post with a pair of horn speakers at the top and a junction box on the stem, for a course walkway or a betting ring.","description":"A 4.1 m public address post with a pair of horn speakers at the top and a junction box on the stem, for a course walkway or a betting ring. Dimensions 1.20 by 4.20 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The horns are modelled solid and do not turn. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-loudspeaker-post-0af43695","cdnUrl":"https://cdn.3dassets.dev/assets/38654/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-loudspeaker-post-0af43695","thumbnailUrl":"https://cdn.3dassets.dev/assets/38654/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38654/v1/poster.webp","blurhash":"U89Qmq%M009F~qt74nM{%MofM{RjxuofM{Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":9088,"triangles":168,"vertices":379,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000106532023093,0,-0.24999786823943393],"max":[0.6000106532023093,4.199999809265137,0.24999786823943393]},"sizeMeters":[1.2,4.2,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:39.116Z","updatedAt":"2026-09-12T15:47:39.241Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38654/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoudspeakerPostRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38654/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38654/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38654/v1/model.glb\" alt=\"Loudspeaker Post (Racecourse and Parade Ring)\" 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/38654/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/38654/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38642","slug":"racecourse-and-parade-ring-ground-staff-barrow-55e9141a","title":"Ground Staff Barrow (Racecourse and Parade Ring)","summary":"A 1.9 m ground staff barrow with a green tipping pan, steel handles and a single front wheel that turns, loaded with a bag of loam and a fork.","description":"A 1.9 m ground staff barrow with a green tipping pan, steel handles and a single front wheel that turns, loaded with a bag of loam and a fork. Dimensions 0.74 by 1.05 by 2.14 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-front at (0.00, 0.26, -1.00) m. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-ground-staff-barrow-55e9141a","cdnUrl":"https://cdn.3dassets.dev/assets/38642/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-ground-staff-barrow-55e9141a","thumbnailUrl":"https://cdn.3dassets.dev/assets/38642/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38642/v1/poster.webp","blurhash":"U56*{v?[8_D+_L%LMyIq00MLtkXQ00IB%MxW","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":14604,"triangles":252,"vertices":550,"meshes":6,"materials":4,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.37001772354282675,9.536743172944284e-9,-1.2599999904632568],"max":[0.37001772354282675,1.049996634209413,0.8799999952316284]},"sizeMeters":[0.74,1.05,2.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:31.481Z","updatedAt":"2026-09-12T15:47:31.670Z","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/38642/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 GroundStaffBarrowRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38642/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/38642/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38642/v1/model.glb\" alt=\"Ground Staff Barrow (Racecourse and Parade Ring)\" 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/38642/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/38642/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38637","slug":"racecourse-and-parade-ring-horse-ambulance-body-665091b3","title":"Horse Ambulance Body (Racecourse and Parade Ring)","summary":"A 6.4 m horse ambulance body: a low green box with a white waist band, a beacon bar over the cab and the rear partition doors closed, on a skirted chassis.","description":"A 6.4 m horse ambulance body: a low green box with a white waist band, a beacon bar over the cab and the rear partition doors closed, on a skirted chassis. Dimensions 2.38 by 3.21 by 6.03 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A closed body with no interior, no opening doors and no modelled wheels; the sides carry an invented mark and no service name. It stands empty; this pack contains no animals. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-horse-ambulance-body-665091b3","cdnUrl":"https://cdn.3dassets.dev/assets/38637/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-horse-ambulance-body-665091b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38637/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38637/v1/poster.webp","blurhash":"UKF6Xw~X9Fxu~qIU9Fxu004nIUt79FSd%3%3","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":12592,"triangles":196,"vertices":444,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.1899837815416312,0.00003779187144098417,-3.299999952316284],"max":[1.1899837815416312,3.204997403861351,2.7300000190734863]},"sizeMeters":[2.38,3.205,6.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:28.723Z","updatedAt":"2026-09-12T15:47:28.819Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38637/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HorseAmbulanceBodyRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38637/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38637/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38637/v1/model.glb\" alt=\"Horse Ambulance Body (Racecourse and Parade Ring)\" 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/38637/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/38637/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38635","slug":"racecourse-and-parade-ring-horse-walk-tunnel-mouth-4998313b","title":"Horse Walk Tunnel Mouth (Racecourse and Parade Ring)","summary":"The mouth of the horse walk: a 5.4 m ramped opening between rendered wing walls with a portal beam over it, a white guide rail each side and the tunnel falling away into the dark.","description":"The mouth of the horse walk: a 5.4 m ramped opening between rendered wing walls with a portal beam over it, a white guide rail each side and the tunnel falling away into the dark. Dimensions 7.44 by 3.21 by 6.93 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The tunnel behind the mouth is capped, not modelled: this is a facade piece for the edge of an enclosure. It stands empty; this pack contains no animals. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-horse-walk-tunnel-mouth-4998313b","cdnUrl":"https://cdn.3dassets.dev/assets/38635/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-horse-walk-tunnel-mouth-4998313b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38635/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38635/v1/poster.webp","blurhash":"U5DvZg?b00xuIpRjsmt6004o_3t7~Vx[NGM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":18608,"triangles":360,"vertices":846,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-3.7189419269561768,-0.0001231446986371676,-2.651146627398003],"max":[3.7189419269561768,3.2107740246316796,4.27831417860778]},"sizeMeters":[7.438,3.211,6.929],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:25.904Z","updatedAt":"2026-09-12T15:47:26.037Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38635/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HorseWalkTunnelMouthRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38635/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38635/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38635/v1/model.glb\" alt=\"Horse Walk Tunnel Mouth (Racecourse and Parade Ring)\" 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/38635/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/38635/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38627","slug":"racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","title":"Bookmakers' Pitch Board (Racecourse and Parade Ring)","summary":"A bookmakers' pitch board 2.8 m high on a steel tripod: a 1.7 m blank display face with a ledge under it and an abstract mark on the header, ready for a developer's own artwork.","description":"A bookmakers' pitch board 2.8 m high on a steel tripod: a 1.7 m blank display face with a ledge under it and an abstract mark on the header, ready for a developer's own artwork. Dimensions 1.74 by 3.09 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The face is deliberately blank. No prices, no runners and no firm name are modelled anywhere on it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","cdnUrl":"https://cdn.3dassets.dev/assets/38627/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-bookmakers-pitch-board-f9c76d91","thumbnailUrl":"https://cdn.3dassets.dev/assets/38627/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38627/v1/poster.webp","blurhash":"UAATi,xu00IV~qxa9FM|D%t7xuIV9EWB%MWE","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":12392,"triangles":184,"vertices":421,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8700000047683716,0,-0.349940116977322],"max":[0.8700000047683716,3.093187191573891,0.349940116977322]},"sizeMeters":[1.74,3.093,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:20.933Z","updatedAt":"2026-09-12T15:47:21.033Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38627/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BookmakersPitchBoardRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38627/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38627/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38627/v1/model.glb\" alt=\"Bookmakers' Pitch Board (Racecourse and Parade Ring)\" 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/38627/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/38627/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38628","slug":"racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","title":"Bookmakers' Joint Stool (Racecourse and Parade Ring)","summary":"The box stool a bookmaker stands on at the pitch: a 0.52 m charcoal case with a timber top, a carrying rail and a plain satchel resting on it.","description":"The box stool a bookmaker stands on at the pitch: a 0.52 m charcoal case with a timber top, a carrying rail and a plain satchel resting on it. Dimensions 0.56 by 0.59 by 0.52 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","cdnUrl":"https://cdn.3dassets.dev/assets/38628/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-bookmakers-joint-stool-1e641593","thumbnailUrl":"https://cdn.3dassets.dev/assets/38628/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38628/v1/poster.webp","blurhash":"UEDSE=.70eeT}Tf$E#sD01IUskoM0,f9,tR%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":4336,"triangles":48,"vertices":112,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2800000011920929,-0.00001068033168163951,-0.2499893195860066],"max":[0.2800000011920929,0.5949989482221537,0.2699996969010678]},"sizeMeters":[0.56,0.595,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:22.930Z","updatedAt":"2026-09-12T15:47:23.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38628/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BookmakersJointStoolRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38628/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38628/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38628/v1/model.glb\" alt=\"Bookmakers' Joint Stool (Racecourse and Parade Ring)\" 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/38628/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/38628/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38653","slug":"racecourse-and-parade-ring-pitch-umbrella-d041a9b3","title":"Pitch Umbrella (Racecourse and Parade Ring)","summary":"A 3.2 m pitch umbrella on a plated post: a 3.2 m red canopy with a white rim and a scalloped valance, for standing over a bookmakers board or a stall.","description":"A 3.2 m pitch umbrella on a plated post: a 3.2 m red canopy with a white rim and a scalloped valance, for standing over a bookmakers board or a stall. Dimensions 3.36 by 2.92 by 3.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The canopy is solid and never furls: a fabric fold needs a joint per panel. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-pitch-umbrella-d041a9b3","cdnUrl":"https://cdn.3dassets.dev/assets/38653/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-pitch-umbrella-d041a9b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38653/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38653/v1/poster.webp","blurhash":"ULB{7Zs:0zWB}[oeEfay57WV$%ju0fWB-Aj[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":14736,"triangles":260,"vertices":599,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.6799999475479126,0,-1.6799999475479126],"max":[1.6799999475479126,2.9200416308143198,1.6799999475479126]},"sizeMeters":[3.36,2.92,3.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:39.008Z","updatedAt":"2026-09-12T15:47:39.130Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38653/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PitchUmbrellaRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38653/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38653/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38653/v1/model.glb\" alt=\"Pitch Umbrella (Racecourse and Parade Ring)\" 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/38653/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/38653/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38631","slug":"racecourse-and-parade-ring-results-board-dc3327f9","title":"Results Board (Racecourse and Parade Ring)","summary":"A 4.6 m results board on two steel legs: a 3.4 m blank display face in a white frame under a green header, for a developer to fill with their own runners and prices.","description":"A 4.6 m results board on two steel legs: a 3.4 m blank display face in a white frame under a green header, for a developer to fill with their own runners and prices. Dimensions 3.50 by 4.71 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The face is blank. Nothing is written on it, because a filled board would carry real names and real prices. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-results-board-dc3327f9","cdnUrl":"https://cdn.3dassets.dev/assets/38631/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-results-board-dc3327f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38631/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38631/v1/poster.webp","blurhash":"U68EPTjZ00tR?]%MH?D%55xt%2IVD$tR%MIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":11512,"triangles":176,"vertices":389,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.75,0,-0.24996491024520148],"max":[1.75,4.704983846143047,0.24996491024520148]},"sizeMeters":[3.5,4.705,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:23.866Z","updatedAt":"2026-09-12T15:47:23.967Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38631/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ResultsBoardRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38631/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38631/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38631/v1/model.glb\" alt=\"Results Board (Racecourse and Parade Ring)\" 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/38631/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/38631/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38629","slug":"racecourse-and-parade-ring-tote-hut-ff13220f","title":"Tote Hut (Racecourse and Parade Ring)","summary":"A 3.9 m betting hut: a green timber cabin with a serving counter, a glazed screen, a blank fascia over the window and a side door that opens on its own node.","description":"A 3.9 m betting hut: a green timber cabin with a serving counter, a glazed screen, a blank fascia over the window and a side door that opens on its own node. Dimensions 4.10 by 2.98 by 3.13 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-1.71, 0.18, -0.68) m. The fascia is blank and carries no operator name. The cabin is a closed shell with no interior fittings. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-tote-hut-ff13220f","cdnUrl":"https://cdn.3dassets.dev/assets/38629/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-tote-hut-ff13220f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38629/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38629/v1/poster.webp","blurhash":"UcGI[l%M9ERj~Xt7IoayMeWBjbjuE0ofo3Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":11972,"triangles":168,"vertices":392,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.049999952316284,0.00001922803693182873,-1.5499969120955823],"max":[2.049999952316284,2.9800519412439996,1.5800848508421785]},"sizeMeters":[4.1,2.98,3.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:22.948Z","updatedAt":"2026-09-12T15:47:23.068Z","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/38629/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 ToteHutRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38629/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/38629/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38629/v1/model.glb\" alt=\"Tote Hut (Racecourse and Parade Ring)\" 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/38629/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/38629/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38630","slug":"racecourse-and-parade-ring-bar-and-food-kiosk-7eefd7a3","title":"Bar and Food Kiosk (Racecourse and Parade Ring)","summary":"A 4.7 m raceday bar and food kiosk: a red and white cabin with a timber counter, an awning on struts, an urn and a hot cabinet on the counter and a blank fascia board.","description":"A 4.7 m raceday bar and food kiosk: a red and white cabin with a timber counter, an awning on struts, an urn and a hot cabinet on the counter and a blank fascia board. Dimensions 4.80 by 3.20 by 4.45 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The fascia and the menu board are blank, so the kiosk sells nothing named. The cabin is a closed shell. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-bar-and-food-kiosk-7eefd7a3","cdnUrl":"https://cdn.3dassets.dev/assets/38630/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-bar-and-food-kiosk-7eefd7a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/38630/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38630/v1/poster.webp","blurhash":"UQH1#+Sf00V[~qsAIUS20zwyoyoLD%TJNaRP","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":14340,"triangles":232,"vertices":529,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.4000000953674316,-0.00001141654054270802,-1.64990393225644],"max":[2.4000000953674316,3.20015359552891,2.7989206258205854]},"sizeMeters":[4.8,3.2,4.449],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:23.796Z","updatedAt":"2026-09-13T11:17:58.581Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38630/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarAndFoodKioskRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38630/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38630/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38630/v1/model.glb\" alt=\"Bar and Food Kiosk (Racecourse and Parade Ring)\" 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/38630/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/38630/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38623","slug":"racecourse-and-parade-ring-grandstand-tier-low-77c1a7c1","title":"Grandstand Tier Low (Racecourse and Parade Ring)","summary":"A 12 m bank of grandstand terracing, eight steps 0.75 m deep rising 2.6 m, with a rendered front wall, end walls and crush barriers across every third row.","description":"A 12 m bank of grandstand terracing, eight steps 0.75 m deep rising 2.6 m, with a rendered front wall, end walls and crush barriers across every third row. Dimensions 12.00 by 3.77 by 6.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (stand) at (-6.00, 0.00, 0.00) facing (-1, 0, 0); end (stand) at (6.00, 0.00, 0.00) facing (1, 0, 0). The terracing is a face rather than something to walk up: the treads are modelled solid, there is no stair, vomitory or interior under the bank, and a camera or a player stands in front of it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-grandstand-tier-low-77c1a7c1","cdnUrl":"https://cdn.3dassets.dev/assets/38623/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-grandstand-tier-low-77c1a7c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/38623/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38623/v1/poster.webp","blurhash":"UED]o7-;4nxu4n-;-;M{009Fxuoe~q9FE1of","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":32940,"triangles":744,"vertices":1711,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-6,0.00008133659612519217,-3.299876376194764],"max":[6,3.774694826906753,3.0003302404448102]},"sizeMeters":[12,3.775,6.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:20.155Z","updatedAt":"2026-09-12T15:47:20.275Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38623/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrandstandTierLowRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38623/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38623/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38623/v1/model.glb\" alt=\"Grandstand Tier Low (Racecourse and Parade Ring)\" 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/38623/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/38623/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38624","slug":"racecourse-and-parade-ring-grandstand-tier-high-df693678","title":"Grandstand Tier High (Racecourse and Parade Ring)","summary":"The upper bank of the same 12 m grandstand: eight steps on a 1.4 m plinth, 4.4 m to the back rail, so a second tier stands behind the low one and still sees the finish.","description":"The upper bank of the same 12 m grandstand: eight steps on a 1.4 m plinth, 4.4 m to the back rail, so a second tier stands behind the low one and still sees the finish. Dimensions 12.00 by 5.58 by 6.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (stand) at (-6.00, 0.00, 0.00) facing (-1, 0, 0); end (stand) at (6.00, 0.00, 0.00) facing (1, 0, 0). The terracing is a face rather than something to walk up: the treads are modelled solid, there is no stair, vomitory or interior under the bank, and a camera or a player stands in front of it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data. Functional variant of grandstand-tier-low, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-grandstand-tier-high-df693678","cdnUrl":"https://cdn.3dassets.dev/assets/38624/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-grandstand-tier-high-df693678","thumbnailUrl":"https://cdn.3dassets.dev/assets/38624/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38624/v1/poster.webp","blurhash":"UEFY$2?b4ox]00?b-;M{009Fofoe~p9FIVWB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":36028,"triangles":756,"vertices":1739,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-6.001200199127197,-0.0002215357685662056,-3.29977386527187],"max":[6.001200199127197,5.574992271779669,3.200415051728874]},"sizeMeters":[12.002,5.575,6.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:19.146Z","updatedAt":"2026-09-13T11:18:58.700Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38624/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrandstandTierHighRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38624/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38624/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38624/v1/model.glb\" alt=\"Grandstand Tier High (Racecourse and Parade Ring)\" 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/38624/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/38624/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38625","slug":"racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","title":"Grandstand Roof Canopy (Racecourse and Parade Ring)","summary":"A 12 m grandstand roof canopy on two 8.4 m columns: a green deck 8.6 m deep cantilevered forward over the terracing on tie rods, with a white fascia along its front edge.","description":"A 12 m grandstand roof canopy on two 8.4 m columns: a green deck 8.6 m deep cantilevered forward over the terracing on tie rods, with a white fascia along its front edge. Dimensions 12.20 by 8.75 by 8.65 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (stand) at (-6.00, 0.00, 0.00) facing (-1, 0, 0); end (stand) at (6.00, 0.00, 0.00) facing (1, 0, 0). The columns stand at the back of the deck, so the canopy is placed behind a bank of terracing and reaches forward over it without touching it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","cdnUrl":"https://cdn.3dassets.dev/assets/38625/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-grandstand-roof-canopy-7353c5da","thumbnailUrl":"https://cdn.3dassets.dev/assets/38625/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38625/v1/poster.webp","blurhash":"UP9*iHbuMexu?]X5RPaet7X5M{V@R5t7R*jG","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":11596,"triangles":200,"vertices":454,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-6.099999904632568,-0.00001953363420398313,-4.549675070901493],"max":[6.099999904632568,8.75020294417634,4.09981378940848]},"sizeMeters":[12.2,8.75,8.649],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:20.236Z","updatedAt":"2026-09-12T15:47:20.339Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38625/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrandstandRoofCanopyRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38625/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38625/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38625/v1/model.glb\" alt=\"Grandstand Roof Canopy (Racecourse and Parade Ring)\" 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/38625/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/38625/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38626","slug":"racecourse-and-parade-ring-private-box-front-a52c914b","title":"Private Box Front (Racecourse and Parade Ring)","summary":"A 6 m private box: a glazed front over a green spandrel with white mullions, a balcony rail in front of it and a flat roof, for the top of a grandstand bank.","description":"A 6 m private box: a glazed front over a green spandrel with white mullions, a balcony rail in front of it and a flat roof, for the top of a grandstand bank. Dimensions 6.40 by 3.34 by 3.53 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A closed shell with no interior; place it on the back of an upper tier or on its own plinth. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-private-box-front-a52c914b","cdnUrl":"https://cdn.3dassets.dev/assets/38626/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-private-box-front-a52c914b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38626/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38626/v1/poster.webp","blurhash":"U8C%:8J,4Txbl+?un9D%00x@XRM{=g4.E0$*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":16452,"triangles":288,"vertices":678,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-3.200000047683716,0.00002136444674930016,-1.6998565883352994],"max":[3.200000047683716,3.3400674278765417,1.8304452779753861]},"sizeMeters":[6.4,3.34,3.53],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:20.851Z","updatedAt":"2026-09-12T15:47:20.972Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38626/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrivateBoxFrontRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38626/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38626/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38626/v1/model.glb\" alt=\"Private Box Front (Racecourse and Parade Ring)\" 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/38626/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/38626/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38611","slug":"racecourse-and-parade-ring-parade-ring-rail-41ee58f9","title":"Parade Ring Rail (Racecourse and Parade Ring)","summary":"A 5.56 m parade ring rail section: three white rails on turned posts at 1.2 m, one tenth of a ten sided ring on a 9 m radius, ported at both ends so ten of them close a ring.","description":"A 5.56 m parade ring rail section: three white rails on turned posts at 1.2 m, one tenth of a ten sided ring on a 9 m radius, ported at both ends so ten of them close a ring. Dimensions 5.73 by 1.23 by 0.17 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (ring) at (-2.78, 0.00, 0.00) facing (-1, 0, 0); end (ring) at (2.78, 0.00, 0.00) facing (1, 0, 0). Set each section on the 8.56 m apothem of the ring, turned to the tangent, and the end ports meet on the 9 m vertices. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-parade-ring-rail-41ee58f9","cdnUrl":"https://cdn.3dassets.dev/assets/38611/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-parade-ring-rail-41ee58f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38611/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38611/v1/poster.webp","blurhash":"UDDJO}xuRjt7?b~qj[of00%M?bRj9F00xuxu","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":9328,"triangles":192,"vertices":435,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-2.86614990234375,0.00020565124078575359,-0.0850214455115856],"max":[2.86614990234375,1.2247943726010722,0.0850214455115856]},"sizeMeters":[5.732,1.225,0.17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:10.900Z","updatedAt":"2026-09-12T15:47:10.995Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38611/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParadeRingRailRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38611/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38611/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38611/v1/model.glb\" alt=\"Parade Ring Rail (Racecourse and Parade Ring)\" 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/38611/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/38611/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38612","slug":"racecourse-and-parade-ring-parade-ring-gate-28242051","title":"Parade Ring Gate (Racecourse and Parade Ring)","summary":"The gate section of the parade ring: the same 5.56 m module with a braced 2.2 m leaf hung on the left hanging post, swinging clear so a horse can be led in and out.","description":"The gate section of the parade ring: the same 5.56 m module with a braced 2.2 m leaf hung on the left hanging post, swinging clear so a horse can be led in and out. Dimensions 5.73 by 1.35 by 0.20 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: gate at (-1.08, 0.00, 0.04) m. Connectors: start (ring) at (-2.78, 0.00, 0.00) facing (-1, 0, 0); end (ring) at (2.78, 0.00, 0.00) facing (1, 0, 0). Drops into a ring in place of any plain section, since it carries the same end ports. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-parade-ring-gate-28242051","cdnUrl":"https://cdn.3dassets.dev/assets/38612/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-parade-ring-gate-28242051","thumbnailUrl":"https://cdn.3dassets.dev/assets/38612/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38612/v1/poster.webp","blurhash":"U9CsjjM{4nD%?b~qRjIU00?b_3WC9F00%M-;","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":17664,"triangles":352,"vertices":800,"meshes":2,"materials":1,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2.86614990234375,0.00005595919991874254,-0.10006639265972625],"max":[2.86614990234375,1.35487251369489,0.10006639265972625]},"sizeMeters":[5.732,1.355,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":2,"publishedAt":"2026-09-12T15:47:11.560Z","updatedAt":"2026-09-14T14:43:50.892Z","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/38612/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 ParadeRingGateRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38612/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/38612/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38612/v1/model.glb\" alt=\"Parade Ring Gate (Racecourse and Parade Ring)\" 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/38612/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/38612/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38614","slug":"racecourse-and-parade-ring-parade-ring-lawn-af45e506","title":"Parade Ring Lawn (Racecourse and Parade Ring)","summary":"A 6 m square of show lawn cut in stripes, 30 mm prouder than the pack ground module so a ring reads as kept turf, ported on all four edges.","description":"A 6 m square of show lawn cut in stripes, 30 mm prouder than the pack ground module so a ring reads as kept turf, ported on all four edges. Dimensions 6.00 by 0.27 by 6.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: north (ground) at (0.00, 0.00, -3.00) facing (0, 0, -1); south (ground) at (0.00, 0.00, 3.00) facing (0, 0, 1); east (ground) at (3.00, 0.00, 0.00) facing (1, 0, 0); west (ground) at (-3.00, 0.00, 0.00) facing (-1, 0, 0). Nine of these fill a 9 m radius parade ring, with the rail sections standing at their edge. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-parade-ring-lawn-af45e506","cdnUrl":"https://cdn.3dassets.dev/assets/38614/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-parade-ring-lawn-af45e506","thumbnailUrl":"https://cdn.3dassets.dev/assets/38614/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38614/v1/poster.webp","blurhash":"U7B4X7%M00V@x[aeV[of00M{?@WVIBozbuRj","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":13688,"triangles":240,"vertices":644,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3,-0.00007553033072085769,-3],"max":[3,0.2698284962888742,3]},"sizeMeters":[6,0.27,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:12.970Z","updatedAt":"2026-09-12T15:47:13.069Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38614/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParadeRingLawnRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38614/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38614/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38614/v1/model.glb\" alt=\"Parade Ring Lawn (Racecourse and Parade Ring)\" 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/38614/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/38614/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38615","slug":"racecourse-and-parade-ring-number-cloth-rack-46e5a0f1","title":"Number Cloth Rack (Racecourse and Parade Ring)","summary":"A 2.4 m number cloth rack: a steel frame on a charcoal base with six blank saddle cloths hung over the top bar, in plain colours with no number on any of them.","description":"A 2.4 m number cloth rack: a steel frame on a charcoal base with six blank saddle cloths hung over the top bar, in plain colours with no number on any of them. Dimensions 2.40 by 2.00 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The cloths are modelled as folded rigid panels and never hang or swing: a rigid node transform cannot deform a mesh. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-number-cloth-rack-46e5a0f1","cdnUrl":"https://cdn.3dassets.dev/assets/38615/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-number-cloth-rack-46e5a0f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/38615/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38615/v1/poster.webp","blurhash":"UHD9xE-p4UJC~V-;IVEMRjxuR*InIWtR%LMw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"}],"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":18520,"triangles":404,"vertices":920,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.2000000476837158,-0.00008151422586122337,-0.349998487982216],"max":[1.2000000476837158,1.9999511514354609,0.349998487982216]},"sizeMeters":[2.4,2,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:13.624Z","updatedAt":"2026-09-12T15:47:13.725Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38615/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NumberClothRackRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38615/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38615/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38615/v1/model.glb\" alt=\"Number Cloth Rack (Racecourse and Parade Ring)\" 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/38615/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/38615/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38613","slug":"racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","title":"Parade Ring Walkway (Racecourse and Parade Ring)","summary":"A 6 m by 2 m walkway module of rolled gravel between charcoal kerbs, ported at both ends, for the path a horse is led along between the boxes, the ring and the track.","description":"A 6 m by 2 m walkway module of rolled gravel between charcoal kerbs, ported at both ends, for the path a horse is led along between the boxes, the ring and the track. Dimensions 6.00 by 0.18 by 2.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (walkway) at (-3.00, 0.00, 0.00) facing (-1, 0, 0); end (walkway) at (3.00, 0.00, 0.00) facing (1, 0, 0). Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","cdnUrl":"https://cdn.3dassets.dev/assets/38613/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-parade-ring-walkway-68cc22a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38613/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38613/v1/poster.webp","blurhash":"U7A^OJoz00t7-p_3WC9Z00xZ~qM{9F00s:~p","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":28952,"triangles":540,"vertices":1484,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.001199960708618,-0.00012667147292570735,-1.0013769698302355],"max":[3.001199960708618,0.1801266786254831,1.0013769698302355]},"sizeMeters":[6.002,0.18,2.003],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:11.759Z","updatedAt":"2026-09-12T15:47:11.876Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38613/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParadeRingWalkwayRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38613/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38613/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38613/v1/model.glb\" alt=\"Parade Ring Walkway (Racecourse and Parade Ring)\" 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/38613/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/38613/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38617","slug":"racecourse-and-parade-ring-weighing-room-front-8f0f5c7f","title":"Weighing Room Front (Racecourse and Parade Ring)","summary":"The weighing room: an 8 m by 5 m rendered building 3.9 m to the eaves with a glazed window either side of the door, a blank board over it and three steps up to the threshold.","description":"The weighing room: an 8 m by 5 m rendered building 3.9 m to the eaves with a glazed window either side of the door, a blank board over it and three steps up to the threshold. Dimensions 8.70 by 4.18 by 6.35 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (-0.52, 0.20, 2.36) m. The shell is closed on all four sides with a flat roof, so it reads from any angle; there is no modelled interior. The door leaf swings on the left jamb. The board over the door is blank. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-weighing-room-front-8f0f5c7f","cdnUrl":"https://cdn.3dassets.dev/assets/38617/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-weighing-room-front-8f0f5c7f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38617/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38617/v1/poster.webp","blurhash":"U8DTeJt800IBB~x]-Da100butQ%2}vEK4-RP","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":19136,"triangles":288,"vertices":673,"meshes":8,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-4.349999904632568,-0.00008900472949166516,-2.800177131562258],"max":[4.349999904632568,4.180005377575254,3.54987256138108]},"sizeMeters":[8.7,4.18,6.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:14.506Z","updatedAt":"2026-09-12T15:47:14.614Z","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/38617/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 WeighingRoomFrontRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38617/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/38617/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38617/v1/model.glb\" alt=\"Weighing Room Front (Racecourse and Parade Ring)\" 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/38617/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/38617/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38616","slug":"racecourse-and-parade-ring-saddling-box-run-70c86c2f","title":"Saddling Box Run (Racecourse and Parade Ring)","summary":"A run of three open fronted saddling boxes 10.8 m wide and 3.8 m deep: rendered partitions, a tie ring in each back wall, a lintel over every opening and a flat green roof with a drip edge.","description":"A run of three open fronted saddling boxes 10.8 m wide and 3.8 m deep: rendered partitions, a tie ring in each back wall, a lintel over every opening and a flat green roof with a drip edge. Dimensions 11.40 by 3.28 by 4.42 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (building) at (-5.40, 0.00, 0.00) facing (-1, 0, 0); end (building) at (5.40, 0.00, 0.00) facing (1, 0, 0). The boxes are open to the front with no doors, so the interior is visible from the walkway. They stand empty: this pack contains no animals. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-saddling-box-run-70c86c2f","cdnUrl":"https://cdn.3dassets.dev/assets/38616/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-saddling-box-run-70c86c2f","thumbnailUrl":"https://cdn.3dassets.dev/assets/38616/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38616/v1/poster.webp","blurhash":"UBDAJe%fDPxaBh?u$+R500Eekprr}v4n9tRQ","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":25868,"triangles":480,"vertices":1194,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-5.699999809265137,0.00023682043672601516,-2.1500244510982545],"max":[5.699999809265137,3.2803152664464927,2.2702975552064673]},"sizeMeters":[11.4,3.28,4.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:14.389Z","updatedAt":"2026-09-12T15:47:14.482Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38616/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SaddlingBoxRunRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38616/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38616/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38616/v1/model.glb\" alt=\"Saddling Box Run (Racecourse and Parade Ring)\" 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/38616/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/38616/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38620","slug":"racecourse-and-parade-ring-scales-and-trestle-c7922781","title":"Scales and Trestle (Racecourse and Parade Ring)","summary":"The weighing out station: a 1.8 m steel trestle table with a platform scale on it, a blank dial head on a column and a pair of plain weight cloths folded beside it.","description":"The weighing out station: a 1.8 m steel trestle table with a platform scale on it, a blank dial head on a column and a pair of plain weight cloths folded beside it. Dimensions 1.80 by 1.96 by 0.80 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The dial face is blank: a marked one would put a real weight and a real maker on the model. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-scales-and-trestle-c7922781","cdnUrl":"https://cdn.3dassets.dev/assets/38620/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-scales-and-trestle-c7922781","thumbnailUrl":"https://cdn.3dassets.dev/assets/38620/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38620/v1/poster.webp","blurhash":"U6B3vh_3004o_2_29E0000bb^hDi~XNMIr%2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"}],"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":14640,"triangles":272,"vertices":577,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0,-0.39994200423715043],"max":[0.8999999761581421,1.9600106021975723,0.39994200423715043]},"sizeMeters":[1.8,1.96,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:17.169Z","updatedAt":"2026-09-12T15:47:17.508Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38620/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScalesAndTrestleRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38620/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38620/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38620/v1/model.glb\" alt=\"Scales and Trestle (Racecourse and Parade Ring)\" 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/38620/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/38620/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38618","slug":"racecourse-and-parade-ring-jockeys-bench-4505f1ea","title":"Jockeys' Bench (Racecourse and Parade Ring)","summary":"A 2.2 m changing room bench in timber with a low back rail and four coat hooks above it, for the jockeys’ room behind the weighing room.","description":"A 2.2 m changing room bench in timber with a low back rail and four coat hooks above it, for the jockeys’ room behind the weighing room. Dimensions 2.20 by 0.96 by 0.54 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-jockeys-bench-4505f1ea","cdnUrl":"https://cdn.3dassets.dev/assets/38618/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-jockeys-bench-4505f1ea","thumbnailUrl":"https://cdn.3dassets.dev/assets/38618/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38618/v1/poster.webp","blurhash":"UADlch%KE0^*_2~UNGE200WY%LD+014;-o$$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"}],"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":24108,"triangles":488,"vertices":1196,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.100000023841858,0.000044535892244845776,-0.33003999493513886],"max":[1.100000023841858,0.959955442650083,0.21003997526560608]},"sizeMeters":[2.2,0.96,0.54],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:16.460Z","updatedAt":"2026-09-12T15:47:16.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38618/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function JockeysBenchRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38618/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38618/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38618/v1/model.glb\" alt=\"Jockeys' Bench (Racecourse and Parade Ring)\" 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/38618/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/38618/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38619","slug":"racecourse-and-parade-ring-tack-trunk-204cb06b","title":"Tack Trunk (Racecourse and Parade Ring)","summary":"A 1.05 m painted tack trunk with timber corner battens, side handles and a lid hinged along its back edge that lifts open on its own node.","description":"A 1.05 m painted tack trunk with timber corner battens, side handles and a lid hinged along its back edge that lifts open on its own node. Dimensions 1.13 by 0.64 by 0.65 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lid at (0.00, 0.53, -0.25) m. The trunk is a closed box: nothing is modelled inside it. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-tack-trunk-204cb06b","cdnUrl":"https://cdn.3dassets.dev/assets/38619/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-tack-trunk-204cb06b","thumbnailUrl":"https://cdn.3dassets.dev/assets/38619/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38619/v1/poster.webp","blurhash":"UBAxJQ?[8_t1AXyC-URjD4MzRpnTM|so$+Vt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":8896,"triangles":108,"vertices":252,"meshes":6,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5649999976158142,0.0000032069043353066817,-0.30999512103354304],"max":[0.5649999976158142,0.6400018346024436,0.3349965108233324]},"sizeMeters":[1.13,0.64,0.645],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:17.149Z","updatedAt":"2026-09-12T15:47:17.282Z","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/38619/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 TackTrunkRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38619/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/38619/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38619/v1/model.glb\" alt=\"Tack Trunk (Racecourse and Parade Ring)\" 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/38619/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/38619/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38621","slug":"racecourse-and-parade-ring-saddle-rack-401ceca2","title":"Saddle Rack (Racecourse and Parade Ring)","summary":"A 1.9 m timber saddle rack with three steel arms, each carrying a plain leather race saddle, for a saddling box or a tack room wall.","description":"A 1.9 m timber saddle rack with three steel arms, each carrying a plain leather race saddle, for a saddling box or a tack room wall. Dimensions 1.90 by 1.70 by 0.57 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The saddles are modelled as solid shells with no girth or stirrup leathers, because straps need a joint per element to hang. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-saddle-rack-401ceca2","cdnUrl":"https://cdn.3dassets.dev/assets/38621/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-saddle-rack-401ceca2","thumbnailUrl":"https://cdn.3dassets.dev/assets/38621/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38621/v1/poster.webp","blurhash":"UBByy,I;01kC~o%L9aIV9at7s:RjM_oJRlNH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"}],"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":12812,"triangles":228,"vertices":538,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.0000335358520501261,-0.29996810517776556],"max":[0.949999988079071,1.7000335835357658,0.26996810398567267]},"sizeMeters":[1.9,1.7,0.57],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:17.248Z","updatedAt":"2026-09-12T15:47:17.385Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38621/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SaddleRackRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38621/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38621/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38621/v1/model.glb\" alt=\"Saddle Rack (Racecourse and Parade Ring)\" 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/38621/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/38621/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38622","slug":"racecourse-and-parade-ring-rug-rack-070d9684","title":"Rug Rack (Racecourse and Parade Ring)","summary":"A 1.6 m steel rug rack on a plate base with two bars and three plain folded rugs over the upper one, in the pack colours with no name or mark on them.","description":"A 1.6 m steel rug rack on a plate base with two bars and three plain folded rugs over the upper one, in the pack colours with no name or mark on them. Dimensions 1.60 by 1.65 by 0.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The rugs are rigid folded panels and do not drape. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-rug-rack-070d9684","cdnUrl":"https://cdn.3dassets.dev/assets/38622/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-rug-rack-070d9684","thumbnailUrl":"https://cdn.3dassets.dev/assets/38622/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38622/v1/poster.webp","blurhash":"U6DvZdk@00^w#ftnF$wG0MImQ,MgGK?Z}Q00","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"}],"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":11148,"triangles":264,"vertices":620,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7999784272594652,0,-0.30001330655804304],"max":[0.7999784272594652,1.649999976158142,0.30001330655804304]},"sizeMeters":[1.6,1.65,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:19.190Z","updatedAt":"2026-09-12T15:47:19.310Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38622/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RugRackRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38622/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38622/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38622/v1/model.glb\" alt=\"Rug Rack (Racecourse and Parade Ring)\" 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/38622/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/38622/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38632","slug":"racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","title":"Winner's Enclosure Surround (Racecourse and Parade Ring)","summary":"A 6 m section of the winner's enclosure surround: a two rail white fence 0.95 m high on four posts with a gravel standing strip behind it, ported at both ends so sections close a square.","description":"A 6 m section of the winner's enclosure surround: a two rail white fence 0.95 m high on four posts with a gravel standing strip behind it, ported at both ends so sections close a square. Dimensions 6.16 by 0.97 by 0.68 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (ring) at (-3.00, 0.00, 0.00) facing (-1, 0, 0); end (ring) at (3.00, 0.00, 0.00) facing (1, 0, 0). Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","cdnUrl":"https://cdn.3dassets.dev/assets/38632/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-winners-enclosure-surround-c49d9c2a","thumbnailUrl":"https://cdn.3dassets.dev/assets/38632/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38632/v1/poster.webp","blurhash":"UDDvfxxuD%t7xu~qofM{00kC?bWBM{00a}%M","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":12316,"triangles":244,"vertices":552,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.0799999237060547,0.00016357742265199482,-0.08008544984275517],"max":[3.0799999237060547,0.9747804954712139,0.60012971633126]},"sizeMeters":[6.16,0.975,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:25.902Z","updatedAt":"2026-09-12T15:47:26.039Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38632/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WinnerSEnclosureSurroundRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38632/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38632/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38632/v1/model.glb\" alt=\"Winner's Enclosure Surround (Racecourse and Parade Ring)\" 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/38632/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/38632/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38634","slug":"racecourse-and-parade-ring-presentation-dais-694759ca","title":"Presentation Dais (Racecourse and Parade Ring)","summary":"A 3.2 m presentation dais 0.48 m high with two steps, a white back panel carrying an abstract course mark and a draped table, for the winner's enclosure.","description":"A 3.2 m presentation dais 0.48 m high with two steps, a white back panel carrying an abstract course mark and a draped table, for the winner's enclosure. Dimensions 3.20 by 2.38 by 2.74 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The back panel carries no trophy, name or sponsor: it is a blank surface with a plain chevron and disc. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-presentation-dais-694759ca","cdnUrl":"https://cdn.3dassets.dev/assets/38634/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-presentation-dais-694759ca","thumbnailUrl":"https://cdn.3dassets.dev/assets/38634/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38634/v1/poster.webp","blurhash":"UHF$kT0000oc~DD%9Zxu00%gVr%2J4?bR-NH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":9688,"triangles":136,"vertices":307,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.600000023841858,-0.00006712582068646444,-1.1001102113089272],"max":[1.600000023841858,2.3800717703533096,1.6401101731619545]},"sizeMeters":[3.2,2.38,2.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:26.589Z","updatedAt":"2026-09-12T15:47:26.707Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38634/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PresentationDaisRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38634/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38634/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38634/v1/model.glb\" alt=\"Presentation Dais (Racecourse and Parade Ring)\" 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/38634/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/38634/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38650","slug":"racecourse-and-parade-ring-car-park-bay-module-d02c7826","title":"Car Park Bay Module (Racecourse and Parade Ring)","summary":"A 2.6 m by 5 m car park bay of rolled hardcore with painted lines on three sides, ported left and right so a row of bays tiles into a raceday car park.","description":"A 2.6 m by 5 m car park bay of rolled hardcore with painted lines on three sides, ported left and right so a row of bays tiles into a raceday car park. Dimensions 2.60 by 0.13 by 5.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (bay) at (-1.30, 0.00, 0.00) facing (-1, 0, 0); right (bay) at (1.30, 0.00, 0.00) facing (1, 0, 0). Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-car-park-bay-module-d02c7826","cdnUrl":"https://cdn.3dassets.dev/assets/38650/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-car-park-bay-module-d02c7826","thumbnailUrl":"https://cdn.3dassets.dev/assets/38650/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38650/v1/poster.webp","blurhash":"UADcXQ%N00bG%MD%NF%M00IT_2jZ9F~q%3D%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":23032,"triangles":408,"vertices":1112,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.2999359111301003,-0.00005035479557733563,-2.5],"max":[1.2999359111301003,0.12492496817035278,2.5]},"sizeMeters":[2.6,0.125,5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:36.409Z","updatedAt":"2026-09-12T15:47:36.512Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38650/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CarParkBayModuleRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38650/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38650/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38650/v1/model.glb\" alt=\"Car Park Bay Module (Racecourse and Parade Ring)\" 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/38650/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/38650/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38648","slug":"racecourse-and-parade-ring-hedgerow-run-ebebc952","title":"Hedgerow Run (Racecourse and Parade Ring)","summary":"A 6 m run of clipped hedge 1.7 m high on a grass bank with stakes along its back, ported at both ends so a boundary runs round a plot.","description":"A 6 m run of clipped hedge 1.7 m high on a grass bank with stakes along its back, ported at both ends so a boundary runs round a plot. Dimensions 6.00 by 2.03 by 0.90 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: start (hedge) at (-3.00, 0.00, 0.00) facing (-1, 0, 0); end (hedge) at (3.00, 0.00, 0.00) facing (1, 0, 0). Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-hedgerow-run-ebebc952","cdnUrl":"https://cdn.3dassets.dev/assets/38648/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-hedgerow-run-ebebc952","thumbnailUrl":"https://cdn.3dassets.dev/assets/38648/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38648/v1/poster.webp","blurhash":"U88Ykbx[DPtPIr*HxtMf00Mgt,njxUU_RQXl","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":45928,"triangles":900,"vertices":2361,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-3,0.00016357742265199482,-0.4500869777520066],"max":[3.000999927520752,2.0299551031675698,0.4500869777520066]},"sizeMeters":[6.001,2.03,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:36.097Z","updatedAt":"2026-09-12T15:47:36.222Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38648/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HedgerowRunRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38648/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38648/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38648/v1/model.glb\" alt=\"Hedgerow Run (Racecourse and Parade Ring)\" 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/38648/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/38648/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38638","slug":"racecourse-and-parade-ring-horsebox-body-ac657c15","title":"Horsebox Body (Racecourse and Parade Ring)","summary":"A 9.8 m horsebox body: a closed white box with a green waist band, barred side vents, a grooms door, a sloped cab front and the rear ramp down, on a skirted chassis.","description":"A 9.8 m horsebox body: a closed white box with a green waist band, barred side vents, a grooms door, a sloped cab front and the rear ramp down, on a skirted chassis. Dimensions 2.60 by 3.77 by 10.78 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A body only: the running gear is a chassis skirt rather than modelled wheels, nothing opens and there is no interior. The sides carry an invented chevron and disc and no operator name. It stands empty; this pack contains no animals. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-horsebox-body-ac657c15","cdnUrl":"https://cdn.3dassets.dev/assets/38638/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-horsebox-body-ac657c15","thumbnailUrl":"https://cdn.3dassets.dev/assets/38638/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38638/v1/poster.webp","blurhash":"UCCs?T^*QmD%Kh01Mxx]00Mxx]%fvi~qo|NG","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":21076,"triangles":352,"vertices":810,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-1.2902264153804204,-0.00006227243058321008,-4.639999866485596],"max":[1.3050813468683444,3.767113745709154,6.141685485839844]},"sizeMeters":[2.595,3.767,10.782],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:27.839Z","updatedAt":"2026-09-14T14:38:17.799Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38638/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HorseboxBodyRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38638/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38638/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38638/v1/model.glb\" alt=\"Horsebox Body (Racecourse and Parade Ring)\" 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/38638/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/38638/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38645","slug":"racecourse-and-parade-ring-groundsmans-hut-ddba3b9e","title":"Groundsman's Hut (Racecourse and Parade Ring)","summary":"A 3.5 m timber groundsman's hut with a glazed window, a mono pitch roof falling to the back and a green door on the right hand jamb that swings open.","description":"A 3.5 m timber groundsman's hut with a glazed window, a mono pitch roof falling to the back and a green door on the right hand jamb that swings open. Dimensions 3.70 by 3.01 by 3.26 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door at (1.58, 0.18, 1.25) m. A closed shell with no modelled interior. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-groundsmans-hut-ddba3b9e","cdnUrl":"https://cdn.3dassets.dev/assets/38645/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-groundsmans-hut-ddba3b9e","thumbnailUrl":"https://cdn.3dassets.dev/assets/38645/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38645/v1/poster.webp","blurhash":"U6F5{b_400H[04xG%dtl02M]4p--^|kX-XR5","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":12780,"triangles":168,"vertices":393,"meshes":8,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.850000023841858,0.00006195615051494963,-1.5977401249641632],"max":[1.850000023841858,3.0143919317716574,1.6600790691666052]},"sizeMeters":[3.7,3.014,3.258],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:33.505Z","updatedAt":"2026-09-13T15:25:24.078Z","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/38645/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 GroundsmanSHutRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38645/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/38645/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38645/v1/model.glb\" alt=\"Groundsman's Hut (Racecourse and Parade Ring)\" 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/38645/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/38645/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38636","slug":"racecourse-and-parade-ring-course-tractor-f524558c","title":"Course Tractor (Racecourse and Parade Ring)","summary":"A 3.6 m compact turf tractor with a glazed cab, a green bonnet, a work light bar and a three point linkage at the back; all four wheels turn on their own nodes.","description":"A 3.6 m compact turf tractor with a glazed cab, a green bonnet, a work light bar and a three point linkage at the back; all four wheels turn on their own nodes. Dimensions 1.82 by 2.75 by 3.32 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-rl at (-0.72, 0.66, 0.70) m; wheel-rr at (0.72, 0.66, 0.70) m; wheel-fl at (-0.62, 0.42, -1.00) m; wheel-fr at (0.62, 0.42, -1.00) m. No marque, model number or dealer mark appears anywhere on it. The steering and the linkage rams are static: a linkage needs a joint per member. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-course-tractor-f524558c","cdnUrl":"https://cdn.3dassets.dev/assets/38636/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-course-tractor-f524558c","thumbnailUrl":"https://cdn.3dassets.dev/assets/38636/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38636/v1/poster.webp","blurhash":"UEAweq-;009Y~qxu9FIUDOR$o}sqDiR%%Mxu","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":22280,"triangles":488,"vertices":1069,"meshes":10,"materials":6,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.9099958948245813,-2.622604367008563e-8,-1.6699999570846558],"max":[0.9099958948245813,2.7499483726566485,1.6502234935760498]},"sizeMeters":[1.82,2.75,3.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T15:47:27.678Z","updatedAt":"2026-09-13T02:32:38.931Z","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/38636/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 CourseTractorRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38636/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/38636/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38636/v1/model.glb\" alt=\"Course Tractor (Racecourse and Parade Ring)\" 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/38636/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/38636/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38639","slug":"racecourse-and-parade-ring-tractor-harrow-99591e72","title":"Tractor Harrow (Racecourse and Parade Ring)","summary":"A 2.2 m trailed chain harrow on transport wheels: a drawbar, a hitch eye and a tine frame that lifts clear of the turf on its own node, for repairing a track after racing.","description":"A 2.2 m trailed chain harrow on transport wheels: a drawbar, a hitch eye and a tine frame that lifts clear of the turf on its own node, for repairing a track after racing. Dimensions 2.54 by 0.61 by 3.78 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-l at (-1.18, 0.30, -0.30) m; wheel-r at (1.18, 0.30, -0.30) m; harrow at (0.00, 0.52, -0.22) m. The tine frame is one rigid node hinged at its front rail; the tines themselves are fixed, because a chain mat needs a joint per link. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: open, close and roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-tractor-harrow-99591e72","cdnUrl":"https://cdn.3dassets.dev/assets/38639/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-tractor-harrow-99591e72","thumbnailUrl":"https://cdn.3dassets.dev/assets/38639/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38639/v1/poster.webp","blurhash":"U26kYM~q00Rj?bRjawt80000_4xv00tRa%M_","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":35608,"triangles":816,"vertices":1856,"meshes":7,"materials":3,"textures":0,"animations":["open","close","roll"],"boundingBox":{"min":[-1.2700034911531053,-1.1920928966180355e-8,-2.450000077486038],"max":[1.2700034911531053,0.6100082543030007,1.3300320446463685]},"sizeMeters":[2.54,0.61,3.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:29.569Z","updatedAt":"2026-09-12T15:47:29.672Z","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/38639/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 TractorHarrowRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38639/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/38639/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38639/v1/model.glb\" alt=\"Tractor Harrow (Racecourse and Parade Ring)\" 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/38639/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/38639/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38640","slug":"racecourse-and-parade-ring-water-bowser-6f22e4da","title":"Water Bowser (Racecourse and Parade Ring)","summary":"A 2.4 m water bowser on a two wheel trailer: a steel tank with a filler hatch, a walk rail along the top and a spray bar across the back, for watering a turf track.","description":"A 2.4 m water bowser on a two wheel trailer: a steel tank with a filler hatch, a walk rail along the top and a spray bar across the back, for watering a turf track. Dimensions 2.24 by 1.92 by 4.16 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-l at (-1.00, 0.42, 0.00) m; wheel-r at (1.00, 0.42, 0.00) m. Both wheels turn on their own nodes. The tank is closed and carries no water inside; the hatch does not open. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-water-bowser-6f22e4da","cdnUrl":"https://cdn.3dassets.dev/assets/38640/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-water-bowser-6f22e4da","thumbnailUrl":"https://cdn.3dassets.dev/assets/38640/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38640/v1/poster.webp","blurhash":"UAA13C~q8_IUozIUMyxu004n%gxuR6?H-;IU","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":30152,"triangles":584,"vertices":1286,"meshes":8,"materials":6,"textures":0,"animations":["roll"],"boundingBox":{"min":[-1.1200041010374189,1.3113021835042815e-8,-2.6600000858306885],"max":[1.1200041010374189,1.9199887105356797,1.5]},"sizeMeters":[2.24,1.92,4.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:30.465Z","updatedAt":"2026-09-12T15:47:30.655Z","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/38640/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 WaterBowserRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38640/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/38640/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38640/v1/model.glb\" alt=\"Water Bowser (Racecourse and Parade Ring)\" 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/38640/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/38640/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38641","slug":"racecourse-and-parade-ring-rail-trolley-704badc9","title":"Rail Trolley (Racecourse and Parade Ring)","summary":"A 3 m four wheel rail trolley loaded with spare running rail and posts, with side stanchions and a towing eye, for the crew moving a running line between meetings.","description":"A 3 m four wheel rail trolley loaded with spare running rail and posts, with side stanchions and a towing eye, for the crew moving a running line between meetings. Dimensions 1.48 by 1.21 by 3.97 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-fl at (-0.66, 0.28, -1.00) m; wheel-fr at (0.66, 0.28, -1.00) m; wheel-rl at (-0.66, 0.28, 1.00) m; wheel-rr at (0.66, 0.28, 1.00) m. All four wheels turn on their own nodes. The load is modelled in place and does not come off. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-rail-trolley-704badc9","cdnUrl":"https://cdn.3dassets.dev/assets/38641/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-rail-trolley-704badc9","thumbnailUrl":"https://cdn.3dassets.dev/assets/38641/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38641/v1/poster.webp","blurhash":"U9A^RT_300M{-;M_IUxu004n~q%M4n-;?cIU","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":17820,"triangles":384,"vertices":848,"meshes":7,"materials":3,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.7400027533777648,-1.19209286886246e-9,-2.4700000286102295],"max":[0.7400027533777648,1.2098628401412488,1.5]},"sizeMeters":[1.48,1.21,3.97],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:30.615Z","updatedAt":"2026-09-12T15:47:30.711Z","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/38641/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 RailTrolleyRacecourseAndParadeRing(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/38641/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/38641/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38641/v1/model.glb\" alt=\"Rail Trolley (Racecourse and Parade Ring)\" 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/38641/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/38641/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"38643","slug":"racecourse-and-parade-ring-divot-fork-rack-c3450a2d","title":"Divot Fork Rack (Racecourse and Parade Ring)","summary":"A 1.1 m divot fork rack holding eight timber handled forks tines down in a steel frame, for the ground staff stand beside a track.","description":"A 1.1 m divot fork rack holding eight timber handled forks tines down in a steel frame, for the ground staff stand beside a track. Dimensions 1.10 by 1.43 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-divot-fork-rack-c3450a2d","cdnUrl":"https://cdn.3dassets.dev/assets/38643/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-divot-fork-rack-c3450a2d","thumbnailUrl":"https://cdn.3dassets.dev/assets/38643/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38643/v1/poster.webp","blurhash":"U6CGGR-;00Ir~8%L9#D*00n%^kM{NHxaxZM{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":28280,"triangles":660,"vertices":1344,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,0,-0.2499816943125216],"max":[0.550000011920929,1.4299999475479126,0.2499816943125216]},"sizeMeters":[1.1,1.43,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:32.347Z","updatedAt":"2026-09-12T15:47:32.457Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38643/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DivotForkRackRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38643/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38643/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38643/v1/model.glb\" alt=\"Divot Fork Rack (Racecourse and Parade Ring)\" 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/38643/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/38643/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38644","slug":"racecourse-and-parade-ring-running-rail-store-stack-06646242","title":"Running Rail Store Stack (Racecourse and Parade Ring)","summary":"A 2.6 m stack of spare running rail on timber bearers with a row of posts stood against a steel retaining frame, for the ground staff yard.","description":"A 2.6 m stack of spare running rail on timber bearers with a row of posts stood against a steel retaining frame, for the ground staff yard. Dimensions 2.60 by 0.71 by 1.51 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-running-rail-store-stack-06646242","cdnUrl":"https://cdn.3dassets.dev/assets/38644/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-running-rail-store-stack-06646242","thumbnailUrl":"https://cdn.3dassets.dev/assets/38644/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38644/v1/poster.webp","blurhash":"U9Fr#7%g00ad%i?aV@D%00Rk_NRj8^4nxt%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"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":14316,"triangles":264,"vertices":616,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.2999999523162842,0.000014956934702645142,-0.7000884779983871],"max":[1.2999999523162842,0.7099487923853554,0.8099388376055237]},"sizeMeters":[2.6,0.71,1.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:33.296Z","updatedAt":"2026-09-12T15:47:33.405Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38644/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunningRailStoreStackRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38644/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38644/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38644/v1/model.glb\" alt=\"Running Rail Store Stack (Racecourse and Parade Ring)\" 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/38644/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/38644/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"38655","slug":"racecourse-and-parade-ring-paddock-tree-91f358c4","title":"Paddock Tree (Racecourse and Parade Ring)","summary":"A 4.7 m parkland tree with a rough timber trunk and four foliage masses over a grass collar, for the paddock, the car park edge and the boundary of a course.","description":"A 4.7 m parkland tree with a rough timber trunk and four foliage masses over a grass collar, for the paddock, the car park edge and the boundary of a course. Dimensions 4.03 by 4.68 by 3.31 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Turf course palette: mown and unmown green, rail white, timber, birch brown, steel, charcoal, course green, red, yellow, hardcore grey and glass. No name, number, price or maker mark appears anywhere on this model, and it carries no creature. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/racecourse-and-parade-ring-paddock-tree-91f358c4","cdnUrl":"https://cdn.3dassets.dev/assets/38655/v1/model.glb","downloadUrl":"https://3dassets.dev/download/racecourse-and-parade-ring-paddock-tree-91f358c4","thumbnailUrl":"https://cdn.3dassets.dev/assets/38655/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/38655/v1/poster.webp","blurhash":"U36b-@%z009GUZkVz=n+00R6.loL8wR6uhoz","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":19572,"triangles":348,"vertices":915,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.0412678718566895,0,-1.688967186545243],"max":[1.9888206720352173,4.6800084654294665,1.6169427219380041]},"sizeMeters":[4.03,4.68,3.306],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T15:47:39.739Z","updatedAt":"2026-09-12T15:47:39.837Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/38655/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaddockTreeRacecourseAndParadeRing(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/38655/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/38655/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/38655/v1/model.glb\" alt=\"Paddock Tree (Racecourse and Parade Ring)\" 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/38655/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/38655/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}