{"data":{"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);"}}}