{"data":{"id":"33649","slug":"tennis-club-and-courts-club-courts-and-t-578520e8-starter-scene","title":"Club Courts and Terrace (Tennis Club and Courts)","summary":"A working tennis club built from the kit: a full doubles court of blue surface tiles inside a green surround, with the painted line set over them, the net up between its posts and singles sticks in place. Court fencing rings it, windbreak screens along the back run and a gate...","description":"A working tennis club built from the kit: a full doubles court of blue surface tiles inside a green surround, with the painted line set over them, the net up between its posts and singles sticks in place. Court fencing rings it, windbreak screens along the back run and a gate on the clubhouse side, with the umpire chair, two benches, a pair of players chairs under their parasols, the scoreboard, the speed board and the bags, rackets, towels and bottles of a session down the east tramline. A ball machine feeds the far half beside its hopper and basket, and the roller, the line trolley and the net winder are parked by the gate. West of the court the clubhouse stands assembled from window, door and wall bays between two gable ends under a full pitched roof, with a terrace of tables, parasols, chairs and planters in front of it, and a clay mini court, its net, a coaching whiteboard and the practice wall fill the far corner. Floodlight masts stand at the four corners and bleachers face the court from outside the fence.","status":"published","url":"https://3dassets.dev/assets/tennis-club-and-courts-club-courts-and-t-578520e8-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/33649/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tennis-club-and-courts-club-courts-and-t-578520e8-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/33649/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33649/v1/poster.webp","blurhash":"U6AU20x[00ERQnaeS~of00RQ_4$eqEbt,:ni","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":808644,"triangles":16764,"vertices":38677,"meshes":145,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-24,-0.00017242883348132787,-18.90010672593901],"max":[12.700106725939012,8.192842102050781,18]},"sizeMeters":[36.7,8.193,36.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:21:08.152Z","updatedAt":"2026-09-11T03:21:08.282Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33649/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClubCourtsAndTerraceTennisClubAndCourts(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33649/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33649/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33649/v1/model.glb\" alt=\"Club Courts and Terrace (Tennis Club and Courts)\" 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/33649/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/33649/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}