{"data":{"id":"78","slug":"baseball-park-and-batting-cages","title":"Baseball Park and Batting Cages","summary":"Walk a ball park: the diamond with plate, bases and mound, dugouts down both lines, a padded outfield wall, bleachers behind the backstop and a practice cage off the third base line.","url":"https://3dassets.dev/demos/baseball-park-and-batting-cages","coverUrl":"https://cdn.3dassets.dev/media/baseball-park-and-batting-cages-demo.png","featured":true,"pack":{"slug":"baseball-park-and-batting-cages","title":"Baseball Park and Batting Cages","url":"https://3dassets.dev/packs/baseball-park-and-batting-cages","summary":"A complete ball park in a kit: clay, grass and warning track tiles on one grid, the plate, mound, bases and foul lines, a padded outfield wall with corners, a backstop with a gate, modular dugouts, bleachers, a scoreboard, bats, mitts, helmets and a batting cage.","assetCount":47,"totalBytes":2019276,"starterScene":{"slug":"baseball-park-and-batting-cages-ball-par-ffc1f6c1-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/33786/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-ball-par-ffc1f6c1-starter-scene","fileSize":937312}},"placementCount":163,"assetCount":46,"spawn":{"position":[-13.2,0.11,-12.8],"yaw":45.9},"publishedAt":"2026-09-11T04:25:03.295Z","updatedAt":"2026-09-11T04:25:03.295Z","description":"A ball park laid from the pack's own ground tiles, wall bays, backstop bays and dugout units.\n\n**What is placed.** Home plate and its batter's boxes sit on the near corner of a clay infield, with the three base bags on the other corners and the pitcher's mound at the centre. Foul lines leave home at ninety degrees through first and third to a pole each, and the padded outfield wall runs pole to pole with the warning track inside it. The backstop closes the plate end with bleachers, the scoreboard, the ticket kiosk and floodlight masts behind. Dugouts face in from both lines with bat racks, coolers, bags, helmets and gear, and an on-deck circle between each dugout and the plate. Outside the third base line, the batting cage, the bullpen mound, the pitching machine, ball buckets, screens and the grounds kit make the practice area.\n\n**What moves.** The dugout and backstop gates open and close, the pitching machine wheel spins, the tarp roll turns, the ball cart and field rake roll their wheels, the water cooler lid lifts and the scoreboard flap tilts.\n\n**What does not move, and why.** Cage and backstop netting, wall padding straps and the chalk lines are static geometry. Netting and cloth are not reachable with the rigid node transforms this library uses. There are no players, because nothing here is skinned.","scene":{"version":1,"spawn":{"position":[-13.2,0.11,-12.8],"yaw":45.9},"ground":{"style":"none"},"environment":{"preset":"outdoor","shadows":true},"placements":[{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-24,0,-24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-24,0,-18],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-24,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-18,0,-24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-18,0,-18],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-18,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-18,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-18,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,-24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,-18],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[-12,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-12,0,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[-12,0,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-6,0,-18],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-6,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[-6,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[-6,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[-6,0,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-6,0,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[-6,0,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[-6,0,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[0,0,-18],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[0,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[0,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[0,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[0,0,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[0,0,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[0,0,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[0,0,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[6,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[6,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[6,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","position":[6,0,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[6,0,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[6,0,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[6,0,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[12,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[12,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[12,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[12,0,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[12,0,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[12,0,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[12,0,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[18,0,-12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[18,0,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[18,0,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[18,0,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[18,0,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","position":[18,0,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[18,0,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,-12],"rotation":90},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,-6],"rotation":90},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,0],"rotation":90},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,6],"rotation":90},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,12],"rotation":90},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,18],"rotation":90},{"asset":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","position":[24,0,24],"rotation":90},{"asset":"baseball-park-and-batting-cages-home-plate-and-batters-9590e7bf","position":[-9,0.1,-9],"rotation":45},{"asset":"baseball-park-and-batting-cages-pitchers-mound-f0a32309","position":[0,0.1,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-rosin-bag-9ecde7b5","position":[-0.9000000000000004,0.35,1.0999999999999996],"rotation":20},{"asset":"baseball-park-and-batting-cages-base-bag-409a7dde","position":[9,0.1,-9],"rotation":0},{"asset":"baseball-park-and-batting-cages-base-bag-409a7dde","position":[9,0.1,9],"rotation":0},{"asset":"baseball-park-and-batting-cages-base-bag-409a7dde","position":[-9,0.1,9],"rotation":0},{"asset":"baseball-park-and-batting-cages-on-deck-circle-4a1d5533","position":[-4,0.1,-12.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-on-deck-circle-4a1d5533","position":[-12.2,0.1,-4],"rotation":0},{"asset":"baseball-park-and-batting-cages-umpire-brush-3688ab9e","position":[-10.1,0.1,-10.4],"rotation":-40},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-6,0.1,-9],"rotation":90},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-9,0.1,-6],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[0,0.1,-9],"rotation":90},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-9,0.1,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[6,0.1,-9],"rotation":90},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-9,0.1,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[12,0.1,-9],"rotation":90},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-9,0.1,12],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[18,0.1,-9],"rotation":90},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-9,0.1,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[24,0.1,-9],"rotation":90},{"asset":"baseball-park-and-batting-cages-foul-line-marker-52872d12","position":[-9,0.1,24],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-pole-fb5a4afd","position":[24.200000000000003,0.1,-8.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-foul-pole-fb5a4afd","position":[-8.2,0.1,24.200000000000003],"rotation":0},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,-7],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,-3],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,1],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,5],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,9],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,13],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,17],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[25,0.1,21],"rotation":-90},{"asset":"baseball-park-and-batting-cages-outfield-wall-corner-d65b2176","position":[25,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[-7,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[-3,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[1,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[5,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[9,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[13,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[17,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","position":[21,0.1,25],"rotation":180},{"asset":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","position":[-21.02081528017131,0.1,-8.292893218813452],"rotation":45},{"asset":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","position":[-18.899494936611667,0.1,-10.414213562373096],"rotation":45},{"asset":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","position":[-16.77817459305202,0.1,-12.535533905932738],"rotation":45},{"asset":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","position":[-14.65685424949238,0.1,-14.65685424949238],"rotation":45},{"asset":"baseball-park-and-batting-cages-backstop-gate-panel-8e3d6878","position":[-12.535533905932738,0.1,-16.77817459305202],"rotation":45},{"asset":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","position":[-10.414213562373096,0.1,-18.899494936611667],"rotation":45},{"asset":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","position":[-8.292893218813452,0.1,-21.02081528017131],"rotation":45},{"asset":"baseball-park-and-batting-cages-dugout-unit-1026e8c5","position":[-1,0.1,-12.6],"rotation":0},{"asset":"baseball-park-and-batting-cages-dugout-unit-1026e8c5","position":[3,0.1,-12.6],"rotation":0},{"asset":"baseball-park-and-batting-cages-dugout-unit-1026e8c5","position":[-12.6,0.1,-1],"rotation":90},{"asset":"baseball-park-and-batting-cages-dugout-unit-1026e8c5","position":[-12.6,0.1,3],"rotation":90},{"asset":"baseball-park-and-batting-cages-bat-rack-4a03bbf0","position":[-2.4000000000000004,0.22,-13.4],"rotation":0},{"asset":"baseball-park-and-batting-cages-water-cooler-adb4f10a","position":[-1.2000000000000002,0.22,-13.4],"rotation":0},{"asset":"baseball-park-and-batting-cages-equipment-bag-5290eade","position":[3.9000000000000004,0.22,-13.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-batting-helmet-3ea0adb5","position":[0,0.22,-13.3],"rotation":25},{"asset":"baseball-park-and-batting-cages-batting-helmet-3ea0adb5","position":[0.6999999999999993,0.22,-13.4],"rotation":-25},{"asset":"baseball-park-and-batting-cages-batting-gloves-1e8863f9","position":[1.3000000000000007,0.22,-13.3],"rotation":0},{"asset":"baseball-park-and-batting-cages-catchers-mask-94765022","position":[2.0999999999999996,0.22,-13.3],"rotation":35},{"asset":"baseball-park-and-batting-cages-shin-guards-9eac7356","position":[3.0999999999999996,0.22,-13.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-chest-protector-c241a118","position":[4.4,0.22,-13.1],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-bat-6d026e67","position":[-1.7000000000000002,0.22,-12.1],"rotation":85},{"asset":"baseball-park-and-batting-cages-fielding-glove-768f6a50","position":[2.5999999999999996,0.22,-12.2],"rotation":-75},{"asset":"baseball-park-and-batting-cages-bat-rack-4a03bbf0","position":[-13.4,0.22,-2.4000000000000004],"rotation":90},{"asset":"baseball-park-and-batting-cages-water-cooler-adb4f10a","position":[-13.4,0.22,-1.2000000000000002],"rotation":90},{"asset":"baseball-park-and-batting-cages-equipment-bag-5290eade","position":[-13.2,0.22,3.9000000000000004],"rotation":90},{"asset":"baseball-park-and-batting-cages-batting-helmet-visitor-118ace44","position":[-13.3,0.22,0],"rotation":65},{"asset":"baseball-park-and-batting-cages-batting-helmet-visitor-118ace44","position":[-13.4,0.22,0.6999999999999993],"rotation":115},{"asset":"baseball-park-and-batting-cages-baseball-bat-metal-9896276e","position":[-12.1,0.22,-1.7000000000000002],"rotation":5},{"asset":"baseball-park-and-batting-cages-catchers-mitt-876e87b3","position":[-12.2,0.22,2.5999999999999996],"rotation":165},{"asset":"baseball-park-and-batting-cages-bleacher-stand-2ab80b42","position":[-19.88944443027283,0.1,-15.08111831820431],"rotation":45},{"asset":"baseball-park-and-batting-cages-bleacher-stand-2ab80b42","position":[-15.08111831820431,0.1,-19.88944443027283],"rotation":45},{"asset":"baseball-park-and-batting-cages-scoreboard-61655d49","position":[-11.121320343559642,0.1,-25.970562748477143],"rotation":45},{"asset":"baseball-park-and-batting-cages-ticket-kiosk-3c4e1f96","position":[-25.970562748477143,0.1,-11.121320343559642],"rotation":45},{"asset":"baseball-park-and-batting-cages-park-bench-and-fence-6c30b94c","position":[-5.464466094067262,0.1,-24.556349186104047],"rotation":45},{"asset":"baseball-park-and-batting-cages-park-bench-and-fence-6c30b94c","position":[-24.556349186104047,0.1,-5.464466094067262],"rotation":45},{"asset":"baseball-park-and-batting-cages-floodlight-mast-8eb8f652","position":[-4.757359312880714,0.1,-27.38477631085024],"rotation":0},{"asset":"baseball-park-and-batting-cages-floodlight-mast-8eb8f652","position":[-27.38477631085024,0.1,-4.757359312880714],"rotation":0},{"asset":"baseball-park-and-batting-cages-floodlight-mast-8eb8f652","position":[21,0.1,-13],"rotation":0},{"asset":"baseball-park-and-batting-cages-floodlight-mast-8eb8f652","position":[-13,0.1,21],"rotation":0},{"asset":"baseball-park-and-batting-cages-batting-cage-frame-20af7e19","position":[-12.6,0.1,12],"rotation":180},{"asset":"baseball-park-and-batting-cages-pitching-machine-e02fb2ca","position":[-12.6,0.1,14.600000000000001],"rotation":180},{"asset":"baseball-park-and-batting-cages-ball-bucket-b0ea3d5b","position":[-10.9,0.1,14.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-ball-bucket-b0ea3d5b","position":[-10.6,0.1,13.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-ball-bucket-b0ea3d5b","position":[-14.6,0.1,9.399999999999999],"rotation":0},{"asset":"baseball-park-and-batting-cages-ball-cart-1c6ecfc3","position":[-10.1,0.1,9.600000000000001],"rotation":120},{"asset":"baseball-park-and-batting-cages-bullpen-mound-bc62bc74","position":[-12.4,0.1,6],"rotation":0},{"asset":"baseball-park-and-batting-cages-protective-screen-cc9fc4bf","position":[-10.2,0.1,4.4],"rotation":110},{"asset":"baseball-park-and-batting-cages-l-screen-b3102029","position":[0.5999999999999996,0.1,-1.4000000000000004],"rotation":225},{"asset":"baseball-park-and-batting-cages-field-rake-ccfa6288","position":[6.5,0.1,-13.6],"rotation":70},{"asset":"baseball-park-and-batting-cages-chalk-line-marker-f7b517f8","position":[-4.4,0.1,-13.8],"rotation":20},{"asset":"baseball-park-and-batting-cages-tarp-roll-fc834cc5","position":[12.5,0.1,-12.4],"rotation":-90},{"asset":"baseball-park-and-batting-cages-base-anchor-48b47524","position":[8.399999999999999,0.1,-11.2],"rotation":0},{"asset":"baseball-park-and-batting-cages-base-anchor-48b47524","position":[9.399999999999999,0.1,-11.6],"rotation":0},{"asset":"baseball-park-and-batting-cages-ball-cart-1c6ecfc3","position":[15.5,0.1,-12.4],"rotation":250},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[4,0.1,-3],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[-3,0.1,4],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[13,0.1,7],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[7,0.1,16],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[18,0.1,18],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[2,0.1,10],"rotation":0},{"asset":"baseball-park-and-batting-cages-baseball-a31ca2a5","position":[16,0.1,0],"rotation":0},{"asset":"baseball-park-and-batting-cages-fielding-glove-768f6a50","position":[10,0.1,4],"rotation":40}],"points":[{"position":[-8.2,0.11,-7.4],"title":"Home plate","text":"The plate with its batter’s boxes at the near corner of the diamond, the backstop behind it and the on-deck circles either side. Bats, helmets and the catcher’s gear are out ready.","asset":"baseball-park-and-batting-cages-home-plate-and-batters-9590e7bf"},{"position":[0,0.11,1.6],"title":"Pitcher's mound","text":"The mound with its rubber at the centre of the diamond. The three base bags sit eighteen metres out on the other corners, and the foul lines leave home at ninety degrees to a pole each.","asset":"baseball-park-and-batting-cages-pitchers-mound-f0a32309"},{"position":[-1,0.11,-11],"title":"Dugout","text":"Dugout units face in from both lines, each a modular bay with a bench and a roof, with the bat rack, the water cooler and the equipment bags inside. The gate swings open.","asset":"baseball-park-and-batting-cages-dugout-unit-1026e8c5"},{"position":[-22,0.11,-22],"title":"Batting cage","text":"The practice cage sits outside the third base line with the pitching machine, whose wheel spins, the ball buckets and the screens.","asset":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b"},{"position":[-18.4,0.11,-13.6],"title":"Bleachers","text":"Stands behind the backstop with the scoreboard, whose flap tilts, the ticket kiosk and the floodlight masts around them.","asset":"baseball-park-and-batting-cages-bleacher-stand-2ab80b42"},{"position":[21,0.11,-7],"title":"Outfield wall","text":"Padded wall bays run pole to pole with the warning track laid inside them, so the outfield is closed by repeating two modules.","asset":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6"}],"poster":{"position":[-13.2,1.7,-12.8],"lookAt":[-8.9,1.3,-8.6]}},"bounds":{"min":[-30.98471577529977,-0.00017242883348132787,-30.27218558620955],"max":[29,13.900836563110351,29]},"assets":[{"id":"33741","slug":"baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","title":"Outfield Grass Tile (Baseball Park and Batting Cages)","summary":"A 6 m square of mown outfield grass on the same four ports as the infield tile, so the playing surface can be laid out in clay and turf on one grid.","description":"A 6 m square of mown outfield grass on the same four ports as the infield tile, so the playing surface can be laid out in clay and turf on one grid. Dimensions 6.00 by 0.28 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). Ports match the infield and warning track tiles, so clay, grass and track mix freely in one run. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","cdnUrl":"https://cdn.3dassets.dev/assets/33741/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-outfield-grass-tile-38b7be6b","thumbnailUrl":"https://cdn.3dassets.dev/assets/33741/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33741/v1/poster.webp","blurhash":"U8ABILx[00WCt7f7R%bF00RQ?[ayM{j[t7af","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27508,"triangles":552,"vertices":1656,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-3,0.00010315315807532532,-3],"max":[3,0.2798968480340176,3]},"sizeMeters":[6,0.28,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:22.112Z","updatedAt":"2026-09-11T04:23:22.224Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33741/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OutfieldGrassTileBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33741/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33741/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33741/v1/model.glb\" alt=\"Outfield Grass Tile (Baseball Park and Batting Cages)\" 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/33741/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/33741/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33740","slug":"baseball-park-and-batting-cages-infield-dirt-tile-fa077637","title":"Infield Dirt Tile (Baseball Park and Batting Cages)","summary":"A 6 m square of raked infield clay with dragged bands across it, ported on all four edges so any number of them tile into a full skinned infield.","description":"A 6 m square of raked infield clay with dragged bands across it, ported on all four edges so any number of them tile into a full skinned infield. Dimensions 6.00 by 0.11 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). Ports sit at ground level on each edge midpoint, so two tiles butt at a shared edge with no gap and an infield of any size tiles up. The top face is at Y = 0.1 m, which is the datum every other piece in the pack stands on. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-infield-dirt-tile-fa077637","cdnUrl":"https://cdn.3dassets.dev/assets/33740/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-infield-dirt-tile-fa077637","thumbnailUrl":"https://cdn.3dassets.dev/assets/33740/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33740/v1/poster.webp","blurhash":"U8DI,n%L00ai%LWqWBoJ00Ip~UR*9asmoeR+","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":6320,"triangles":96,"vertices":288,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3,-0.00017242883348132787,-3],"max":[3,0.10795520104370777,3]},"sizeMeters":[6,0.108,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:22.097Z","updatedAt":"2026-09-11T04:23:22.205Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33740/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InfieldDirtTileBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33740/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33740/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33740/v1/model.glb\" alt=\"Infield Dirt Tile (Baseball Park and Batting Cages)\" 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/33740/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/33740/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33742","slug":"baseball-park-and-batting-cages-warning-track-tile-6a37d622","title":"Warning Track Tile (Baseball Park and Batting Cages)","summary":"A 6 m warning track module in crushed track dirt with a mown grass strip along its north edge, the change of footing a fielder feels before the wall.","description":"A 6 m warning track module in crushed track dirt with a mown grass strip along its north edge, the change of footing a fielder feels before the wall. 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). Lay it with the grass edge facing the outfield and the bare track against the wall. Ports match the infield and outfield tiles. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-warning-track-tile-6a37d622","cdnUrl":"https://cdn.3dassets.dev/assets/33742/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-warning-track-tile-6a37d622","thumbnailUrl":"https://cdn.3dassets.dev/assets/33742/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33742/v1/poster.webp","blurhash":"U9C$+Q-V00Nag3n+jFX600I:~Vnjn5SeX9nQ","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14984,"triangles":264,"vertices":792,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-3,-0.00017242883348132787,-3],"max":[3,0.2720622048583461,3]},"sizeMeters":[6,0.272,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:22.130Z","updatedAt":"2026-09-11T04:23:22.241Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33742/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WarningTrackTileBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33742/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33742/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33742/v1/model.glb\" alt=\"Warning Track Tile (Baseball Park and Batting Cages)\" 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/33742/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/33742/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33746","slug":"baseball-park-and-batting-cages-home-plate-and-batters-9590e7bf","title":"Home Plate and Batters Boxes (Baseball Park and Batting Cages)","summary":"The plate end of a diamond as one piece: a 5.2 by 5.4 m clay pad with the 432 mm five sided rubber plate set in it, both 1.22 by 1.83 m chalk batters boxes and the catchers box behind them.","description":"The plate end of a diamond as one piece: a 5.2 by 5.4 m clay pad with the 432 mm five sided rubber plate set in it, both 1.22 by 1.83 m chalk batters boxes and the catchers box behind them. Dimensions 5.20 by 0.09 by 5.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin on the point of the plate at ground level, with the pitcher toward positive Z. The chalk is modelled as raised strips 14 mm proud of the pad, so it reads the same in any renderer and never shares a plane with the clay. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-home-plate-and-batters-9590e7bf","cdnUrl":"https://cdn.3dassets.dev/assets/33746/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-home-plate-and-batters-9590e7bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/33746/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33746/v1/poster.webp","blurhash":"U9DSacxu00ay%1WBR*oL00NG~VWBD*xas;WC","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":9508,"triangles":160,"vertices":480,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.6001312755107167,0.000006407686731827594,-2.700000047683716],"max":[2.6001312755107167,0.08994888296478112,2.700000047683716]},"sizeMeters":[5.2,0.09,5.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:24.873Z","updatedAt":"2026-09-11T04:23:25.063Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33746/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HomePlateAndBattersBoxesBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33746/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33746/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33746/v1/model.glb\" alt=\"Home Plate and Batters Boxes (Baseball Park and Batting Cages)\" 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/33746/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/33746/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33743","slug":"baseball-park-and-batting-cages-pitchers-mound-f0a32309","title":"Pitchers Mound (Baseball Park and Batting Cages)","summary":"A full 5.5 m pitchers mound: a raked clay cone rising 250 mm to a flat table, with the white rubber set on it and the landing area worn in front of it.","description":"A full 5.5 m pitchers mound: a raked clay cone rising 250 mm to a flat table, with the white rubber set on it and the landing area worn in front of it. Dimensions 5.48 by 0.29 by 5.48 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the centre of the mound on the surrounding ground, so it drops straight onto a tile top. The rubber stands 20 mm proud of the table and the worn landing area 8 mm, so no two faces share a plane. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-pitchers-mound-f0a32309","cdnUrl":"https://cdn.3dassets.dev/assets/33743/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-pitchers-mound-f0a32309","thumbnailUrl":"https://cdn.3dassets.dev/assets/33743/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33743/v1/poster.webp","blurhash":"UEB{.Jt701WBWUf6oMbH00Rj~Vofs:j[WTja","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7244,"triangles":100,"vertices":300,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.740000009536743,-0.00009659151789812026,-2.740000009536743],"max":[2.740000009536743,0.29498305864079366,2.740000009536743]},"sizeMeters":[5.48,0.295,5.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:22.207Z","updatedAt":"2026-09-11T04:23:22.331Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33743/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PitchersMoundBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33743/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33743/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33743/v1/model.glb\" alt=\"Pitchers Mound (Baseball Park and Batting Cages)\" 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/33743/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/33743/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33777","slug":"baseball-park-and-batting-cages-rosin-bag-9ecde7b5","title":"Rosin Bag (Baseball Park and Batting Cages)","summary":"A rosin bag: a 110 mm canvas pouch gathered and tied at the neck, the small tan pouch a pitcher drops behind the mound.","description":"A rosin bag: a 110 mm canvas pouch gathered and tied at the neck, the small tan pouch a pitcher drops behind the mound. Dimensions 0.10 by 0.09 by 0.09 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the centre of the bag on the ground. Modelled as a soft shape at rest; nothing moves. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-rosin-bag-9ecde7b5","cdnUrl":"https://cdn.3dassets.dev/assets/33777/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-rosin-bag-9ecde7b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33777/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33777/v1/poster.webp","blurhash":"UBDlN2?F00IU~Us:D+WC01IW^jt7EMR*bFoe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":5972,"triangles":88,"vertices":264,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.052308108657598495,-0.0000033336334428687997,-0.04707841524769546],"max":[0.052308108657598495,0.0882533299379549,0.04707841524769546]},"sizeMeters":[0.105,0.088,0.094],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:39.992Z","updatedAt":"2026-09-11T04:23:40.101Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33777/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RosinBagBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33777/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33777/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33777/v1/model.glb\" alt=\"Rosin Bag (Baseball Park and Batting Cages)\" 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/33777/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/33777/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33745","slug":"baseball-park-and-batting-cages-base-bag-409a7dde","title":"Base Bag (Baseball Park and Batting Cages)","summary":"One 457 mm base bag on its clay cut out: a white canvas bag 76 mm thick with a raised crown and two anchor straps, placed three times for first, second and third.","description":"One 457 mm base bag on its clay cut out: a white canvas bag 76 mm thick with a raised crown and two anchor straps, placed three times for first, second and third. Dimensions 1.10 by 0.13 by 1.10 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the centre of the bag at ground level. The clay cut out under it reads on grass as well as on an infield tile. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-base-bag-409a7dde","cdnUrl":"https://cdn.3dassets.dev/assets/33745/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-base-bag-409a7dde","thumbnailUrl":"https://cdn.3dassets.dev/assets/33745/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33745/v1/poster.webp","blurhash":"UAD+rK%M00RjjcWBWBoM00M{~pbbWSogt7WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":4596,"triangles":60,"vertices":180,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,-0.000007935693158902385,-0.550000011920929],"max":[0.550000011920929,0.12598452649340497,0.550000011920929]},"sizeMeters":[1.1,0.126,1.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:23.829Z","updatedAt":"2026-09-11T04:23:24.013Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33745/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaseBagBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33745/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33745/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33745/v1/model.glb\" alt=\"Base Bag (Baseball Park and Batting Cages)\" 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/33745/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/33745/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33748","slug":"baseball-park-and-batting-cages-on-deck-circle-4a1d5533","title":"On Deck Circle (Baseball Park and Batting Cages)","summary":"A 1.6 m on deck circle: a clay disc with a chalked rim and a navy and red club roundel painted into it, for the batter waiting beside the dugout.","description":"A 1.6 m on deck circle: a clay disc with a chalked rim and a navy and red club roundel painted into it, for the batter waiting beside the dugout. Dimensions 1.60 by 0.05 by 1.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A 46 mm thick disc, origin at its centre on the ground. The roundel is blank geometry, so any club mark can be laid over it. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-on-deck-circle-4a1d5533","cdnUrl":"https://cdn.3dassets.dev/assets/33748/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-on-deck-circle-4a1d5533","thumbnailUrl":"https://cdn.3dassets.dev/assets/33748/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33748/v1/poster.webp","blurhash":"UAB:maxu00ay%MayRjj[00M{~Waf9Yj[xuWB","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17332,"triangles":296,"vertices":888,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.00003875813508303315,-0.800000011920929],"max":[0.800000011920929,0.04598895323569341,0.800000011920929]},"sizeMeters":[1.6,0.046,1.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:25.454Z","updatedAt":"2026-09-11T04:23:25.629Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33748/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OnDeckCircleBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33748/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33748/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33748/v1/model.glb\" alt=\"On Deck Circle (Baseball Park and Batting Cages)\" 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/33748/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/33748/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33778","slug":"baseball-park-and-batting-cages-umpire-brush-3688ab9e","title":"Umpire Brush (Baseball Park and Batting Cages)","summary":"An umpires plate brush: a shaped timber handle with a navy collar and a block of charcoal bristles, for dusting the plate off between innings.","description":"An umpires plate brush: a shaped timber handle with a navy collar and a block of charcoal bristles, for dusting the plate off between innings. Dimensions 0.09 by 0.09 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Lies bristles down with the handle toward negative Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-umpire-brush-3688ab9e","cdnUrl":"https://cdn.3dassets.dev/assets/33778/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-umpire-brush-3688ab9e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33778/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33778/v1/poster.webp","blurhash":"U8Aco3^*ENbF?F9GIpxZ000M-nxt4=~U^%M}","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10188,"triangles":160,"vertices":480,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.04250251661306131,2.308610159221236e-7,-0.20999999344348907],"max":[0.04250251661306131,0.09349841402606152,0.1599999964237213]},"sizeMeters":[0.085,0.093,0.37],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:40.026Z","updatedAt":"2026-09-11T04:23:40.155Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33778/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UmpireBrushBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33778/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33778/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33778/v1/model.glb\" alt=\"Umpire Brush (Baseball Park and Batting Cages)\" 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/33778/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/33778/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33747","slug":"baseball-park-and-batting-cages-foul-line-marker-52872d12","title":"Foul Line Marker (Baseball Park and Batting Cages)","summary":"A 6 m run of chalked foul line on its own clay bed, 160 mm wide, laid end to end from the plate out to the pole on the same 6 m module as the ground tiles.","description":"A 6 m run of chalked foul line on its own clay bed, 160 mm wide, laid end to end from the plate out to the pole on the same 6 m module as the ground tiles. Dimensions 0.44 by 0.03 by 6.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the centre of the run at ground level, the line along Z. Chalk is a raised strip rather than a texture and the bed under it is 10 mm thick, so it lies on grass or clay without sharing a plane with either. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-foul-line-marker-52872d12","cdnUrl":"https://cdn.3dassets.dev/assets/33747/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-foul-line-marker-52872d12","thumbnailUrl":"https://cdn.3dassets.dev/assets/33747/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33747/v1/poster.webp","blurhash":"UB9%kxxZIUt6t79ZR*t700M|-;afRj~W%2IU","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2396,"triangles":24,"vertices":72,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.22009949034089174,-0.00012710970372623726,-3],"max":[0.22009949034089174,0.02605688665812545,3]},"sizeMeters":[0.44,0.026,6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:24.028Z","updatedAt":"2026-09-11T04:23:24.144Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33747/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoulLineMarkerBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33747/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33747/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33747/v1/model.glb\" alt=\"Foul Line Marker (Baseball Park and Batting Cages)\" 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/33747/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/33747/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33751","slug":"baseball-park-and-batting-cages-foul-pole-fb5a4afd","title":"Foul Pole (Baseball Park and Batting Cages)","summary":"A 9.2 m foul pole in safety red with a mesh screen wing on its field side and a ball finial, the marker a fair ball is judged against down the line.","description":"A 9.2 m foul pole in safety red with a mesh screen wing on its field side and a ball finial, the marker a fair ball is judged against down the line. Dimensions 1.36 by 9.24 by 0.90 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stand it on the foul line just inside the wall, the screen wing facing fair territory. The screen is a solid lattice and nothing moves. Origin at the centre of the base plate at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-foul-pole-fb5a4afd","cdnUrl":"https://cdn.3dassets.dev/assets/33751/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-foul-pole-fb5a4afd","thumbnailUrl":"https://cdn.3dassets.dev/assets/33751/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33751/v1/poster.webp","blurhash":"U283R}].000}%2NaEL-B0|Sg}t#,+vwdKPBA","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22220,"triangles":412,"vertices":1236,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0.00001495622163703858,-0.44999998807907104],"max":[0.9151650259644908,9.239999771118164,0.44999998807907104]},"sizeMeters":[1.365,9.24,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:26.658Z","updatedAt":"2026-09-11T04:23:26.786Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33751/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoulPoleBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33751/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33751/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33751/v1/model.glb\" alt=\"Foul Pole (Baseball Park and Batting Cages)\" 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/33751/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/33751/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33749","slug":"baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","title":"Outfield Wall Panel (Baseball Park and Batting Cages)","summary":"A 4 m bay of outfield wall 2.5 m high: a charcoal carcass on a footing, navy padding across the whole field face with the white home run line over it, and two back pilasters.","description":"A 4 m bay of outfield wall 2.5 m high: a charcoal carcass on a footing, navy padding across the whole field face with the white home run line over it, and two back pilasters. Dimensions 4.00 by 2.56 by 0.55 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (wall) at (-2.00, 0.00, 0.00) facing (-1, 0, 0); right (wall) at (2.00, 0.00, 0.00) facing (1, 0, 0). The field side faces positive Z. Ports sit on the end faces at ground level, so bays butt into a continuous run and the corner turns it. The padding straps are not modelled and nothing here moves. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","cdnUrl":"https://cdn.3dassets.dev/assets/33749/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-outfield-wall-panel-cd7c77a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33749/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33749/v1/poster.webp","blurhash":"U88}ibx{4TjcyG.AafIS8wkB%jWARnxvs8Rk","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":6452,"triangles":84,"vertices":252,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2,0.00010408719079957329,-0.30989059084550535],"max":[2,2.5600997704920356,0.2399052342597037]},"sizeMeters":[4,2.56,0.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:25.605Z","updatedAt":"2026-09-11T04:23:25.701Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33749/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OutfieldWallPanelBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33749/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33749/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33749/v1/model.glb\" alt=\"Outfield Wall Panel (Baseball Park and Batting Cages)\" 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/33749/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/33749/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33750","slug":"baseball-park-and-batting-cages-outfield-wall-corner-d65b2176","title":"Outfield Wall Corner (Baseball Park and Batting Cages)","summary":"The right angle return for the outfield wall: two padded arms meeting in the corner where the wall turns up the foul line, on the same ports and section as the straight bay.","description":"The right angle return for the outfield wall: two padded arms meeting in the corner where the wall turns up the foul line, on the same ports and section as the straight bay. Dimensions 2.56 by 2.56 by 2.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: right (wall) at (2.00, 0.00, 0.00) facing (1, 0, 0); front (wall) at (0.00, 0.00, 2.00) facing (0, 0, 1). Origin on the outside corner, the padded arms toward positive X and positive Z. The `right` port takes the run along X and the `front` port the run along Z, so two corners and two runs close a whole outfield. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data. Functional variant of outfield-wall-panel, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-outfield-wall-corner-d65b2176","cdnUrl":"https://cdn.3dassets.dev/assets/33750/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-outfield-wall-corner-d65b2176","thumbnailUrl":"https://cdn.3dassets.dev/assets/33750/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33750/v1/poster.webp","blurhash":"UF8Ergf8H;x^%%kDMwayI8bIW@RPbZfRafay","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":9524,"triangles":144,"vertices":432,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.35499998927116394,0.0000015868106353345013,-0.3099969330710437],"max":[2.2049999237060547,2.559999942779541,2.049996883003142]},"sizeMeters":[2.56,2.56,2.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:26.673Z","updatedAt":"2026-09-11T04:23:26.800Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33750/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OutfieldWallCornerBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33750/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33750/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33750/v1/model.glb\" alt=\"Outfield Wall Corner (Baseball Park and Batting Cages)\" 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/33750/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/33750/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33753","slug":"baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","title":"Backstop Fence Panel (Baseball Park and Batting Cages)","summary":"A 3 m bay of 4.2 m backstop fencing: charcoal posts and rails, steel mesh and a navy padded kick plate, the wall that keeps a foul ball out of the seats.","description":"A 3 m bay of 4.2 m backstop fencing: charcoal posts and rails, steel mesh and a navy padded kick plate, the wall that keeps a foul ball out of the seats. Dimensions 3.00 by 4.20 by 0.17 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (backstop) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (backstop) at (1.50, 0.00, 0.00) facing (1, 0, 0). The field side faces positive Z. Ports sit on the end posts at ground level, so bays butt into a continuous run behind the plate. The padding is solid and does not compress. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","cdnUrl":"https://cdn.3dassets.dev/assets/33753/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-backstop-fence-panel-abdb5cef","thumbnailUrl":"https://cdn.3dassets.dev/assets/33753/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33753/v1/poster.webp","blurhash":"U49Q,P%400IT}+%g9d8_00Vr~qbx9ft9-oR3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19220,"triangles":348,"vertices":1044,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5000640207473952,0,-0.059987179501818415],"max":[1.5000640207473952,4.199999809265137,0.10498153612718647]},"sizeMeters":[3,4.2,0.165],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:28.249Z","updatedAt":"2026-09-11T04:23:28.353Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33753/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BackstopFencePanelBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33753/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33753/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33753/v1/model.glb\" alt=\"Backstop Fence Panel (Baseball Park and Batting Cages)\" 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/33753/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/33753/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33752","slug":"baseball-park-and-batting-cages-backstop-gate-panel-8e3d6878","title":"Backstop Gate Panel (Baseball Park and Batting Cages)","summary":"A 3 m backstop bay with a 2.2 m mesh gate in it: the same posts and rails as the plain bay, mesh light over the head and a single leaf that swings out of the field.","description":"A 3 m backstop bay with a 2.2 m mesh gate in it: the same posts and rails as the plain bay, mesh light over the head and a single leaf that swings out of the field. Dimensions 3.00 by 4.20 by 0.22 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.36, 0.03, -0.06) m. Connectors: left (backstop) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (backstop) at (1.50, 0.00, 0.00) facing (1, 0, 0). The leaf is hinged on the left jamb and swings away from the field. Ports match the plain bay, so the gate drops into any run. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: open and close. No skinning. No collision or navigation data. Functional variant of backstop-fence-panel, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-backstop-gate-panel-8e3d6878","cdnUrl":"https://cdn.3dassets.dev/assets/33752/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-backstop-gate-panel-8e3d6878","thumbnailUrl":"https://cdn.3dassets.dev/assets/33752/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33752/v1/poster.webp","blurhash":"U57-f{_N0000-;%NR-D$9Ead.8fm9FRi-;%M","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32824,"triangles":588,"vertices":1764,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.5000640207473952,0,-0.16001922601852225],"max":[1.5000640207473952,4.199999809265137,0.059987179501818415]},"sizeMeters":[3,4.2,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:27.240Z","updatedAt":"2026-09-11T04:23:27.344Z","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/33752/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 BackstopGatePanelBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33752/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/33752/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33752/v1/model.glb\" alt=\"Backstop Gate Panel (Baseball Park and Batting Cages)\" 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/33752/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/33752/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33755","slug":"baseball-park-and-batting-cages-dugout-unit-1026e8c5","title":"Dugout Unit (Baseball Park and Batting Cages)","summary":"A 4 m dugout unit: a concrete pad, a navy back wall under a charcoal roof, a slatted bench with a helmet shelf under it and a front railing with a gate that swings onto the field.","description":"A 4 m dugout unit: a concrete pad, a navy back wall under a charcoal roof, a slatted bench with a helmet shelf under it and a front railing with a gate that swings onto the field. Dimensions 4.00 by 2.46 by 2.90 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.42, 0.12, 1.18) m. Connectors: left (dugout) at (-2.00, 0.00, 0.00) facing (-1, 0, 0); right (dugout) at (2.00, 0.00, 0.00) facing (1, 0, 0). The open front faces positive Z. Ports sit on the end faces at ground level, so units butt into a bench of any length under one roof line. The gate is hinged at one jamb and swings out of the dugout. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-dugout-unit-1026e8c5","cdnUrl":"https://cdn.3dassets.dev/assets/33755/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-dugout-unit-1026e8c5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33755/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33755/v1/poster.webp","blurhash":"U3BzFJ-:00~p?v_3x]Ip00NOMH4.~VD+4UQ+","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19352,"triangles":312,"vertices":936,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-2,0.00010408719079957329,-1.4498733481856747],"max":[2,2.459895950956173,1.4498733481856747]},"sizeMeters":[4,2.46,2.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:28.448Z","updatedAt":"2026-09-11T04:23:28.558Z","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/33755/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 DugoutUnitBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33755/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/33755/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33755/v1/model.glb\" alt=\"Dugout Unit (Baseball Park and Batting Cages)\" 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/33755/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/33755/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33775","slug":"baseball-park-and-batting-cages-bat-rack-4a03bbf0","title":"Bat Rack (Baseball Park and Batting Cages)","summary":"A 1.3 m dugout bat rack: a timber base with six slotted dividers in a steel frame on a navy back board, holding three bats upright against the dugout wall.","description":"A 1.3 m dugout bat rack: a timber base with six slotted dividers in a steel frame on a navy back board, holding three bats upright against the dugout wall. Dimensions 1.30 by 1.10 by 0.42 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The bats are part of the model and do not move: a rack is what a dugout looks like between innings. Stand it against a wall with the slots toward positive Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-bat-rack-4a03bbf0","cdnUrl":"https://cdn.3dassets.dev/assets/33775/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-bat-rack-4a03bbf0","thumbnailUrl":"https://cdn.3dassets.dev/assets/33775/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33775/v1/poster.webp","blurhash":"UBDJFz?F00NMBt-;-3IUMvb{t9iu?D^*xvE1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":46476,"triangles":888,"vertices":2664,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,0.0000028638342831066588,-0.22497634387689888],"max":[0.6499999761581421,1.1000299004583602,0.1999771037827763]},"sizeMeters":[1.3,1.1,0.425],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:40.063Z","updatedAt":"2026-09-11T04:23:40.264Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33775/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BatRackBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33775/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33775/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33775/v1/model.glb\" alt=\"Bat Rack (Baseball Park and Batting Cages)\" 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/33775/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/33775/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33776","slug":"baseball-park-and-batting-cages-water-cooler-adb4f10a","title":"Water Cooler (Baseball Park and Batting Cages)","summary":"A 560 mm red water cooler with a charcoal spigot, side handles and a white lid that lifts, with a stack of cups on a tray beside it.","description":"A 560 mm red water cooler with a charcoal spigot, side handles and a white lid that lifts, with a stack of cups on a tray beside it. Dimensions 0.58 by 0.64 by 0.47 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.54, 0.17) m. The lid is hinged along its back edge at positive Z. Origin at the centre of the cooler base at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-water-cooler-adb4f10a","cdnUrl":"https://cdn.3dassets.dev/assets/33776/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-water-cooler-adb4f10a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33776/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33776/v1/poster.webp","blurhash":"UJDS5q}[000ecFXmRPZ$AWJ7wJ$jv#rrX9T0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19484,"triangles":304,"vertices":912,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.20250000059604645,0.000011664830396329595,-0.2800000011920929],"max":[0.3799999952316284,0.6359970997480738,0.19000060364601895]},"sizeMeters":[0.582,0.636,0.47],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:39.816Z","updatedAt":"2026-09-11T04:23:39.916Z","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/33776/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 WaterCoolerBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33776/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/33776/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33776/v1/model.glb\" alt=\"Water Cooler (Baseball Park and Batting Cages)\" 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/33776/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/33776/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33774","slug":"baseball-park-and-batting-cages-equipment-bag-5290eade","title":"Equipment Bag (Baseball Park and Batting Cages)","summary":"A 920 mm team equipment bag: a charcoal barrel duffel with a navy side panel, a red zip line, steel carry loops and an end pocket for the balls.","description":"A 920 mm team equipment bag: a charcoal barrel duffel with a navy side panel, a red zip line, steel carry loops and an end pocket for the balls. Dimensions 0.49 by 0.43 by 0.92 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Lies along Z with the zip uppermost. The bag is modelled shut and does not open. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-equipment-bag-5290eade","cdnUrl":"https://cdn.3dassets.dev/assets/33774/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-equipment-bag-5290eade","thumbnailUrl":"https://cdn.3dassets.dev/assets/33774/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33774/v1/poster.webp","blurhash":"U59QXMt900-U~X4.9Y=|00D%-=-p0J%g?Hoz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":8164,"triangles":112,"vertices":336,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2500282367484197,0.0000034615815378835624,-0.46000000834465027],"max":[0.24002823138400167,0.43021862849192516,0.46000000834465027]},"sizeMeters":[0.49,0.43,0.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:38.347Z","updatedAt":"2026-09-11T04:23:38.460Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33774/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EquipmentBagBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33774/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33774/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33774/v1/model.glb\" alt=\"Equipment Bag (Baseball Park and Batting Cages)\" 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/33774/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/33774/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33769","slug":"baseball-park-and-batting-cages-batting-helmet-3ea0adb5","title":"Batting Helmet (Baseball Park and Batting Cages)","summary":"A navy batting helmet 270 mm across: a hard shell with a brim, one ear flap, a white crown stripe and a padded charcoal rim inside.","description":"A navy batting helmet 270 mm across: a hard shell with a brim, one ear flap, a white crown stripe and a padded charcoal rim inside. Dimensions 0.31 by 0.26 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A right handed hitters helmet, the single ear flap on the negative X side and the brim toward positive Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-batting-helmet-3ea0adb5","cdnUrl":"https://cdn.3dassets.dev/assets/33769/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-batting-helmet-3ea0adb5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33769/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33769/v1/poster.webp","blurhash":"U897*LIW00-:~WI9Di-=D4IT%j-;E1p0-=i[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14256,"triangles":244,"vertices":732,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.15900553877580795,-0.0000034356117157574584,-0.13500000536441803],"max":[0.1509999930858612,0.25549480303174704,0.23638974130153656]},"sizeMeters":[0.31,0.255,0.371],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:36.254Z","updatedAt":"2026-09-11T04:23:36.366Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33769/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BattingHelmetBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33769/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33769/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33769/v1/model.glb\" alt=\"Batting Helmet (Baseball Park and Batting Cages)\" 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/33769/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/33769/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33771","slug":"baseball-park-and-batting-cages-batting-gloves-1e8863f9","title":"Batting Gloves (Baseball Park and Batting Cages)","summary":"A pair of batting gloves laid out palm down: navy leather with a red back panel, four fingers, a thumb and a white wrist closure with a charcoal tab.","description":"A pair of batting gloves laid out palm down: navy leather with a red back panel, four fingers, a thumb and a white wrist closure with a charcoal tab. Dimensions 0.52 by 0.06 by 0.35 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The pair is one model, fingers toward positive Z. Origin on the footprint centre at ground level; the gloves are stiff and do not flex. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-batting-gloves-1e8863f9","cdnUrl":"https://cdn.3dassets.dev/assets/33771/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-batting-gloves-1e8863f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/33771/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33771/v1/poster.webp","blurhash":"U68|@s9$00sl^%oz9vRi00=??JI;03V?}=o$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12936,"triangles":216,"vertices":648,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2579006254673004,-0.000004531650683443217,-0.1449861118115948],"max":[0.2579006254673004,0.06049337703555574,0.2021277741892203]},"sizeMeters":[0.516,0.06,0.347],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:38.226Z","updatedAt":"2026-09-11T04:23:38.332Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33771/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BattingGlovesBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33771/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33771/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33771/v1/model.glb\" alt=\"Batting Gloves (Baseball Park and Batting Cages)\" 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/33771/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/33771/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33766","slug":"baseball-park-and-batting-cages-catchers-mask-94765022","title":"Catchers Mask (Baseball Park and Batting Cages)","summary":"A catchers mask 360 mm tall: a curved charcoal steel cage on navy forehead, chin and cheek pads, with the white harness straps that hold it on.","description":"A catchers mask 360 mm tall: a curved charcoal steel cage on navy forehead, chin and cheek pads, with the white harness straps that hold it on. Dimensions 0.27 by 0.35 by 0.25 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands on its chin pad with the cage facing positive Z. The harness is solid and nothing moves. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-catchers-mask-94765022","cdnUrl":"https://cdn.3dassets.dev/assets/33766/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-catchers-mask-94765022","thumbnailUrl":"https://cdn.3dassets.dev/assets/33766/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33766/v1/poster.webp","blurhash":"U38O0tTg00rB~oD+D+$_D#p1IVQ*00_2xx4p","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22900,"triangles":424,"vertices":1272,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.13500876999122927,0,-0.11499524340088103],"max":[0.13500876999122927,0.35499998927116394,0.1334758795803282]},"sizeMeters":[0.27,0.355,0.248],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:35.725Z","updatedAt":"2026-09-11T04:23:35.831Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33766/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CatchersMaskBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33766/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33766/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33766/v1/model.glb\" alt=\"Catchers Mask (Baseball Park and Batting Cages)\" 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/33766/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/33766/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33773","slug":"baseball-park-and-batting-cages-shin-guards-9eac7356","title":"Shin Guards (Baseball Park and Batting Cages)","summary":"A pair of catchers shin guards: a domed knee cap, a ribbed navy shin plate and a hinged toe plate on each, with white straps and charcoal buckles.","description":"A pair of catchers shin guards: a domed knee cap, a ribbed navy shin plate and a hinged toe plate on each, with white straps and charcoal buckles. Dimensions 0.41 by 0.11 by 0.65 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The pair is one model laid out with the knees toward positive Z. The hinges are modelled shut and do not move. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-shin-guards-9eac7356","cdnUrl":"https://cdn.3dassets.dev/assets/33773/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-shin-guards-9eac7356","thumbnailUrl":"https://cdn.3dassets.dev/assets/33773/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33773/v1/poster.webp","blurhash":"U86+08xv8wRQxuWARjW?00RP.At7D%o$xus*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17880,"triangles":320,"vertices":960,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.20000000298023224,-0.000012146592845985182,-0.3427007794380188],"max":[0.2150000035762787,0.11240269458364494,0.3113292455673218]},"sizeMeters":[0.415,0.112,0.654],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:37.942Z","updatedAt":"2026-09-11T04:23:38.047Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33773/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShinGuardsBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33773/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33773/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33773/v1/model.glb\" alt=\"Shin Guards (Baseball Park and Batting Cages)\" 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/33773/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/33773/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33772","slug":"baseball-park-and-batting-cages-chest-protector-c241a118","title":"Chest Protector (Baseball Park and Batting Cages)","summary":"A catchers chest protector 440 by 700 mm: five navy foam panels with white stitch lines, shoulder caps and the charcoal harness straps down its back.","description":"A catchers chest protector 440 by 700 mm: five navy foam panels with white stitch lines, shoulder caps and the charcoal harness straps down its back. Dimensions 0.59 by 0.07 by 0.80 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Laid face up with the shoulders toward positive Z. The panels are rigid and the straps solid, so nothing moves. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-chest-protector-c241a118","cdnUrl":"https://cdn.3dassets.dev/assets/33772/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-chest-protector-c241a118","thumbnailUrl":"https://cdn.3dassets.dev/assets/33772/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33772/v1/poster.webp","blurhash":"U76RyEo$8wf#%MROM|tS00RO.Aj[D%x^%MR4","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10012,"triangles":156,"vertices":468,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.29398285921148143,0.0000034275527214799872,-0.38100001215934753],"max":[0.29398285921148143,0.07400805645902248,0.41779598593711853]},"sizeMeters":[0.588,0.074,0.799],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:37.354Z","updatedAt":"2026-09-11T04:23:37.455Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33772/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChestProtectorBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33772/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33772/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33772/v1/model.glb\" alt=\"Chest Protector (Baseball Park and Batting Cages)\" 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/33772/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/33772/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33763","slug":"baseball-park-and-batting-cages-baseball-bat-6d026e67","title":"Baseball Bat (Baseball Park and Batting Cages)","summary":"An 860 mm ash bat turned the way a bat is turned: a flared knob, a taped handle, a long taper into a 67 mm barrel and a cupped end cap.","description":"An 860 mm ash bat turned the way a bat is turned: a flared knob, a taped handle, a long taper into a 67 mm barrel and a cupped end cap. Dimensions 0.07 by 0.06 by 0.86 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. An 860 mm bat lying along Z with the knob at negative Z, resting on its knob and barrel the way a bat really lies. Origin on the footprint centre at ground level; stand it up with a rotation about X. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-baseball-bat-6d026e67","cdnUrl":"https://cdn.3dassets.dev/assets/33763/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-baseball-bat-6d026e67","thumbnailUrl":"https://cdn.3dassets.dev/assets/33763/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33763/v1/poster.webp","blurhash":"U88:@c-nM|W?of9aRjf+01E3={s.nO~U%LRj","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13292,"triangles":240,"vertices":720,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.033489792115644595,-0.0000021526226237564283,-0.4300000071525574],"max":[0.033489792115644595,0.06372293770401033,0.4300000071525574]},"sizeMeters":[0.067,0.064,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:32.941Z","updatedAt":"2026-09-11T04:23:33.048Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33763/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaseballBatBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33763/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33763/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33763/v1/model.glb\" alt=\"Baseball Bat (Baseball Park and Batting Cages)\" 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/33763/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/33763/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33768","slug":"baseball-park-and-batting-cages-fielding-glove-768f6a50","title":"Fielding Glove (Baseball Park and Batting Cages)","summary":"A fielders glove 380 mm across: four finger stalls and a thumb around a dished pocket, a laced web between thumb and index and a laced wrist band at the back.","description":"A fielders glove 380 mm across: four finger stalls and a thumb around a dished pocket, a laced web between thumb and index and a laced wrist band at the back. Dimensions 0.41 by 0.10 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Lies palm up with the fingers toward positive Z. The laces are solid geometry and the glove does not close. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-fielding-glove-768f6a50","cdnUrl":"https://cdn.3dassets.dev/assets/33768/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-fielding-glove-768f6a50","thumbnailUrl":"https://cdn.3dassets.dev/assets/33768/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33768/v1/poster.webp","blurhash":"UAC6V;NG02IVx]Ioafxt00s,~Ux]Di?HkAIp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19700,"triangles":372,"vertices":1116,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.25922603036788916,0.0000015076465963159702,-0.1899999976158142],"max":[0.15001381065277075,0.10499848907514822,0.31240013241767883]},"sizeMeters":[0.409,0.105,0.502],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:35.390Z","updatedAt":"2026-09-11T04:23:35.566Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33768/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldingGloveBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33768/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33768/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33768/v1/model.glb\" alt=\"Fielding Glove (Baseball Park and Batting Cages)\" 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/33768/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/33768/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33770","slug":"baseball-park-and-batting-cages-batting-helmet-visitor-118ace44","title":"Batting Helmet Visitor (Baseball Park and Batting Cages)","summary":"The same batting helmet in the visiting clubs red, for dressing the other dugout without a second model.","description":"The same batting helmet in the visiting clubs red, for dressing the other dugout without a second model. Dimensions 0.31 by 0.26 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A right handed hitters helmet, the single ear flap on the negative X side and the brim toward positive Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data. Colour variant of batting-helmet.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-batting-helmet-visitor-118ace44","cdnUrl":"https://cdn.3dassets.dev/assets/33770/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-batting-helmet-visitor-118ace44","thumbnailUrl":"https://cdn.3dassets.dev/assets/33770/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33770/v1/poster.webp","blurhash":"UEEBT}nN00tl?aELIU-p0fIo}s%LIo=e%MEz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14320,"triangles":244,"vertices":732,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.15900553877580795,-0.0000034356117157574584,-0.13500000536441803],"max":[0.1509999930858612,0.25549480303174704,0.23638974130153656]},"sizeMeters":[0.31,0.255,0.371],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:36.687Z","updatedAt":"2026-09-11T04:23:36.793Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33770/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BattingHelmetVisitorBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33770/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33770/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33770/v1/model.glb\" alt=\"Batting Helmet Visitor (Baseball Park and Batting Cages)\" 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/33770/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/33770/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33764","slug":"baseball-park-and-batting-cages-baseball-bat-metal-9896276e","title":"Baseball Bat Metal (Baseball Park and Batting Cages)","summary":"The same 860 mm bat in brushed alloy with a red grip, the bat a youth or college hitter takes to the plate.","description":"The same 860 mm bat in brushed alloy with a red grip, the bat a youth or college hitter takes to the plate. Dimensions 0.07 by 0.06 by 0.86 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. An 860 mm bat lying along Z with the knob at negative Z, resting on its knob and barrel the way a bat really lies. Origin on the footprint centre at ground level; stand it up with a rotation about X. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data. Colour variant of baseball-bat.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-baseball-bat-metal-9896276e","cdnUrl":"https://cdn.3dassets.dev/assets/33764/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-baseball-bat-metal-9896276e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33764/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33764/v1/poster.webp","blurhash":"U88zu.k?Mxrq$*9YV@s:00IA-;kqEf~X%MIo","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13324,"triangles":240,"vertices":720,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.033489792115644595,-0.0000021526226237564283,-0.4300000071525574],"max":[0.033489792115644595,0.06372293770401033,0.4300000071525574]},"sizeMeters":[0.067,0.064,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:33.332Z","updatedAt":"2026-09-11T04:23:33.503Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33764/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaseballBatMetalBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33764/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33764/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33764/v1/model.glb\" alt=\"Baseball Bat Metal (Baseball Park and Batting Cages)\" 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/33764/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/33764/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33767","slug":"baseball-park-and-batting-cages-catchers-mitt-876e87b3","title":"Catchers Mitt (Baseball Park and Batting Cages)","summary":"A catchers mitt 420 mm across: a stiff leather shell with a raised rim, a dished pocket, both thumb and finger lobes and a four lace web strung across the top.","description":"A catchers mitt 420 mm across: a stiff leather shell with a raised rim, a dished pocket, both thumb and finger lobes and a four lace web strung across the top. Dimensions 0.56 by 0.12 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Lies palm up with the web toward positive Z. The laces are solid geometry and the mitt does not flex. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-catchers-mitt-876e87b3","cdnUrl":"https://cdn.3dassets.dev/assets/33767/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-catchers-mitt-876e87b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33767/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33767/v1/poster.webp","blurhash":"UBBW3s?a02RQt7s:s:ba00D%~UozIUNGM|aL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16984,"triangles":316,"vertices":948,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2784545123577118,0.000013773602895915393,-0.26463078946297186],"max":[0.28320980072021484,0.11699635325413012,0.23500839385682964]},"sizeMeters":[0.562,0.117,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:35.084Z","updatedAt":"2026-09-11T04:23:35.183Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33767/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CatchersMittBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33767/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33767/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33767/v1/model.glb\" alt=\"Catchers Mitt (Baseball Park and Batting Cages)\" 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/33767/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/33767/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33754","slug":"baseball-park-and-batting-cages-bleacher-stand-2ab80b42","title":"Bleacher Stand (Baseball Park and Batting Cages)","summary":"A 6.2 m five row bleacher: timber benches and backs on a raked steel frame with side rails and a navy hoarding across the top row, for the crowd behind the plate.","description":"A 6.2 m five row bleacher: timber benches and backs on a raked steel frame with side rails and a navy hoarding across the top row, for the crowd behind the plate. Dimensions 6.20 by 3.25 by 4.25 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Open at the front, which faces positive Z. Origin on the footprint centre at ground level; no collision data. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-bleacher-stand-2ab80b42","cdnUrl":"https://cdn.3dassets.dev/assets/33754/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-bleacher-stand-2ab80b42","thumbnailUrl":"https://cdn.3dassets.dev/assets/33754/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33754/v1/poster.webp","blurhash":"U8DlsFr:00tRtTs7M_Io00R-}*R*I:by$y$~","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22640,"triangles":408,"vertices":1224,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-3.0999999046325684,-0.00017029277292046618,-3.045049573946804],"max":[3.0999999046325684,3.2498168557237457,1.20014182415728]},"sizeMeters":[6.2,3.25,4.245],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:29.417Z","updatedAt":"2026-09-11T04:23:29.518Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33754/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BleacherStandBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33754/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33754/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33754/v1/model.glb\" alt=\"Bleacher Stand (Baseball Park and Batting Cages)\" 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/33754/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/33754/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33756","slug":"baseball-park-and-batting-cages-scoreboard-61655d49","title":"Scoreboard on a Frame (Baseball Park and Batting Cages)","summary":"A 5.4 m scoreboard on two braced steel posts, 6.4 m to the top: a navy face with nine blank inning panels, three totals panels, a red header and a hinged count card that tips as it is changed.","description":"A 5.4 m scoreboard on two braced steel posts, 6.4 m to the top: a navy face with nine blank inning panels, three totals panels, a red header and a hinged count card that tips as it is changed. Dimensions 5.81 by 6.41 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: flap at (-1.85, 4.15, 0.19) m. The reading face is toward positive Z. Every panel is blank geometry, so any score can be laid over it without re-rendering the model. Origin midway between the post bases at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-scoreboard-61655d49","cdnUrl":"https://cdn.3dassets.dev/assets/33756/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-scoreboard-61655d49","thumbnailUrl":"https://cdn.3dassets.dev/assets/33756/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33756/v1/poster.webp","blurhash":"UDAJsUxu00Ri~Cxv9ZIUrBsBTKNZR3xDtmI=","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19348,"triangles":312,"vertices":936,"meshes":7,"materials":5,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-2.9049999713897705,0,-0.3499862611990487],"max":[2.9049999713897705,6.410055048498399,0.3499862611990487]},"sizeMeters":[5.81,6.41,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:30.000Z","updatedAt":"2026-09-11T04:23:30.116Z","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/33756/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 ScoreboardOnAFrameBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33756/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/33756/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33756/v1/model.glb\" alt=\"Scoreboard on a Frame (Baseball Park and Batting Cages)\" 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/33756/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/33756/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33785","slug":"baseball-park-and-batting-cages-ticket-kiosk-3c4e1f96","title":"Ticket Kiosk (Baseball Park and Batting Cages)","summary":"A 2.4 m square concession and ticket kiosk 2.8 m tall: a navy box with a white counter under a red awning, a steel framed serving window and a blank board on the back.","description":"A 2.4 m square concession and ticket kiosk 2.8 m tall: a navy box with a white counter under a red awning, a steel framed serving window and a blank board on the back. Dimensions 2.90 by 2.78 by 3.20 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Exterior model, the serving window facing positive Z. There is no interior and the shutter does not move. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-ticket-kiosk-3c4e1f96","cdnUrl":"https://cdn.3dassets.dev/assets/33785/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-ticket-kiosk-3c4e1f96","thumbnailUrl":"https://cdn.3dassets.dev/assets/33785/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33785/v1/poster.webp","blurhash":"U6AAdz^M0057~B$%N1tR009ws==_GdEfMuR4","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12524,"triangles":180,"vertices":540,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.4500000476837158,0.000005433316175196268,-1.3000748131015927],"max":[1.4500000476837158,2.7799945380735953,1.8974963426589966]},"sizeMeters":[2.9,2.78,3.198],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:43.565Z","updatedAt":"2026-09-11T04:23:43.669Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33785/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TicketKioskBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33785/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33785/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33785/v1/model.glb\" alt=\"Ticket Kiosk (Baseball Park and Batting Cages)\" 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/33785/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/33785/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33784","slug":"baseball-park-and-batting-cages-park-bench-and-fence-6c30b94c","title":"Park Bench And Fence (Baseball Park and Batting Cages)","summary":"A 1.6 m timber bench against a 2 m mesh fence bay with a navy kick panel, the spot outside the line where people stand and watch an inning.","description":"A 1.6 m timber bench against a 2 m mesh fence bay with a navy kick panel, the spot outside the line where people stand and watch an inning. Dimensions 2.10 by 1.80 by 0.86 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The bench faces positive Z with the fence behind it. Origin on the footprint centre at ground level; the fence here is fixed to the bench and carries no ports. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-park-bench-and-fence-6c30b94c","cdnUrl":"https://cdn.3dassets.dev/assets/33784/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-park-bench-and-fence-6c30b94c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33784/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33784/v1/poster.webp","blurhash":"U7BDNQRN00S*%ixuI9IT00XU~Uiv$extNzM}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19968,"triangles":348,"vertices":1044,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0499999523162842,-0.00003202740359598,-0.625049586303103],"max":[1.0499999523162842,1.80003197971988,0.23997314728753963]},"sizeMeters":[2.1,1.8,0.865],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:43.516Z","updatedAt":"2026-09-11T04:23:43.614Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33784/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParkBenchAndFenceBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33784/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33784/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33784/v1/model.glb\" alt=\"Park Bench And Fence (Baseball Park and Batting Cages)\" 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/33784/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/33784/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33757","slug":"baseball-park-and-batting-cages-floodlight-mast-8eb8f652","title":"Floodlight Mast (Baseball Park and Batting Cages)","summary":"An 11.7 m floodlight mast: a tapered steel column on a concrete base carrying a bank of eight angled lamps, the light a park plays a night game under.","description":"An 11.7 m floodlight mast: a tapered steel column on a concrete base carrying a bank of eight angled lamps, the light a park plays a night game under. Dimensions 3.20 by 11.80 by 1.10 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The lamp faces are flat white panels; the model carries no light source, so add a real light in the engine at the head. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-floodlight-mast-8eb8f652","cdnUrl":"https://cdn.3dassets.dev/assets/33757/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-floodlight-mast-8eb8f652","thumbnailUrl":"https://cdn.3dassets.dev/assets/33757/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33757/v1/poster.webp","blurhash":"U15r3;-=0000~qxu0JDjtRxuaKD$^+xu9GD%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16088,"triangles":284,"vertices":852,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5999394644495297,0,-0.5502999441032935],"max":[1.5999394644495297,11.800836563110352,0.5502999441032935]},"sizeMeters":[3.2,11.801,1.101],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:29.962Z","updatedAt":"2026-09-11T04:23:30.099Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33757/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloodlightMastBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33757/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33757/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33757/v1/model.glb\" alt=\"Floodlight Mast (Baseball Park and Batting Cages)\" 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/33757/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/33757/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33758","slug":"baseball-park-and-batting-cages-batting-cage-frame-20af7e19","title":"Batting Cage Frame (Baseball Park and Batting Cages)","summary":"An 8 by 3.6 m batting cage 3.2 m high: a steel frame netted on both sides, over the top and across the closed end, with a padded back board and navy skirts, open at the hitter end.","description":"An 8 by 3.6 m batting cage 3.2 m high: a steel frame netted on both sides, over the top and across the closed end, with a padded back board and navy skirts, open at the hitter end. Dimensions 3.96 by 3.25 by 8.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The open end faces positive Z. The netting is a solid lattice tied to the frame and never moves, because a rigid node transform cannot make a mesh hang. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-batting-cage-frame-20af7e19","cdnUrl":"https://cdn.3dassets.dev/assets/33758/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-batting-cage-frame-20af7e19","thumbnailUrl":"https://cdn.3dassets.dev/assets/33758/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33758/v1/poster.webp","blurhash":"U89aN.RiD$xv~pITM{xu00IWM{t49HbcRk%3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":80772,"triangles":1632,"vertices":4896,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.9802510538496148,-0.00017166661580247933,-4],"max":[1.9802510538496148,3.2501716666158025,4]},"sizeMeters":[3.961,3.25,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:31.164Z","updatedAt":"2026-09-11T04:23:31.352Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33758/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BattingCageFrameBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33758/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33758/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33758/v1/model.glb\" alt=\"Batting Cage Frame (Baseball Park and Batting Cages)\" 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/33758/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/33758/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33759","slug":"baseball-park-and-batting-cages-pitching-machine-e02fb2ca","title":"Pitching Machine (Baseball Park and Batting Cages)","summary":"A three legged pitching machine 1.7 m tall: a navy head on a steel tripod with two counter rotating charcoal wheels, a red throat and a feed hopper with a ball sitting in it.","description":"A three legged pitching machine 1.7 m tall: a navy head on a steel tripod with two counter rotating charcoal wheels, a red throat and a feed hopper with a ball sitting in it. Dimensions 1.06 by 1.62 by 0.94 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: flywheel-left at (0.26, 1.08, 0.12) m; flywheel-right at (-0.26, 1.08, 0.12) m. The machine throws toward positive Z. The wheels are the only moving system, so the clip is a bare spin; the feed arm and the ball are static. Origin at the centre of the tripod at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-pitching-machine-e02fb2ca","cdnUrl":"https://cdn.3dassets.dev/assets/33759/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-pitching-machine-e02fb2ca","thumbnailUrl":"https://cdn.3dassets.dev/assets/33759/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33759/v1/poster.webp","blurhash":"U58g:F?c004-?wt8DhIT9XInxc-WD#M_xw-q","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37292,"triangles":712,"vertices":2136,"meshes":7,"materials":5,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.5303332209587097,0.000009005007230278306,-0.5999956277792013],"max":[0.5303332209587097,1.6169999837875366,0.3399999988079071]},"sizeMeters":[1.061,1.617,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:31.011Z","updatedAt":"2026-09-11T04:23:31.108Z","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/33759/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 PitchingMachineBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33759/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/33759/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33759/v1/model.glb\" alt=\"Pitching Machine (Baseball Park and Batting Cages)\" 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/33759/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/33759/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33760","slug":"baseball-park-and-batting-cages-ball-bucket-b0ea3d5b","title":"Ball Bucket (Baseball Park and Batting Cages)","summary":"A 400 mm red ball bucket with a charcoal rim and wire handle, filled to the top with baseballs, the thing a cage session is measured in.","description":"A 400 mm red ball bucket with a charcoal rim and wire handle, filled to the top with baseballs, the thing a cage session is measured in. Dimensions 0.37 by 0.46 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The balls are part of the model and do not move. Origin at the centre of the base at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-ball-bucket-b0ea3d5b","cdnUrl":"https://cdn.3dassets.dev/assets/33760/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-ball-bucket-b0ea3d5b","thumbnailUrl":"https://cdn.3dassets.dev/assets/33760/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33760/v1/poster.webp","blurhash":"U8DRNn={005QLLR,vMxZ0zNG}Z$*vzoeTdR*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":88320,"triangles":1788,"vertices":5364,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.1850000023841858,0,-0.1850000023841858],"max":[0.1850000023841858,0.45700137588798145,0.1850000023841858]},"sizeMeters":[0.37,0.457,0.37],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:31.683Z","updatedAt":"2026-09-11T04:23:31.778Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33760/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BallBucketBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33760/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33760/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33760/v1/model.glb\" alt=\"Ball Bucket (Baseball Park and Batting Cages)\" 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/33760/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/33760/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33783","slug":"baseball-park-and-batting-cages-ball-cart-1c6ecfc3","title":"Ball Cart (Baseball Park and Batting Cages)","summary":"A wheeled ball cart: a steel framed mesh basket on two wheels with a push handle, loaded with nine baseballs, the cart that comes out for batting practice.","description":"A wheeled ball cart: a steel framed mesh basket on two wheels with a push handle, loaded with nine baseballs, the cart that comes out for batting practice. Dimensions 0.87 by 1.15 by 1.11 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-left at (-0.40, 0.16, 0.12) m; wheel-right at (0.40, 0.16, 0.12) m. The wheels turn on their own axles; the basket and the balls in it are static. Push it toward negative Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-ball-cart-1c6ecfc3","cdnUrl":"https://cdn.3dassets.dev/assets/33783/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-ball-cart-1c6ecfc3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33783/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33783/v1/poster.webp","blurhash":"UIBptoxv00of~qWBD%t89FD%t7%M9FM_xux]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":209748,"triangles":4360,"vertices":13080,"meshes":8,"materials":4,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.43700133268576025,3.5762786898541066e-9,-0.7450000047683716],"max":[0.43700133268576025,1.1450286085676764,0.3700000047683716]},"sizeMeters":[0.874,1.145,1.115],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:44.164Z","updatedAt":"2026-09-11T04:23:44.266Z","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/33783/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 BallCartBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33783/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/33783/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33783/v1/model.glb\" alt=\"Ball Cart (Baseball Park and Batting Cages)\" 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/33783/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/33783/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33744","slug":"baseball-park-and-batting-cages-bullpen-mound-bc62bc74","title":"Bullpen Mound (Baseball Park and Batting Cages)","summary":"A 3.7 m bullpen mound for the warm up area beside the park, the same clay table and rubber on a smaller footprint.","description":"A 3.7 m bullpen mound for the warm up area beside the park, the same clay table and rubber on a smaller footprint. Dimensions 3.70 by 0.24 by 3.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the centre of the mound on the surrounding ground, so it drops straight onto a tile top. The rubber stands 20 mm proud of the table and the worn landing area 8 mm, so no two faces share a plane. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data. Functional variant of pitchers-mound, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-bullpen-mound-bc62bc74","cdnUrl":"https://cdn.3dassets.dev/assets/33744/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-bullpen-mound-bc62bc74","thumbnailUrl":"https://cdn.3dassets.dev/assets/33744/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33744/v1/poster.webp","blurhash":"UDCZ66xt00WAWBjaodj?00NG~Vj]t7bGWCa$","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7252,"triangles":100,"vertices":300,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.850000023841858,-0.000045777563436918967,-1.850000023841858],"max":[1.850000023841858,0.24499795519680245,1.850000023841858]},"sizeMeters":[3.7,0.245,3.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:23.776Z","updatedAt":"2026-09-11T04:23:23.881Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33744/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BullpenMoundBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33744/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33744/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33744/v1/model.glb\" alt=\"Bullpen Mound (Baseball Park and Batting Cages)\" 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/33744/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/33744/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33762","slug":"baseball-park-and-batting-cages-protective-screen-cc9fc4bf","title":"Protective Screen (Baseball Park and Batting Cages)","summary":"The same 2.2 m screen fully netted with a navy padded base band, the square screen a coach throws behind or a first baseman works behind.","description":"The same 2.2 m screen fully netted with a navy padded base band, the square screen a coach throws behind or a first baseman works behind. Dimensions 2.22 by 2.20 by 1.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A free standing screen on two skids, the netted face toward positive Z. The netting and the padding are solid and nothing moves. Origin at the centre of the skids at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data. Functional variant of l-screen, with its difference modelled rather than animated.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-protective-screen-cc9fc4bf","cdnUrl":"https://cdn.3dassets.dev/assets/33762/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-protective-screen-cc9fc4bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/33762/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33762/v1/poster.webp","blurhash":"U69j[vtn00s$R2-:R;9ZDgROxvWZ%j%NxnI9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19548,"triangles":348,"vertices":1044,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.1100000143051147,0.000027171139401760414,-0.8500717447564553],"max":[1.1100000143051147,2.1999728765443143,0.45007170899366844]},"sizeMeters":[2.22,2.2,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:33.681Z","updatedAt":"2026-09-11T04:23:33.784Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33762/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ProtectiveScreenBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33762/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33762/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33762/v1/model.glb\" alt=\"Protective Screen (Baseball Park and Batting Cages)\" 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/33762/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/33762/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33761","slug":"baseball-park-and-batting-cages-l-screen-b3102029","title":"L Screen (Baseball Park and Batting Cages)","summary":"A 2.2 m L screen: a steel frame on skids, netted across the top and down one side with the pitchers cut out left open and its edges padded in navy.","description":"A 2.2 m L screen: a steel frame on skids, netted across the top and down one side with the pitchers cut out left open and its edges padded in navy. Dimensions 2.22 by 2.20 by 1.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A free standing screen on two skids, the netted face toward positive Z. The netting and the padding are solid and nothing moves. Origin at the centre of the skids at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-l-screen-b3102029","cdnUrl":"https://cdn.3dassets.dev/assets/33761/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-l-screen-b3102029","thumbnailUrl":"https://cdn.3dassets.dev/assets/33761/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33761/v1/poster.webp","blurhash":"U39@hr?w00MuDj?cIp4-8^M_p1M}?F?b_38{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22608,"triangles":420,"vertices":1260,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.1100000143051147,0.000027171139401760414,-0.8500717447564553],"max":[1.1100000143051147,2.1999728765443143,0.45007170899366844]},"sizeMeters":[2.22,2.2,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:31.774Z","updatedAt":"2026-09-11T04:23:31.941Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33761/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LScreenBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33761/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33761/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33761/v1/model.glb\" alt=\"L Screen (Baseball Park and Batting Cages)\" 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/33761/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/33761/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33779","slug":"baseball-park-and-batting-cages-field-rake-ccfa6288","title":"Field Rake (Baseball Park and Batting Cages)","summary":"A 1.2 m drag rake on two wheels with a 1.5 m timber handle: a steel head of thirteen tines and a levelling bar, what the infield clay is smoothed with between innings.","description":"A 1.2 m drag rake on two wheels with a 1.5 m timber handle: a steel head of thirteen tines and a levelling bar, what the infield clay is smoothed with between innings. Dimensions 1.40 by 1.15 by 1.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-left at (-0.66, 0.14, 0.10) m; wheel-right at (0.66, 0.14, 0.10) m. The wheels are the only moving parts and turn about their own axles. Push it toward positive Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-field-rake-ccfa6288","cdnUrl":"https://cdn.3dassets.dev/assets/33779/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-field-rake-ccfa6288","thumbnailUrl":"https://cdn.3dassets.dev/assets/33779/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33779/v1/poster.webp","blurhash":"U58gpc?w01ngVW4oNf~V014n$x-:?w_3-o9a","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18436,"triangles":388,"vertices":1164,"meshes":7,"materials":3,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.699999988079071,-5.9604643443123e-10,-1.0299999713897705],"max":[0.699999988079071,1.1524623407201435,0.3699898539581639]},"sizeMeters":[1.4,1.152,1.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:41.497Z","updatedAt":"2026-09-11T04:23:41.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33779/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 FieldRakeBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33779/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/33779/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33779/v1/model.glb\" alt=\"Field Rake (Baseball Park and Batting Cages)\" 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/33779/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/33779/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33782","slug":"baseball-park-and-batting-cages-chalk-line-marker-f7b517f8","title":"Chalk Line Marker (Baseball Park and Batting Cages)","summary":"A push chalk line marker: a red hopper over a steel gate box and a white line plate, on two wheels with a timber handle, what a foul line is drawn with before a game.","description":"A push chalk line marker: a red hopper over a steel gate box and a white line plate, on two wheels with a timber handle, what a foul line is drawn with before a game. Dimensions 0.66 by 1.02 by 0.77 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-left at (-0.30, 0.15, 0.05) m; wheel-right at (0.30, 0.15, 0.05) m. The wheels turn on their own axles; the gate and the hopper are static. Push it toward positive Z. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-chalk-line-marker-f7b517f8","cdnUrl":"https://cdn.3dassets.dev/assets/33782/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-chalk-line-marker-f7b517f8","thumbnailUrl":"https://cdn.3dassets.dev/assets/33782/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33782/v1/poster.webp","blurhash":"U7BV;K,^00JN~T9a9c~B0{0y,]~B^6-V9]9t","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14004,"triangles":280,"vertices":840,"meshes":9,"materials":5,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.33200469663992593,-5.960464483090178e-9,-0.48501134136706525],"max":[0.33200469663992593,1.024999976158142,0.2800000011920929]},"sizeMeters":[0.664,1.025,0.765],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:41.852Z","updatedAt":"2026-09-11T04:23:41.966Z","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/33782/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 ChalkLineMarkerBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33782/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/33782/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33782/v1/model.glb\" alt=\"Chalk Line Marker (Baseball Park and Batting Cages)\" 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/33782/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/33782/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33781","slug":"baseball-park-and-batting-cages-tarp-roll-fc834cc5","title":"Tarp Roll (Baseball Park and Batting Cages)","summary":"The infield tarp on its roller: a 2.7 m navy roll with a charcoal edge band on a steel axle between two braced A frames, parked down the line until it rains.","description":"The infield tarp on its roller: a 2.7 m navy roll with a charcoal edge band on a steel axle between two braced A frames, parked down the line until it rains. Dimensions 3.50 by 1.44 by 1.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: roll at (0.00, 1.00, 0.00) m. The roll turns on its axle; the tarp itself is modelled rolled and never unrolls, because a rigid node transform cannot deform a mesh. Origin on the footprint centre at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-tarp-roll-fc834cc5","cdnUrl":"https://cdn.3dassets.dev/assets/33781/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-tarp-roll-fc834cc5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33781/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33781/v1/poster.webp","blurhash":"U57e9xtTDN%3Xq?wRODh00IotpVrH;Dg.9%O","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18396,"triangles":324,"vertices":972,"meshes":3,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-1.75,0.00007848025539747283,-0.6999038666951506],"max":[1.75,1.4349214625241435,0.6999038666951506]},"sizeMeters":[3.5,1.435,1.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:41.946Z","updatedAt":"2026-09-11T04:23:42.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/33781/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 TarpRollBaseballParkAndBattingCages(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33781/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/33781/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33781/v1/model.glb\" alt=\"Tarp Roll (Baseball Park and Batting Cages)\" 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/33781/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/33781/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33780","slug":"baseball-park-and-batting-cages-base-anchor-48b47524","title":"Base Anchor (Baseball Park and Batting Cages)","summary":"A base anchor set in its clay collar: a charcoal ground plate, the steel socket a base bag pegs into and a white cover plug, with the spare peg standing beside it.","description":"A base anchor set in its clay collar: a charcoal ground plate, the steel socket a base bag pegs into and a white cover plug, with the spare peg standing beside it. Dimensions 0.64 by 0.24 by 0.56 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Drop it under a base bag or leave the plug in for a field with the bases pulled. Origin at the centre of the collar at ground level. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-base-anchor-48b47524","cdnUrl":"https://cdn.3dassets.dev/assets/33780/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-base-anchor-48b47524","thumbnailUrl":"https://cdn.3dassets.dev/assets/33780/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33780/v1/poster.webp","blurhash":"UCAAH*?G0KIV9GRj%2oy00E2?Ixa~V%2IoWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":8332,"triangles":108,"vertices":324,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2800000011920929,0.000001925635263980152,-0.2800000011920929],"max":[0.35499998927116394,0.24500305368700742,0.2800000011920929]},"sizeMeters":[0.635,0.245,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:41.868Z","updatedAt":"2026-09-11T04:23:41.985Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33780/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaseAnchorBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33780/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33780/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33780/v1/model.glb\" alt=\"Base Anchor (Baseball Park and Batting Cages)\" 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/33780/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/33780/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33765","slug":"baseball-park-and-batting-cages-baseball-a31ca2a5","title":"Baseball (Baseball Park and Batting Cages)","summary":"A regulation baseball, 74 mm across: a white hide sphere with the two raked rings of red stitching that hold its covers together.","description":"A regulation baseball, 74 mm across: a white hide sphere with the two raked rings of red stitching that hold its covers together. Dimensions 0.07 by 0.07 by 0.07 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the contact point under the ball, so it rests on any surface. The stitching is modelled geometry rather than a texture. Baseline low-poly palette: infield clay, outfield green, chalk white, club navy, red, charcoal, steel and ash timber. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/baseball-park-and-batting-cages-baseball-a31ca2a5","cdnUrl":"https://cdn.3dassets.dev/assets/33765/v1/model.glb","downloadUrl":"https://3dassets.dev/download/baseball-park-and-batting-cages-baseball-a31ca2a5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33765/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33765/v1/poster.webp","blurhash":"UFE.*0-p00E1^+oLE1WV00M{~qtR9FWVx]fk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21320,"triangles":408,"vertices":1224,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03700000047683716,0,-0.03700000047683716],"max":[0.03700000047683716,0.07400000095367432,0.03700000047683716]},"sizeMeters":[0.074,0.074,0.074],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T04:23:34.565Z","updatedAt":"2026-09-11T04:23:34.679Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33765/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaseballBaseballParkAndBattingCages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33765/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33765/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33765/v1/model.glb\" alt=\"Baseball (Baseball Park and Batting Cages)\" 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/33765/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/33765/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}