{"data":{"id":"33606","slug":"tennis-club-and-courts-court-line-markings-d174ea58","title":"Court Line Markings (Tennis Club and Courts)","summary":"The full painted line set for one doubles court, 10.97 by 23.77 m on a 6 mm court blue base pad: baselines, tramlines, singles sidelines, both service lines, the centre service line and the baseline centre marks.","description":"The full painted line set for one doubles court, 10.97 by 23.77 m on a 6 mm court blue base pad: baselines, tramlines, singles sidelines, both service lines, the centre service line and the baseline centre marks. Dimensions 10.97 by 0.02 by 23.77 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A single 18 mm thick piece laid over the surface tiles, origin at the centre of the court on the net line. The base pad is the court colour so the marked area reads on its own; lines are modelled as raised strips rather than painted into a texture, so the court reads the same in any renderer. Baseline low-poly palette: court blue, surround green, clay terracotta, white, charcoal, steel, timber and ball yellow. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tennis-club-and-courts-court-line-markings-d174ea58","cdnUrl":"https://cdn.3dassets.dev/assets/33606/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tennis-club-and-courts-court-line-markings-d174ea58","thumbnailUrl":"https://cdn.3dassets.dev/assets/33606/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33606/v1/poster.webp","blurhash":"UA8r8+t8D4oMtRMwV@tl00RPyYbGR5.Ao#Mv","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":8692,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-5.484575593155377,0.00009830008921815929,-11.885000228881836],"max":[5.484575593155377,0.017803399512364586,11.885000228881836]},"sizeMeters":[10.969,0.018,23.77],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T03:20:44.375Z","updatedAt":"2026-09-11T03:20:44.482Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33606/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourtLineMarkingsTennisClubAndCourts(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33606/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33606/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33606/v1/model.glb\" alt=\"Court Line Markings (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/33606/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/33606/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}