{"data":{"id":275,"slug":"laser-tag-arena-and-activity-centre","title":"Laser Tag Arena and Activity Centre","summary":"Realistic laser tag models: ported wall, shooting port, mirror, barricade, corner and doorway modules, floor tiles, platform, ramp, tunnel, target pods, base stations, vests and phasers with charging racks, and a front of house of reception, lockers, party room and prize counter.","description":"A modern realistic indoor laser tag centre for building the whole building: the arena, the kit it is played with, and the front of house a family arrives into. Eight modular systems make the place itself: a 2 m arena floor tile in two markings, a 2 by 2.4 m wall module with a 300 mm corner post it turns through, a shooting port panel and a mirror panel and a low barricade and a doorway module that all sit on the same run, a 2 by 2 m raised platform deck with its 2.4 m ramp, a 2 m tunnel section, a 2 m glow stripe in three colours and a 2 m ceiling truss bay with its par bars. The arena furniture is modelled as arena furniture: pillars with padded collars, braced crate stacks, six faced target pods on tripods, base stations with reader screens and beacon domes, and respawn pads marked with a ring and chevrons. The kit is a moulded vest with shoulder, chest and back sensors, a phaser with a real grip, trigger, guard, shroud and emitter ring in two team colours, a four vest charging rack, a three phaser dock, a briefing screen on a stand, a scoreboard with team panels and a marshal headset. Front of house is a reception desk with a booking terminal and card reader, twelve lockers, benches, queue marking, a laid party room table with four coloured chairs, a glazed vending machine, an arcade cabinet, a prize counter under a glass cap with its shelving, an air hockey table, table football, a soft play corner, a party sign, bins, a cleaning trolley, exit signs and a smoke machine. An arena is a dark room, so none of the colour here comes from the lighting: every model carries real material contrast and reads under plain light. The arena doorway leaf, the vending machine front, the prize counter drawer, the target pod head, the briefing screen head, the scoreboard flap and the trolley castors are named nodes on their own pivots with rigid open, close, spin, tilt and roll clips: node transforms only, no skinning. Light beams, smoke plumes, charging leads, headset cables, vest straps and phaser tethers stay absent, because a beam is a volumetric effect and a flexible run is not reachable with a rigid node transform. Every file is self contained CC0 geometry with no collision or navigation data.","url":"https://3dassets.dev/packs/laser-tag-arena-and-activity-centre","coverUrl":"https://cdn.3dassets.dev/assets/34513/v1/poster.webp","assetCount":46,"aiGenerated":true,"aiGeneratedAssetCount":46,"aiModels":["Claude Opus 5"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":4881692,"totalTriangles":117312,"starterScene":{"id":"34513","slug":"laser-tag-arena-and-activity-centre-lase-635247a0-starter-scene","title":"Laser Tag Centre (Laser Tag Arena and Activity Centre)","summary":"A working laser tag centre laid out from the pack's own kit on its own floor: a 14 by 12 m building of 2 m floor tiles, lime marked inside the arena and teal outside it. The arena is a closed 10.3 by 8.3 m bay of wall modules on corner posts, with shooting port panels, mirror...","description":"A working laser tag centre laid out from the pack's own kit on its own floor: a 14 by 12 m building of 2 m floor tiles, lime marked inside the arena and teal outside it. The arena is a closed 10.3 by 8.3 m bay of wall modules on corner posts, with shooting port panels, mirror panels, low barricades along the front so the play reads from outside, and the doorway module a session goes in through. Inside it, a maze: two interior wall runs, four barricades, three pillars, three crate stacks, a two section tunnel, and a raised platform with its ramp, rail and kick band. Target pods stand where the sight lines cross, a base station and its respawn pads hold each end, and glow stripe runs chase along the back and side walls. Beyond the front wall is the rest of the building: reception with its terminal and a phaser dock on the counter, lockers, benches, the queue marking, the briefing screen, two vest charging racks and the scoreboard on the arena wall, a party room of two laid tables, and the amusements down the right hand side, arcade cabinets, vending machines, table football, air hockey, a soft play corner and the prize counter, with the truss, signage, bins, the cleaning trolley and the smoke machine that finish a building off.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-lase-635247a0-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/34513/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-lase-635247a0-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/34513/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34513/v1/poster.webp","blurhash":"U6A^OO-q00oz8{s:x[NG00E0%3WB~qWUess:","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":2351176,"triangles":57720,"vertices":123948,"meshes":194,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-9.163035586815118,-0.05994866094764098,-9.030034798254743],"max":[4.996999979019165,3.9020094162460017,3.075000047683716]},"sizeMeters":[14.16,3.962,12.105],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:29.292Z","updatedAt":"2026-09-11T08:51:29.389Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34513/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaserTagCentreLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34513/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34513/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34513/v1/model.glb\" alt=\"Laser Tag Centre (Laser Tag Arena and Activity Centre)\" 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/34513/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/34513/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"34468","slug":"laser-tag-arena-and-activity-centre-arena-floor-tile-89a9854d","title":"Arena Floor Tile (Laser Tag Arena and Activity Centre)","summary":"A 2 m square arena floor tile 60 mm deep: a grey resin screed in a shallow tray, marked with a lime border line, a centre bar and a chevron in each corner, ported on all four edges so a whole arena floor is laid from repeats of one model.","description":"A 2 m square arena floor tile 60 mm deep: a grey resin screed in a shallow tray, marked with a lime border line, a centre bar and a chevron in each corner, ported on all four edges so a whole arena floor is laid from repeats of one model. The markings are painted geometry standing 4 mm proud of the screed, so they read under plain light as well as under ultraviolet. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-floor-tile-89a9854d","cdnUrl":"https://cdn.3dassets.dev/assets/34468/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-floor-tile-89a9854d","thumbnailUrl":"https://cdn.3dassets.dev/assets/34468/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34468/v1/poster.webp","blurhash":"U5BgG3-:00ox.6ayR7j[00IU~qRQ4WoytjWB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":24392,"triangles":528,"vertices":1200,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.996999979019165,0.000059877275098603466,-0.996999979019165],"max":[0.996999979019165,0.06399081467231058,0.996999979019165]},"sizeMeters":[1.994,0.064,1.994],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:04.680Z","updatedAt":"2026-09-11T08:51:04.833Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34468/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaFloorTileLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34468/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34468/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34468/v1/model.glb\" alt=\"Arena Floor Tile (Laser Tag Arena and Activity Centre)\" 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/34468/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/34468/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34470","slug":"laser-tag-arena-and-activity-centre-arena-floor-tile-t-3de93517","title":"Arena Floor Tile, Teal (Laser Tag Arena and Activity Centre)","summary":"The arena floor tile with teal marking instead of lime, for the opposing half of an arena or for the front of house floor, so a large floor does not read as one repeated model.","description":"The arena floor tile with teal marking instead of lime, for the opposing half of an arena or for the front of house floor, so a large floor does not read as one repeated model. Identical geometry to the lime tile; only the marking material differs. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-floor-tile-t-3de93517","cdnUrl":"https://cdn.3dassets.dev/assets/34470/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-floor-tile-t-3de93517","thumbnailUrl":"https://cdn.3dassets.dev/assets/34470/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34470/v1/poster.webp","blurhash":"U6A-3X%f00oeyDayVsj[00IU_NRjHrofb^WB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":24424,"triangles":528,"vertices":1200,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.996999979019165,0.000059877275098603466,-0.996999979019165],"max":[0.996999979019165,0.06399081467231058,0.996999979019165]},"sizeMeters":[1.994,0.064,1.994],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:04.725Z","updatedAt":"2026-09-11T08:51:04.852Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34470/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaFloorTileTealLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34470/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34470/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34470/v1/model.glb\" alt=\"Arena Floor Tile, Teal (Laser Tag Arena and Activity Centre)\" 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/34470/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/34470/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34471","slug":"laser-tag-arena-and-activity-centre-arena-wall-panel-m-e8e2a597","title":"Arena Wall Panel Module (Laser Tag Arena and Activity Centre)","summary":"A 2 by 2.4 m arena wall module: a dark composite panel between two brushed stiles on a steel base rail with levelling feet, capped at the head, and carrying three raked magenta chevrons on the play side. Ported at both ends so a maze is built by repeating one model.","description":"A 2 by 2.4 m arena wall module: a dark composite panel between two brushed stiles on a steel base rail with levelling feet, capped at the head, and carrying three raked magenta chevrons on the play side. Ported at both ends so a maze is built by repeating one model. The ports sit at base rail height, which is what lets a low barricade or a doorway drop into the middle of a wall run. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-wall-panel-m-e8e2a597","cdnUrl":"https://cdn.3dassets.dev/assets/34471/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-wall-panel-m-e8e2a597","thumbnailUrl":"https://cdn.3dassets.dev/assets/34471/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34471/v1/poster.webp","blurhash":"U6Bp6E-X005h%g%MM_9s2POS{p+$%NtkInQn","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":30024,"triangles":640,"vertices":1409,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0309979915618896,0.00004150338474800952,-0.10498367259743034],"max":[1.001169881560337,2.4000000953674316,0.10498367259743034]},"sizeMeters":[2.032,2.4,0.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:04.790Z","updatedAt":"2026-09-11T08:51:04.901Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34471/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaWallPanelModuleLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34471/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34471/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34471/v1/model.glb\" alt=\"Arena Wall Panel Module (Laser Tag Arena and Activity Centre)\" 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/34471/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/34471/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34469","slug":"laser-tag-arena-and-activity-centre-arena-wall-panel-w-0ddfbbeb","title":"Arena Wall Panel with Shooting Port (Laser Tag Arena and Activity Centre)","summary":"The arena wall module with a 600 by 400 mm shooting port cut through it at chest height, lined in brushed steel and edged top and bottom in amber, so a maze has somewhere to shoot from as well as somewhere to hide behind.","description":"The arena wall module with a 600 by 400 mm shooting port cut through it at chest height, lined in brushed steel and edged top and bottom in amber, so a maze has somewhere to shoot from as well as somewhere to hide behind. The aperture is a real hole through the panel, not a decal, so a shot and a sight line both pass through it. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-wall-panel-w-0ddfbbeb","cdnUrl":"https://cdn.3dassets.dev/assets/34469/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-wall-panel-w-0ddfbbeb","thumbnailUrl":"https://cdn.3dassets.dev/assets/34469/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34469/v1/poster.webp","blurhash":"U8Byp:-W009?Tcxuv%IU1rOS;A+$}v%35$D%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":54556,"triangles":1216,"vertices":2665,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.0309979915618896,0.00004150338474800952,-0.10498367259743034],"max":[1.001169881560337,2.4000000953674316,0.10498367259743034]},"sizeMeters":[2.032,2.4,0.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:04.754Z","updatedAt":"2026-09-11T08:51:04.867Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34469/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaWallPanelWithShootingPortLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34469/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34469/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34469/v1/model.glb\" alt=\"Arena Wall Panel with Shooting Port (Laser Tag Arena and Activity Centre)\" 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/34469/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/34469/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34475","slug":"laser-tag-arena-and-activity-centre-arena-corner-modul-80a412a0","title":"Arena Corner Post Module (Laser Tag Arena and Activity Centre)","summary":"The 300 mm square corner post an arena wall run turns a right angle through: a dark column 2.4 m tall on a spreader plate, capped at the head, with a cyan stripe up all four faces. Ports on two adjacent faces at base rail height.","description":"The 300 mm square corner post an arena wall run turns a right angle through: a dark column 2.4 m tall on a spreader plate, capped at the head, with a cyan stripe up all four faces. Ports on two adjacent faces at base rail height. Rotate it by a quarter turn for each of the four corners of a bay; the two ports are on the +X and +Z faces at rest. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-corner-modul-80a412a0","cdnUrl":"https://cdn.3dassets.dev/assets/34475/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-corner-modul-80a412a0","thumbnailUrl":"https://cdn.3dassets.dev/assets/34475/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34475/v1/poster.webp","blurhash":"U45i4sx]008_%#j]MdWBhfV@dBtRvgjZTdbI","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":20672,"triangles":448,"vertices":999,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.1800347982547425,0,-0.1800347982547425],"max":[0.1800347982547425,2.4000000953674316,0.1800347982547425]},"sizeMeters":[0.36,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:06.720Z","updatedAt":"2026-09-11T08:51:06.839Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34475/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaCornerPostModuleLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34475/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34475/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34475/v1/model.glb\" alt=\"Arena Corner Post Module (Laser Tag Arena and Activity Centre)\" 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/34475/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/34475/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34473","slug":"laser-tag-arena-and-activity-centre-arena-mirror-panel-134a28ad","title":"Arena Mirror Panel Module (Laser Tag Arena and Activity Centre)","summary":"The arena wall module faced with a full height polished panel in a cyan bead frame: the piece that makes a maze corner unreadable, because a player sees a reflection where a route should be.","description":"The arena wall module faced with a full height polished panel in a cyan bead frame: the piece that makes a maze corner unreadable, because a player sees a reflection where a route should be. The mirror is a polished pale material, not a reflection probe: a consumer that wants a true mirror puts its own reflective material on that part. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-mirror-panel-134a28ad","cdnUrl":"https://cdn.3dassets.dev/assets/34473/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-mirror-panel-134a28ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/34473/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34473/v1/poster.webp","blurhash":"UDDcgs%g009FxuxuWBIA00Rj~qxuxuogRjWA","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":36280,"triangles":768,"vertices":1729,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.001169881560337,0.00004150338474800952,-0.10498367259743034],"max":[1.001169881560337,2.4000000953674316,0.10498367259743034]},"sizeMeters":[2.002,2.4,0.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:06.523Z","updatedAt":"2026-09-11T08:51:06.705Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34473/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaMirrorPanelModuleLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34473/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34473/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34473/v1/model.glb\" alt=\"Arena Mirror Panel Module (Laser Tag Arena and Activity Centre)\" 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/34473/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/34473/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34472","slug":"laser-tag-arena-and-activity-centre-arena-barricade-lo-61bdf5a9","title":"Low Arena Barricade (Laser Tag Arena and Activity Centre)","summary":"A 2 m barricade 1.1 m high: a raked dark face on a wide foot with a brushed capping rail and end posts, and five amber hazard flashes across it. Ported on the same run as the wall modules, so it drops into a wall line or stands as free cover.","description":"A 2 m barricade 1.1 m high: a raked dark face on a wide foot with a brushed capping rail and end posts, and five amber hazard flashes across it. Ported on the same run as the wall modules, so it drops into a wall line or stands as free cover. Low enough to shoot over standing and to hide behind crouched, which is what makes an arena play rather than funnel. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-barricade-lo-61bdf5a9","cdnUrl":"https://cdn.3dassets.dev/assets/34472/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-barricade-lo-61bdf5a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/34472/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34472/v1/poster.webp","blurhash":"U7BN4t-=4mxu~q_3WEIU4m-;t7M{of?cxuIT","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":28840,"triangles":648,"vertices":1385,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.0000020027520815091293,-0.22995575494382345],"max":[1,1.13000199798371,0.22995575494382345]},"sizeMeters":[2,1.13,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:07.534Z","updatedAt":"2026-09-11T08:51:07.635Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34472/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowArenaBarricadeLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34472/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34472/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34472/v1/model.glb\" alt=\"Low Arena Barricade (Laser Tag Arena and Activity Centre)\" 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/34472/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/34472/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34474","slug":"laser-tag-arena-and-activity-centre-arena-doorway-modu-0bd556cc","title":"Arena Doorway Module (Laser Tag Arena and Activity Centre)","summary":"A 2 by 2.4 m arena wall module with a 1 m doorway through it: a dark leaf in a brushed steel lining with a lime vision slot and a full height push bar, on an amber threshold, ported like every other module so a door drops into any run.","description":"A 2 by 2.4 m arena wall module with a 1 m doorway through it: a dark leaf in a brushed steel lining with a lime vision slot and a full height push bar, on an amber threshold, ported like every other module so a door drops into any run. The leaf is a named node hinged on its own jamb with open and close clips; the lining, the threshold and the panel around it stay put. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: door, door/lime, door/metal. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-doorway-modu-0bd556cc","cdnUrl":"https://cdn.3dassets.dev/assets/34474/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-doorway-modu-0bd556cc","thumbnailUrl":"https://cdn.3dassets.dev/assets/34474/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34474/v1/poster.webp","blurhash":"U39tP[bF00RQ?d%NI89EV=t7R+Ri_3-=D$4T","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":53640,"triangles":1128,"vertices":2515,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.001169881560337,-0.000011903539738355312,-0.10498367259743034],"max":[1.001169881560337,2.4000000953674316,0.10903263121871266]},"sizeMeters":[2.002,2.4,0.214],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:06.585Z","updatedAt":"2026-09-11T08:51:06.752Z","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/34474/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 ArenaDoorwayModuleLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34474/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/34474/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34474/v1/model.glb\" alt=\"Arena Doorway Module (Laser Tag Arena and Activity Centre)\" 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/34474/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/34474/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34476","slug":"laser-tag-arena-and-activity-centre-raised-platform-de-a795b789","title":"Raised Platform Deck with Rail (Laser Tag Arena and Activity Centre)","summary":"A 2 by 2 m raised platform at 900 mm: a pale deck on a boxed dark frame with a brushed rail round three sides, a cyan kick band under the deck edge and the fourth side left open for the ramp. Ported on all four deck edges.","description":"A 2 by 2 m raised platform at 900 mm: a pale deck on a boxed dark frame with a brushed rail round three sides, a cyan kick band under the deck edge and the fourth side left open for the ramp. Ported on all four deck edges. Decks port to each other as well as to the ramp, so two of them make a 2 by 4 m gantry over the maze. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-raised-platform-de-a795b789","cdnUrl":"https://cdn.3dassets.dev/assets/34476/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-raised-platform-de-a795b789","thumbnailUrl":"https://cdn.3dassets.dev/assets/34476/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34476/v1/poster.webp","blurhash":"U9D,J[-;00ae_2a#E1j?00M{~qoJOst7i{j[","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":65708,"triangles":1488,"vertices":3325,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00004211926742581085,-1],"max":[1,1.924789375196455,1]},"sizeMeters":[2,1.925,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:09.352Z","updatedAt":"2026-09-11T08:51:09.464Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34476/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RaisedPlatformDeckWithRailLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34476/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34476/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34476/v1/model.glb\" alt=\"Raised Platform Deck with Rail (Laser Tag Arena and Activity Centre)\" 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/34476/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/34476/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34477","slug":"laser-tag-arena-and-activity-centre-arena-ramp-65dc7cae","title":"Arena Ramp to Platform (Laser Tag Arena and Activity Centre)","summary":"A 2.4 m ramp up to platform height: a pale checker deck on a boxed dark frame with seven amber grip strips across it and an amber kerb each side, rising 900 mm at a walkable pitch. The high end carries a platform port so it lands square on a deck edge.","description":"A 2.4 m ramp up to platform height: a pale checker deck on a boxed dark frame with seven amber grip strips across it and an amber kerb each side, rising 900 mm at a walkable pitch. The high end carries a platform port so it lands square on a deck edge. The ramp runs along Z with its high end toward -Z; rotate it to bring a platform in from any side. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-ramp-65dc7cae","cdnUrl":"https://cdn.3dassets.dev/assets/34477/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-ramp-65dc7cae","thumbnailUrl":"https://cdn.3dassets.dev/assets/34477/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34477/v1/poster.webp","blurhash":"UDG8}*-.00M}-.9FIV.800D+_3ogIW~qxuD$","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":29328,"triangles":650,"vertices":1413,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9912240138680956,-0.000020172019376929473,-1.2000000476837158],"max":[0.9912240138680956,0.9627549237850965,1.2313833236694336]},"sizeMeters":[1.982,0.963,2.431],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:08.424Z","updatedAt":"2026-09-11T08:51:08.528Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34477/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaRampToPlatformLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34477/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34477/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34477/v1/model.glb\" alt=\"Arena Ramp to Platform (Laser Tag Arena and Activity Centre)\" 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/34477/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/34477/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34478","slug":"laser-tag-arena-and-activity-centre-arena-tunnel-secti-a5e15507","title":"Arena Tunnel Section (Laser Tag Arena and Activity Centre)","summary":"A 2 m tunnel section 1.5 m wide and 1.7 m tall: a flat sided arch in dark composite with brushed end ribs and floor rails, and a lime stripe along the inside so a player can find the exit in the dark. Ported at both open ends so sections chain into a crawl.","description":"A 2 m tunnel section 1.5 m wide and 1.7 m tall: a flat sided arch in dark composite with brushed end ribs and floor rails, and a lime stripe along the inside so a player can find the exit in the dark. Ported at both open ends so sections chain into a crawl. Modelled with the bore running along Z; the walls are 100 mm thick, so a section is a real box a player passes through rather than a shell. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-tunnel-secti-a5e15507","cdnUrl":"https://cdn.3dassets.dev/assets/34478/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-tunnel-secti-a5e15507","thumbnailUrl":"https://cdn.3dassets.dev/assets/34478/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34478/v1/poster.webp","blurhash":"U69%;qRi4m%N~qITD%xv4mMxD%xuM{WBt7%M","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":22080,"triangles":452,"vertices":1037,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7875611247529436,-0.000037438007176260335,-1],"max":[0.7875611247529436,1.759537464710057,1]},"sizeMeters":[1.575,1.76,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:08.573Z","updatedAt":"2026-09-11T08:51:08.677Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34478/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaTunnelSectionLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34478/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34478/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34478/v1/model.glb\" alt=\"Arena Tunnel Section (Laser Tag Arena and Activity Centre)\" 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/34478/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/34478/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34479","slug":"laser-tag-arena-and-activity-centre-target-pod-on-stan-6d1db8ad","title":"Target Pod on Stand (Laser Tag Arena and Activity Centre)","summary":"A free standing target pod: a three legged foot, a 1 m column and a six faced magenta head banded in lime with a domed sensor on every face, so a pod is shootable from any approach.","description":"A free standing target pod: a three legged foot, a 1 m column and a six faced magenta head banded in lime with a domed sensor on every face, so a pod is shootable from any approach. The head is a named node with a spin clip on the column axis; the stand and the column stay put. No light is emitted: the sensor domes are pale mouldings that read under plain light. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: pod, pod/lime, pod/pale. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-target-pod-on-stan-6d1db8ad","cdnUrl":"https://cdn.3dassets.dev/assets/34479/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-target-pod-on-stan-6d1db8ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/34479/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34479/v1/poster.webp","blurhash":"U69?:??H000J|5r@1YOT=zoJFYkDI.baxGi{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":41576,"triangles":952,"vertices":1935,"meshes":5,"materials":5,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.21200125617586696,0.000015787399194971963,-0.3343930244445801],"max":[0.3820012579640063,1.3499934482455134,0.3343930244445801]},"sizeMeters":[0.594,1.35,0.669],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:09.379Z","updatedAt":"2026-09-11T08:51:09.500Z","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/34479/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 TargetPodOnStandLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34479/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/34479/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34479/v1/model.glb\" alt=\"Target Pod on Stand (Laser Tag Arena and Activity Centre)\" 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/34479/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/34479/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34480","slug":"laser-tag-arena-and-activity-centre-base-station-2fae829e","title":"Team Base Station (Laser Tag Arena and Activity Centre)","summary":"A 1.5 m team base station: a ribbed dark tower on a spreader plinth with cyan score bands, a raked reader screen at chest height and an amber beacon dome on top, for the end of an arena a team defends and tags back in at.","description":"A 1.5 m team base station: a ribbed dark tower on a spreader plinth with cyan score bands, a raked reader screen at chest height and an amber beacon dome on top, for the end of an arena a team defends and tags back in at. The beacon is a solid amber moulding, not a light source: put a point light inside it if the scene needs one. Nothing here moves. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-base-station-2fae829e","cdnUrl":"https://cdn.3dassets.dev/assets/34480/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-base-station-2fae829e","thumbnailUrl":"https://cdn.3dassets.dev/assets/34480/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34480/v1/poster.webp","blurhash":"U48OC-#;00Bn]yWU15nmL#T0YkvfL2ni#6b^","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":42548,"triangles":948,"vertices":2025,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3600421023368108,0,-0.2999557371589485],"max":[0.3600421023368108,1.5800000429153442,0.2999557371589485]},"sizeMeters":[0.72,1.58,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:11.216Z","updatedAt":"2026-09-11T08:51:11.320Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34480/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeamBaseStationLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34480/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34480/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34480/v1/model.glb\" alt=\"Team Base Station (Laser Tag Arena and Activity Centre)\" 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/34480/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/34480/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34481","slug":"laser-tag-arena-and-activity-centre-respawn-pad-tile-69943ffd","title":"Respawn Pad Marking Tile (Laser Tag Arena and Activity Centre)","summary":"A 1 m square respawn pad: a thin dark plate laid over the arena floor with a cyan ring and four chevrons pointing into the middle of it, so a tagged player knows where to stand out the count.","description":"A 1 m square respawn pad: a thin dark plate laid over the arena floor with a cyan ring and four chevrons pointing into the middle of it, so a tagged player knows where to stand out the count. Only 16 mm thick, so it lies on a floor tile without a step; no ports, because it is a marking rather than a module. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-respawn-pad-tile-69943ffd","cdnUrl":"https://cdn.3dassets.dev/assets/34481/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-respawn-pad-tile-69943ffd","thumbnailUrl":"https://cdn.3dassets.dev/assets/34481/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34481/v1/poster.webp","blurhash":"U67-+zxu00adx]fkRQf800Rj?^a}IAjZtQax","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":22224,"triangles":504,"vertices":1076,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.000004150897268346068,-0.5],"max":[0.5,0.026216009950696915,0.5]},"sizeMeters":[1,0.026,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:10.426Z","updatedAt":"2026-09-11T08:51:10.528Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34481/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RespawnPadMarkingTileLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34481/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34481/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34481/v1/model.glb\" alt=\"Respawn Pad Marking Tile (Laser Tag Arena and Activity Centre)\" 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/34481/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/34481/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34482","slug":"laser-tag-arena-and-activity-centre-glow-stripe-trim-9a5469c6","title":"Glow Stripe Trim, Magenta (Laser Tag Arena and Activity Centre)","summary":"A 2 m glow stripe: a brushed aluminium channel 80 mm deep with a magenta diffuser lens in it and a fixing lug at each end, ported end to end so a run chases along an arena wall or round a doorway.","description":"A 2 m glow stripe: a brushed aluminium channel 80 mm deep with a magenta diffuser lens in it and a fixing lug at each end, ported end to end so a run chases along an arena wall or round a doorway. Modelled resting on y=0 so a run can be checked on the ground; lift the run to the height the wall needs. The lens is a coloured moulding, not an emitter: put an emissive material or a strip light on it if the scene wants it lit. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-glow-stripe-trim-9a5469c6","cdnUrl":"https://cdn.3dassets.dev/assets/34482/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-glow-stripe-trim-9a5469c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/34482/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34482/v1/poster.webp","blurhash":"U59ZKGs+56s,tQ}^o0Io00bw~DR-My00S~^l","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":12608,"triangles":256,"vertices":568,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.0000553913927221622,-0.034991699052966854],"max":[1,0.11005539079667571,0.009020996083046056]},"sizeMeters":[2,0.11,0.044],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:12.165Z","updatedAt":"2026-09-11T08:51:12.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34482/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlowStripeTrimMagentaLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34482/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34482/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34482/v1/model.glb\" alt=\"Glow Stripe Trim, Magenta (Laser Tag Arena and Activity Centre)\" 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/34482/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/34482/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34483","slug":"laser-tag-arena-and-activity-centre-glow-stripe-trim-c-b6421df2","title":"Glow Stripe Trim, Cyan (Laser Tag Arena and Activity Centre)","summary":"The 2 m glow stripe with a cyan lens, for the opposing team colour or for alternating a run so a long wall does not read as one length repeated.","description":"The 2 m glow stripe with a cyan lens, for the opposing team colour or for alternating a run so a long wall does not read as one length repeated. Identical geometry to the magenta length; only the lens material differs. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-glow-stripe-trim-c-b6421df2","cdnUrl":"https://cdn.3dassets.dev/assets/34483/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-glow-stripe-trim-c-b6421df2","thumbnailUrl":"https://cdn.3dassets.dev/assets/34483/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34483/v1/poster.webp","blurhash":"U56+9Hs;Diofxb.TkCMx00s;?wWBIn00r^.S","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":12628,"triangles":256,"vertices":568,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.0000553913927221622,-0.034991699052966854],"max":[1,0.11005539079667571,0.009020996083046056]},"sizeMeters":[2,0.11,0.044],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:11.156Z","updatedAt":"2026-09-11T08:51:11.257Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34483/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlowStripeTrimCyanLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34483/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34483/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34483/v1/model.glb\" alt=\"Glow Stripe Trim, Cyan (Laser Tag Arena and Activity Centre)\" 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/34483/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/34483/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34484","slug":"laser-tag-arena-and-activity-centre-glow-stripe-trim-l-b16a5a76","title":"Glow Stripe Trim, Lime (Laser Tag Arena and Activity Centre)","summary":"The 2 m glow stripe with a lime lens, which is the colour an arena usually reserves for its route and exit marking.","description":"The 2 m glow stripe with a lime lens, which is the colour an arena usually reserves for its route and exit marking. Identical geometry to the magenta length; only the lens material differs. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-glow-stripe-trim-l-b16a5a76","cdnUrl":"https://cdn.3dassets.dev/assets/34484/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-glow-stripe-trim-l-b16a5a76","thumbnailUrl":"https://cdn.3dassets.dev/assets/34484/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34484/v1/poster.webp","blurhash":"U58g]Dbq9GowtR_Lk9IV00sr_LV]R600je_2","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":12628,"triangles":256,"vertices":568,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.0000553913927221622,-0.034991699052966854],"max":[1,0.11005539079667571,0.009020996083046056]},"sizeMeters":[2,0.11,0.044],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:12.196Z","updatedAt":"2026-09-11T08:51:12.306Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34484/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlowStripeTrimLimeLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34484/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34484/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34484/v1/model.glb\" alt=\"Glow Stripe Trim, Lime (Laser Tag Arena and Activity Centre)\" 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/34484/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/34484/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34485","slug":"laser-tag-arena-and-activity-centre-arena-pillar-7e77b1ae","title":"Arena Pillar (Laser Tag Arena and Activity Centre)","summary":"A 450 mm square arena pillar 2.6 m tall on a spreader plate, with a padded grey collar to waist height, a cyan stripe up all four faces and a capping plate. Free standing cover for the middle of a bay, where a wall run would close a route off.","description":"A 450 mm square arena pillar 2.6 m tall on a spreader plate, with a padded grey collar to waist height, a cyan stripe up all four faces and a capping plate. Free standing cover for the middle of a bay, where a wall run would close a route off. No ports: a pillar is placed where a sight line needs breaking, not on the wall grid. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arena-pillar-7e77b1ae","cdnUrl":"https://cdn.3dassets.dev/assets/34485/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arena-pillar-7e77b1ae","thumbnailUrl":"https://cdn.3dassets.dev/assets/34485/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34485/v1/poster.webp","blurhash":"U47_NI-;0000%#ofIARk}@e:5Rbu_3of9FRi","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":26468,"triangles":584,"vertices":1261,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.29993590012851673,0,-0.29993590012851673],"max":[0.29993590012851673,2.640000104904175,0.29993590012851673]},"sizeMeters":[0.6,2.64,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:13.055Z","updatedAt":"2026-09-11T08:51:13.164Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34485/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaPillarLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34485/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34485/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34485/v1/model.glb\" alt=\"Arena Pillar (Laser Tag Arena and Activity Centre)\" 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/34485/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/34485/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34486","slug":"laser-tag-arena-and-activity-centre-crate-stack-barric-3fe98318","title":"Crate Stack Barricade (Laser Tag Arena and Activity Centre)","summary":"Three braced plywood crates stacked as cover, 1.3 m across and 1.1 m tall: two on the floor set at an angle to each other with a third across them, banded in grey steel and stencilled in amber.","description":"Three braced plywood crates stacked as cover, 1.3 m across and 1.1 m tall: two on the floor set at an angle to each other with a third across them, banded in grey steel and stencilled in amber. One placement is a whole piece of cover. The crates are one solid: nothing here is rigged, and nothing opens. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-crate-stack-barric-3fe98318","cdnUrl":"https://cdn.3dassets.dev/assets/34486/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-crate-stack-barric-3fe98318","thumbnailUrl":"https://cdn.3dassets.dev/assets/34486/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34486/v1/poster.webp","blurhash":"UCGujz~p00D*R.?GM|9G00E2odWA_1oMRiR*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":44736,"triangles":1024,"vertices":2225,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6370000243186951,-0.00003436188671335216,-0.3570905064690279],"max":[0.7222207188606262,1.1320343074150423,0.3619479273903536]},"sizeMeters":[1.359,1.132,0.719],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:14.105Z","updatedAt":"2026-09-11T08:51:14.211Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34486/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CrateStackBarricadeLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34486/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34486/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34486/v1/model.glb\" alt=\"Crate Stack Barricade (Laser Tag Arena and Activity Centre)\" 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/34486/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/34486/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34488","slug":"laser-tag-arena-and-activity-centre-laser-tag-vest-c4f293a6","title":"Laser Tag Vest with Shoulder Sensors (Laser Tag Arena and Activity Centre)","summary":"A laser tag vest as a rigid moulded shell: a curved chest plate and back plate joined over the shoulders in team cyan, with domed sensors on both shoulders, the chest and the back, and a dark harness trim down each flank.","description":"A laser tag vest as a rigid moulded shell: a curved chest plate and back plate joined over the shoulders in team cyan, with domed sensors on both shoulders, the chest and the back, and a dark harness trim down each flank. Stands on its own lower edge, so it can be laid out on a bench or hung on a rack without a support. The webbing straps and the phaser tether are deliberately not modelled: both are flexible runs, and a frozen one is wrong in every pose but the one it was frozen in. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-laser-tag-vest-c4f293a6","cdnUrl":"https://cdn.3dassets.dev/assets/34488/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-laser-tag-vest-c4f293a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/34488/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34488/v1/poster.webp","blurhash":"U7ALzz?c009F~q%gE1I900cC.mZ#H=slyDNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":34460,"triangles":804,"vertices":1671,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2099944395887574,0,-0.13199125805517087],"max":[0.2099944395887574,0.4844087905183384,0.14400425376044543]},"sizeMeters":[0.42,0.484,0.276],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:15.147Z","updatedAt":"2026-09-11T08:51:15.271Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34488/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaserTagVestWithShoulderSensorsLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34488/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34488/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34488/v1/model.glb\" alt=\"Laser Tag Vest with Shoulder Sensors (Laser Tag Arena and Activity Centre)\" 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/34488/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/34488/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34487","slug":"laser-tag-arena-and-activity-centre-referee-vest-on-ha-2592794b","title":"Marshal Vest on a Hanger (Laser Tag Arena and Activity Centre)","summary":"A marshal vest hung ready on a stand: the same moulded shell in high visibility amber with a dark name panel front and back, on a wire hanger over a weighted chrome garment stand 1.65 m tall.","description":"A marshal vest hung ready on a stand: the same moulded shell in high visibility amber with a dark name panel front and back, on a wire hanger over a weighted chrome garment stand 1.65 m tall. One placement is the stand, the hanger and the vest together. Nothing on it is rigged: the hanger hangs in one modelled pose. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-referee-vest-on-ha-2592794b","cdnUrl":"https://cdn.3dassets.dev/assets/34487/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-referee-vest-on-ha-2592794b","thumbnailUrl":"https://cdn.3dassets.dev/assets/34487/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34487/v1/poster.webp","blurhash":"U49G{r?b0000?Za#D*oc0Xog^sM{04j]~TV?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":60028,"triangles":1404,"vertices":2941,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3800080819140422,0,-0.24001968097042098],"max":[0.3800080819140422,1.649999976158142,0.24001968097042098]},"sizeMeters":[0.76,1.65,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:15.162Z","updatedAt":"2026-09-11T08:51:15.287Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34487/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarshalVestOnAHangerLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34487/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34487/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34487/v1/model.glb\" alt=\"Marshal Vest on a Hanger (Laser Tag Arena and Activity Centre)\" 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/34487/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/34487/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34489","slug":"laser-tag-arena-and-activity-centre-laser-tag-phaser-e70e246d","title":"Laser Tag Phaser, Magenta (Laser Tag Arena and Activity Centre)","summary":"A laser tag phaser 500 mm long: a moulded magenta receiver with a raked grip, a real trigger inside a closed guard, a grey barrel shroud ending in a magenta emitter ring, a sight rail along the top, a score readout on the left flank and a sensor dome on the right.","description":"A laser tag phaser 500 mm long: a moulded magenta receiver with a raked grip, a real trigger inside a closed guard, a grey barrel shroud ending in a magenta emitter ring, a sight rail along the top, a score readout on the left flank and a sensor dome on the right. Modelled standing on the heel of the grip with the muzzle toward +Z, which is how it sits in a charging cradle. No beam, no muzzle flash and no tether: all three are effects a consumer adds, not geometry. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-laser-tag-phaser-e70e246d","cdnUrl":"https://cdn.3dassets.dev/assets/34489/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-laser-tag-phaser-e70e246d","thumbnailUrl":"https://cdn.3dassets.dev/assets/34489/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34489/v1/poster.webp","blurhash":"UIBx]BSxE0xH}^NZEKs:5OInWAoz1EnP-DtR","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":42592,"triangles":960,"vertices":1963,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.04899893159512729,0,-0.1232287734746933],"max":[0.04799878153929853,0.3355015218257904,0.39500001072883606]},"sizeMeters":[0.097,0.336,0.518],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:15.851Z","updatedAt":"2026-09-11T08:51:15.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34489/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaserTagPhaserMagentaLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34489/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34489/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34489/v1/model.glb\" alt=\"Laser Tag Phaser, Magenta (Laser Tag Arena and Activity Centre)\" 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/34489/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/34489/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34490","slug":"laser-tag-arena-and-activity-centre-laser-tag-phaser-b-0695d082","title":"Laser Tag Phaser, Cyan (Laser Tag Arena and Activity Centre)","summary":"The laser tag phaser in cyan, the opposing team colour, so the two sides of a game read apart at a glance on the rack and in a player's hands.","description":"The laser tag phaser in cyan, the opposing team colour, so the two sides of a game read apart at a glance on the rack and in a player's hands. Identical geometry to the magenta phaser; only the shell material differs. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-laser-tag-phaser-b-0695d082","cdnUrl":"https://cdn.3dassets.dev/assets/34490/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-laser-tag-phaser-b-0695d082","thumbnailUrl":"https://cdn.3dassets.dev/assets/34490/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34490/v1/poster.webp","blurhash":"UH8;_Zz=Qms=.mVrMwog9EEdOUo|HqOXt,xu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":43492,"triangles":960,"vertices":1963,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.04899893159512729,0,-0.1232287734746933],"max":[0.04799878153929853,0.3355015218257904,0.39500168831549715]},"sizeMeters":[0.097,0.336,0.518],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:16.016Z","updatedAt":"2026-09-11T08:51:16.185Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34490/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaserTagPhaserCyanLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34490/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34490/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34490/v1/model.glb\" alt=\"Laser Tag Phaser, Cyan (Laser Tag Arena and Activity Centre)\" 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/34490/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/34490/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34492","slug":"laser-tag-arena-and-activity-centre-vest-charging-rack-d3effeed","title":"Vest Charging Rack (Laser Tag Arena and Activity Centre)","summary":"A 1.7 m charging rack with four vests on it: a welded steel frame with a hanging rail, hooks, a lower shelf and an amber charge lamp under each position, loaded with two cyan and two magenta vests ready for the next session.","description":"A 1.7 m charging rack with four vests on it: a welded steel frame with a hanging rail, hooks, a lower shelf and an amber charge lamp under each position, loaded with two cyan and two magenta vests ready for the next session. The vests are modelled into the rack as one piece, so a whole charged row is one placement; the charging leads are not modelled, because a lead is a flexible run. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-vest-charging-rack-d3effeed","cdnUrl":"https://cdn.3dassets.dev/assets/34492/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-vest-charging-rack-d3effeed","thumbnailUrl":"https://cdn.3dassets.dev/assets/34492/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34492/v1/poster.webp","blurhash":"U7BWb}b^00m-%z%MM{IU00R5~XpI,]S0E0rv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":188252,"triangles":4736,"vertices":9848,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.850026724481654,0,-0.24000851168083012],"max":[0.850026724481654,1.9500000476837158,0.3416451498746479]},"sizeMeters":[1.7,1.95,0.582],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:18.045Z","updatedAt":"2026-09-11T08:51:18.230Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34492/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VestChargingRackLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34492/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34492/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34492/v1/model.glb\" alt=\"Vest Charging Rack (Laser Tag Arena and Activity Centre)\" 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/34492/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/34492/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34491","slug":"laser-tag-arena-and-activity-centre-phaser-charging-do-d5c104f2","title":"Phaser Charging Dock (Laser Tag Arena and Activity Centre)","summary":"A 1 m bench dock holding three phasers: a moulded dark tray on feet with shaped grey cradles, a lime status strip across the customer face, and two magenta and one cyan phaser standing in it.","description":"A 1 m bench dock holding three phasers: a moulded dark tray on feet with shaped grey cradles, a lime status strip across the customer face, and two magenta and one cyan phaser standing in it. The phasers are modelled into the dock, so a loaded dock is one placement. Lift an empty dock by using the phaser model on its own if a scene needs the cradles bare. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-phaser-charging-do-d5c104f2","cdnUrl":"https://cdn.3dassets.dev/assets/34491/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-phaser-charging-do-d5c104f2","thumbnailUrl":"https://cdn.3dassets.dev/assets/34491/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34491/v1/poster.webp","blurhash":"U8By,Q$%00I:}w-qM_E100w5%gJOB1enS$NZ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":134060,"triangles":3260,"vertices":6714,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,-0.000005142153479076317,-0.19002349925229653],"max":[0.5,0.6905066532504334,0.33501576332846483]},"sizeMeters":[1,0.691,0.525],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:17.976Z","updatedAt":"2026-09-11T08:51:18.083Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34491/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PhaserChargingDockLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34491/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34491/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34491/v1/model.glb\" alt=\"Phaser Charging Dock (Laser Tag Arena and Activity Centre)\" 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/34491/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/34491/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34493","slug":"laser-tag-arena-and-activity-centre-briefing-screen-on-4cca5937","title":"Briefing Screen on a Stand (Laser Tag Arena and Activity Centre)","summary":"A 1.24 m briefing screen on a rolling floor stand: four splayed legs, a chrome column and a dark cased head at 1.3 m with a blue picture face and a lime strip along the bottom bezel, for the safety brief before a session goes in.","description":"A 1.24 m briefing screen on a rolling floor stand: four splayed legs, a chrome column and a dark cased head at 1.3 m with a blue picture face and a lime strip along the bottom bezel, for the safety brief before a session goes in. The head is a named node with a tilt clip about its bracket; the stand and the column stay put. The picture is a flat blue material, not a rendered image: a consumer puts its own texture or render target on that part. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: tilt-head, tilt-head/screen, tilt-head/lime. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-briefing-screen-on-4cca5937","cdnUrl":"https://cdn.3dassets.dev/assets/34493/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-briefing-screen-on-4cca5937","thumbnailUrl":"https://cdn.3dassets.dev/assets/34493/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34493/v1/poster.webp","blurhash":"UB8Xh7tR00Md.AkDMcaJV@t8ozM_H=ofyER%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":26140,"triangles":592,"vertices":1252,"meshes":4,"materials":4,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.6200000047683716,0,-0.2729270404486849],"max":[0.6200000047683716,1.9974110058200614,0.2729270404486849]},"sizeMeters":[1.24,1.997,0.546],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:17.746Z","updatedAt":"2026-09-11T08:51:17.857Z","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/34493/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 BriefingScreenOnAStandLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34493/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/34493/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34493/v1/model.glb\" alt=\"Briefing Screen on a Stand (Laser Tag Arena and Activity Centre)\" 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/34493/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/34493/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34494","slug":"laser-tag-arena-and-activity-centre-scoreboard-wall-fr-b2654443","title":"Scoreboard in a Wall Frame (Laser Tag Arena and Activity Centre)","summary":"A 1.9 by 1.05 m scoreboard: a dark framed board with a magenta and a cyan team panel, a lit header strip across the top, a running total bar between them and an amber result flap along the bottom that tips forward when a game ends.","description":"A 1.9 by 1.05 m scoreboard: a dark framed board with a magenta and a cyan team panel, a lit header strip across the top, a running total bar between them and an amber result flap along the bottom that tips forward when a game ends. Modelled resting on y=0 so it can be checked on the ground; lift it to head height on the wall. The flap is a named node with a tilt clip; the board and the frame stay put, and the panels are coloured materials rather than emitters. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: flap, flap/dark. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-scoreboard-wall-fr-b2654443","cdnUrl":"https://cdn.3dassets.dev/assets/34494/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-scoreboard-wall-fr-b2654443","thumbnailUrl":"https://cdn.3dassets.dev/assets/34494/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34494/v1/poster.webp","blurhash":"UBEyb_|}00G?o,_4xTDi00B:%i:Ptu%ER;ET","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":30560,"triangles":704,"vertices":1587,"meshes":7,"materials":6,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.949999988079071,-0.00005812507547842127,-0.07502182209521198],"max":[0.949999988079071,1.0512581573096704,0.10701620643258289]},"sizeMeters":[1.9,1.051,0.182],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:17.818Z","updatedAt":"2026-09-11T08:51:17.919Z","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/34494/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 ScoreboardInAWallFrameLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34494/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/34494/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34494/v1/model.glb\" alt=\"Scoreboard in a Wall Frame (Laser Tag Arena and Activity Centre)\" 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/34494/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/34494/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34495","slug":"laser-tag-arena-and-activity-centre-headset-on-hook-e723b166","title":"Marshal Headset on a Hook (Laser Tag Arena and Activity Centre)","summary":"A marshal headset hanging on its wall hook: a brushed back plate with a lime label, a hooked peg, and a dark headband arching over it and carrying two grey ear cups with lime rings and a short boom microphone.","description":"A marshal headset hanging on its wall hook: a brushed back plate with a lime label, a hooked peg, and a dark headband arching over it and carrying two grey ear cups with lime rings and a short boom microphone. Modelled resting on y=0 so it can be checked on the ground; lift it to shoulder height on the wall. The lead is not modelled: a cable is a flexible run no rigid node can hold. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-headset-on-hook-e723b166","cdnUrl":"https://cdn.3dassets.dev/assets/34495/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-headset-on-hook-e723b166","thumbnailUrl":"https://cdn.3dassets.dev/assets/34495/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34495/v1/poster.webp","blurhash":"U48qTxbc00-:-:t89FM_RO8_IV~q~qxa9EM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":36416,"triangles":758,"vertices":1760,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.1179572343826294,2.6393386738654545e-7,-0.008991697460590795],"max":[0.14620280265808105,0.39690127968788147,0.14362964797817881]},"sizeMeters":[0.264,0.397,0.153],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:20.529Z","updatedAt":"2026-09-11T08:51:20.636Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34495/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarshalHeadsetOnAHookLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34495/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34495/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34495/v1/model.glb\" alt=\"Marshal Headset on a Hook (Laser Tag Arena and Activity Centre)\" 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/34495/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/34495/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34496","slug":"laser-tag-arena-and-activity-centre-reception-desk-wit-d48ed908","title":"Reception Desk with Screen (Laser Tag Arena and Activity Centre)","summary":"A 2.4 m reception desk: a magenta panelled front with two cyan bands, a pale stone top with a bullnose edge and a staff shelf under it, a raked booking terminal, a card reader on a post and a wristband box, with a row of bright stock boxes across the back of the counter.","description":"A 2.4 m reception desk: a magenta panelled front with two cyan bands, a pale stone top with a bullnose edge and a staff shelf under it, a raked booking terminal, a card reader on a post and a wristband box, with a row of bright stock boxes across the back of the counter. The customer side faces +Z. Nothing here moves; the screens are flat coloured materials rather than emitters. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-reception-desk-wit-d48ed908","cdnUrl":"https://cdn.3dassets.dev/assets/34496/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-reception-desk-wit-d48ed908","thumbnailUrl":"https://cdn.3dassets.dev/assets/34496/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34496/v1/poster.webp","blurhash":"UEHc]J%g0cacPm~D#=9s00S^-Ww0VGEKRiWB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":53188,"triangles":1152,"vertices":2492,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-1.2599999904632568,0.000005493331924011358,-0.3999529984682252],"max":[1.2599999904632568,1.3749370676744925,0.3999529984682252]},"sizeMeters":[2.52,1.375,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:19.600Z","updatedAt":"2026-09-11T08:51:19.698Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34496/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReceptionDeskWithScreenLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34496/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34496/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34496/v1/model.glb\" alt=\"Reception Desk with Screen (Laser Tag Arena and Activity Centre)\" 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/34496/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/34496/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34498","slug":"laser-tag-arena-and-activity-centre-locker-bank-c3d8411f","title":"Locker Bank (Laser Tag Arena and Activity Centre)","summary":"A 1.8 m bank of twelve lockers: a grey steel carcass on a recessed plinth with a capping tray, and two tiers of six doors in alternating cyan and magenta, each with a rotary lock, three vent slots and a number plate.","description":"A 1.8 m bank of twelve lockers: a grey steel carcass on a recessed plinth with a capping tray, and two tiers of six doors in alternating cyan and magenta, each with a rotary lock, three vent slots and a number plate. The doors are modelled closed and are not rigged: twelve independent leaves would be twelve clips on one asset, which is more than the model is worth. Use the arena doorway module as the pattern if a consumer wants a hinged leaf. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-locker-bank-c3d8411f","cdnUrl":"https://cdn.3dassets.dev/assets/34498/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-locker-bank-c3d8411f","thumbnailUrl":"https://cdn.3dassets.dev/assets/34498/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34498/v1/poster.webp","blurhash":"U7Dl.?_3009X?].8RQ9Y00Ns?K$S$,%MRiIA","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":193484,"triangles":4752,"vertices":10665,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.9250369318295512,0,-0.25000259527140123],"max":[0.9250369318295512,1.9900000095367432,0.2680165625283937]},"sizeMeters":[1.85,1.99,0.518],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:20.934Z","updatedAt":"2026-09-11T08:51:21.050Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34498/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LockerBankLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34498/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34498/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34498/v1/model.glb\" alt=\"Locker Bank (Laser Tag Arena and Activity Centre)\" 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/34498/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/34498/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34497","slug":"laser-tag-arena-and-activity-centre-waiting-bench-2e804591","title":"Waiting Bench (Laser Tag Arena and Activity Centre)","summary":"A 1.8 m waiting bench: five birch slats on a pair of folded steel frames with a cross rail and a lime kick band, 450 mm to the seat, for the queue outside the briefing room.","description":"A 1.8 m waiting bench: five birch slats on a pair of folded steel frames with a cross rail and a lime kick band, 450 mm to the seat, for the queue outside the briefing room. Backless on purpose, which is what a centre puts along a corridor. Nothing moves. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-waiting-bench-2e804591","cdnUrl":"https://cdn.3dassets.dev/assets/34497/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-waiting-bench-2e804591","thumbnailUrl":"https://cdn.3dassets.dev/assets/34497/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34497/v1/poster.webp","blurhash":"UFB|B1tQ9Gj[~V-;M|M{00-:?GIo01IV-:t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":27860,"triangles":600,"vertices":1343,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.000028395692244276294,-0.23001145212549962],"max":[0.8999999761581421,0.4849687955533887,0.23001145212549962]},"sizeMeters":[1.8,0.485,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:19.864Z","updatedAt":"2026-09-11T08:51:19.971Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34497/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaitingBenchLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34497/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34497/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34497/v1/model.glb\" alt=\"Waiting Bench (Laser Tag Arena and Activity Centre)\" 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/34497/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/34497/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34499","slug":"laser-tag-arena-and-activity-centre-party-room-table-w-1e96b2fc","title":"Party Room Table with Chairs (Laser Tag Arena and Activity Centre)","summary":"A party room setting: a 1.7 m pale topped table on tapered steel legs with a magenta edge band, laid with four plates, four cups and a row of party boxes, and four moulded chairs round it in cyan, lime, magenta and amber on sled frames.","description":"A party room setting: a 1.7 m pale topped table on tapered steel legs with a magenta edge band, laid with four plates, four cups and a row of party boxes, and four moulded chairs round it in cyan, lime, magenta and amber on sled frames. One placement is a whole laid table, which is how a party room is dressed. Nothing here is rigged. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-party-room-table-w-1e96b2fc","cdnUrl":"https://cdn.3dassets.dev/assets/34499/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-party-room-table-w-1e96b2fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/34499/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34499/v1/poster.webp","blurhash":"UFDJ9bO[0JR7~CNdJ4rt00nM-;s+00$x$,o|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":158788,"triangles":3976,"vertices":8087,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.8500000238418579,-0.00004839150892582689,-1.066530466079712],"max":[0.8500000238418579,0.9002100577846883,1.066530466079712]},"sizeMeters":[1.7,0.9,2.133],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:21.449Z","updatedAt":"2026-09-11T08:51:21.567Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34499/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PartyRoomTableWithChairsLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34499/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34499/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34499/v1/model.glb\" alt=\"Party Room Table with Chairs (Laser Tag Arena and Activity Centre)\" 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/34499/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/34499/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34500","slug":"laser-tag-arena-and-activity-centre-vending-machine-73e45792","title":"Vending Machine (Laser Tag Arena and Activity Centre)","summary":"A 1.9 m snack vending machine: a grey cabinet on a recessed plinth with a glazing frame across the front, five shelves of bright stock behind it, a magenta brand block in the header, a lime light band, a keypad on the stile and a delivery tray at knee height.","description":"A 1.9 m snack vending machine: a grey cabinet on a recessed plinth with a glazing frame across the front, five shelves of bright stock behind it, a magenta brand block in the header, a lime light band, a keypad on the stile and a delivery tray at knee height. The glazing aperture is left open rather than filled with an opaque pane, so the stock reads and a consumer can fit its own transparent material. The whole front frame is one named node hinged on its left jamb with open and close clips, which is how a machine is restocked; the shelves, the stock and the keypad stay put. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: door, door/magenta, door/metal. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-vending-machine-73e45792","cdnUrl":"https://cdn.3dassets.dev/assets/34500/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-vending-machine-73e45792","thumbnailUrl":"https://cdn.3dassets.dev/assets/34500/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34500/v1/poster.webp","blurhash":"U9Bg6-aK00Sh~qWBD%a#W,R%jvs;%gS1Mxr]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":140080,"triangles":3112,"vertices":7015,"meshes":10,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5200353898472951,0,-0.43996458869503274],"max":[0.5200353898472951,1.9199999570846558,0.49212087654765846]},"sizeMeters":[1.04,1.92,0.932],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:21.770Z","updatedAt":"2026-09-11T08:51:21.951Z","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/34500/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 VendingMachineLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34500/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/34500/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34500/v1/model.glb\" alt=\"Vending Machine (Laser Tag Arena and Activity Centre)\" 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/34500/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/34500/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34501","slug":"laser-tag-arena-and-activity-centre-arcade-cabinet-b92828bb","title":"Arcade Cabinet (Laser Tag Arena and Activity Centre)","summary":"A 1.86 m upright arcade cabinet: magenta laminate side panels cut to a real sit-in profile, a raked control shelf with two chromed joysticks and six amber buttons, a blue screen recessed behind a dark bezel, a cyan marquee panel over it and a grey plinth at the floor.","description":"A 1.86 m upright arcade cabinet: magenta laminate side panels cut to a real sit-in profile, a raked control shelf with two chromed joysticks and six amber buttons, a blue screen recessed behind a dark bezel, a cyan marquee panel over it and a grey plinth at the floor. The screen and the marquee are flat coloured materials, not emitters: put a texture or a render target on those parts for real artwork. Nothing moves. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-arcade-cabinet-b92828bb","cdnUrl":"https://cdn.3dassets.dev/assets/34501/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-arcade-cabinet-b92828bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/34501/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34501/v1/poster.webp","blurhash":"U4DRdZp_00.n45JQ_,=e2iR%[xoh@avgGsHB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":57660,"triangles":1296,"vertices":2733,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.4012168037529216,0,-0.44994323903285294],"max":[0.39999054233835846,1.861199975013733,0.44994323903285294]},"sizeMeters":[0.801,1.861,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:22.450Z","updatedAt":"2026-09-11T08:51:22.555Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34501/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArcadeCabinetLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34501/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34501/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34501/v1/model.glb\" alt=\"Arcade Cabinet (Laser Tag Arena and Activity Centre)\" 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/34501/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/34501/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34502","slug":"laser-tag-arena-and-activity-centre-prize-counter-with-6c207a84","title":"Prize Counter with Shelving (Laser Tag Arena and Activity Centre)","summary":"A 2.1 m prize counter: a cyan panelled counter with a pale top under a glass display cap on chrome posts, a staff drawer at the back, four prizes on the top, and a four shelf bay behind it stacked with twenty four bright prize boxes.","description":"A 2.1 m prize counter: a cyan panelled counter with a pale top under a glass display cap on chrome posts, a staff drawer at the back, four prizes on the top, and a four shelf bay behind it stacked with twenty four bright prize boxes. The drawer is a named node on its own slide with open and close clips; the counter, the cap and the shelving stay put. The customer side faces +Z. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: drawer, drawer/metal. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-prize-counter-with-6c207a84","cdnUrl":"https://cdn.3dassets.dev/assets/34502/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-prize-counter-with-6c207a84","thumbnailUrl":"https://cdn.3dassets.dev/assets/34502/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34502/v1/poster.webp","blurhash":"UFD^WDyr00%2|@R5AExu00Hr$%ogB:TKxFRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":136932,"triangles":3104,"vertices":6880,"meshes":9,"materials":8,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.100000023841858,-0.000052893060270897685,-0.97003540263127],"max":[1.100000023841858,1.899999976158142,0.38996568488260497]},"sizeMeters":[2.2,1.9,1.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:22.683Z","updatedAt":"2026-09-11T08:51:22.783Z","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/34502/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 PrizeCounterWithShelvingLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34502/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/34502/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34502/v1/model.glb\" alt=\"Prize Counter with Shelving (Laser Tag Arena and Activity Centre)\" 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/34502/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/34502/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34503","slug":"laser-tag-arena-and-activity-centre-air-hockey-table-f0a5e926","title":"Air Hockey Table (Laser Tag Arena and Activity Centre)","summary":"A 2.2 by 1.2 m air hockey table: a dark cabinet on square feet with a pale playfield, cyan cushion rails all round, a magenta centre line and face-off ring, goal mouths at both ends, and two pucks and two amber mallets on the surface.","description":"A 2.2 by 1.2 m air hockey table: a dark cabinet on square feet with a pale playfield, cyan cushion rails all round, a magenta centre line and face-off ring, goal mouths at both ends, and two pucks and two amber mallets on the surface. The pucks and mallets are modelled in place on the playfield and are not rigged: a puck in flight is a consumer's physics, not an animation clip. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-air-hockey-table-f0a5e926","cdnUrl":"https://cdn.3dassets.dev/assets/34503/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-air-hockey-table-f0a5e926","thumbnailUrl":"https://cdn.3dassets.dev/assets/34503/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34503/v1/poster.webp","blurhash":"UJCZ@Wxu4may?^xvIVM{00oz-pM{00WA%2jF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":65580,"triangles":1528,"vertices":3247,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.100000023841858,0.0000406086324797883,-0.6000366352168148],"max":[1.100000023841858,0.8349584027709612,0.6000366352168148]},"sizeMeters":[2.2,0.835,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:23.493Z","updatedAt":"2026-09-11T08:51:23.608Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34503/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirHockeyTableLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34503/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34503/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34503/v1/model.glb\" alt=\"Air Hockey Table (Laser Tag Arena and Activity Centre)\" 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/34503/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/34503/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34504","slug":"laser-tag-arena-and-activity-centre-table-football-tab-b1ed7f6e","title":"Table Football Table (Laser Tag Arena and Activity Centre)","summary":"A 1.45 m table football table: a birch cabinet on square feet with a lime playfield and capping rail, eight chromed rods with turned handles, and twenty four moulded players in red and cyan down them.","description":"A 1.45 m table football table: a birch cabinet on square feet with a lime playfield and capping rail, eight chromed rods with turned handles, and twenty four moulded players in red and cyan down them. The rods and the players are modelled in their rest positions and are not rigged: a rod both slides and spins, which is two axes on one node and beyond a single rigid transform. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-table-football-tab-b1ed7f6e","cdnUrl":"https://cdn.3dassets.dev/assets/34504/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-table-football-tab-b1ed7f6e","thumbnailUrl":"https://cdn.3dassets.dev/assets/34504/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34504/v1/poster.webp","blurhash":"UAG8_s~q00RSyW?a%2IV00IU%MxD#,N2I.M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":128708,"triangles":4352,"vertices":8916,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.925000011920929,0.000008518052544204124,-0.38999146764234105],"max":[0.925000011920929,0.91003634244732,0.38999146764234105]},"sizeMeters":[1.85,0.91,0.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:23.724Z","updatedAt":"2026-09-11T08:51:23.822Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34504/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TableFootballTableLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34504/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34504/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34504/v1/model.glb\" alt=\"Table Football Table (Laser Tag Arena and Activity Centre)\" 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/34504/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/34504/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34505","slug":"laser-tag-arena-and-activity-centre-soft-play-frame-co-0e5623db","title":"Soft Play Frame Corner (Laser Tag Arena and Activity Centre)","summary":"A 2 m soft play corner: four lime padded posts carrying magenta rails and cyan net bars on two sides, an amber padded floor with a bolster along the open edge, and sixteen play balls loose in it.","description":"A 2 m soft play corner: four lime padded posts carrying magenta rails and cyan net bars on two sides, an amber padded floor with a bolster along the open edge, and sixteen play balls loose in it. Two sides are enclosed and two are left open, so four placements rotated into a square make a closed pen. Nothing is rigged. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-soft-play-frame-co-0e5623db","cdnUrl":"https://cdn.3dassets.dev/assets/34505/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-soft-play-frame-co-0e5623db","thumbnailUrl":"https://cdn.3dassets.dev/assets/34505/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34505/v1/poster.webp","blurhash":"UHHoByxs00ogIPRm%Cs:8wjbD+Rk}*odELfk","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":70368,"triangles":1536,"vertices":3531,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.0750000476837158,-0.000003071257246411996,-1.0750000476837158],"max":[1.0750000476837158,1.9500031189409621,1.0750000476837158]},"sizeMeters":[2.15,1.95,2.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:24.284Z","updatedAt":"2026-09-11T08:51:24.395Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34505/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SoftPlayFrameCornerLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34505/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34505/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34505/v1/model.glb\" alt=\"Soft Play Frame Corner (Laser Tag Arena and Activity Centre)\" 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/34505/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/34505/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34506","slug":"laser-tag-arena-and-activity-centre-birthday-party-sig-49decd17","title":"Birthday Party Sign (Laser Tag Arena and Activity Centre)","summary":"A 1.24 m party sign on two chrome legs: a magenta board with a pale face, a row of cyan letter blocks over a second row, a cross rail at the head and a line of lime bunting flags under it, for the party room door.","description":"A 1.24 m party sign on two chrome legs: a magenta board with a pale face, a row of cyan letter blocks over a second row, a cross rail at the head and a line of lime bunting flags under it, for the party room door. The letter blocks are plain geometry, not real type: put a texture on the pale face for a name. Nothing moves. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-birthday-party-sig-49decd17","cdnUrl":"https://cdn.3dassets.dev/assets/34506/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-birthday-party-sig-49decd17","thumbnailUrl":"https://cdn.3dassets.dev/assets/34506/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34506/v1/poster.webp","blurhash":"UKDIhExu00nP}^$,D%IUE0$StRI.4-xb.8NY","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":53092,"triangles":1192,"vertices":2620,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6600000262260437,-0.000014058383131732022,-0.1399481240949294],"max":[0.6600000262260437,1.2400473132267948,0.1399481240949294]},"sizeMeters":[1.32,1.24,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:24.589Z","updatedAt":"2026-09-11T08:51:24.686Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34506/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BirthdayPartySignLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34506/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34506/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34506/v1/model.glb\" alt=\"Birthday Party Sign (Laser Tag Arena and Activity Centre)\" 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/34506/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/34506/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34507","slug":"laser-tag-arena-and-activity-centre-fire-exit-sign-741e4e23","title":"Fire Exit Sign (Laser Tag Arena and Activity Centre)","summary":"A 360 mm square fire exit sign: a dark backing plate with a lime face and a raised pale running figure and arrow, for the exit route out of the arena.","description":"A 360 mm square fire exit sign: a dark backing plate with a lime face and a raised pale running figure and arrow, for the exit route out of the arena. Modelled resting on y=0; lift it over the exit door head. The face is a coloured diffuser, not an emitter. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-fire-exit-sign-741e4e23","cdnUrl":"https://cdn.3dassets.dev/assets/34507/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-fire-exit-sign-741e4e23","thumbnailUrl":"https://cdn.3dassets.dev/assets/34507/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34507/v1/poster.webp","blurhash":"UEDTCK.700Mz-;%MafIC00M|_Kt6a%WCRjt5","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":12128,"triangles":216,"vertices":498,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.18000000715255737,0,-0.025005646917888154],"max":[0.18000000715255737,0.36000001430511475,0.05872365572142844]},"sizeMeters":[0.36,0.36,0.084],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:25.303Z","updatedAt":"2026-09-11T08:51:25.407Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34507/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FireExitSignLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34507/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34507/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34507/v1/model.glb\" alt=\"Fire Exit Sign (Laser Tag Arena and Activity Centre)\" 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/34507/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/34507/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34508","slug":"laser-tag-arena-and-activity-centre-queue-marking-tile-fe313f8f","title":"Queue Marking Tile (Laser Tag Arena and Activity Centre)","summary":"A 1 m queue marking tile: a thin dark plate with three amber chevrons pointing the way and a pale pair of footprints to stand on, for the line to the briefing room or the prize counter.","description":"A 1 m queue marking tile: a thin dark plate with three amber chevrons pointing the way and a pale pair of footprints to stand on, for the line to the briefing room or the prize counter. Only 14 mm thick, so it lies flat on a floor tile. No ports: it is a marking, not a module. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-queue-marking-tile-fe313f8f","cdnUrl":"https://cdn.3dassets.dev/assets/34508/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-queue-marking-tile-fe313f8f","thumbnailUrl":"https://cdn.3dassets.dev/assets/34508/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34508/v1/poster.webp","blurhash":"U59H63xc00skt6R+WBt500Ri~pWZN1xst7M}","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":15416,"triangles":316,"vertices":668,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.000007690909855334604,-0.5],"max":[0.5,0.12399230706358674,0.5]},"sizeMeters":[1,0.124,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:25.652Z","updatedAt":"2026-09-11T08:51:25.755Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34508/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function QueueMarkingTileLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34508/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34508/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34508/v1/model.glb\" alt=\"Queue Marking Tile (Laser Tag Arena and Activity Centre)\" 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/34508/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/34508/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34509","slug":"laser-tag-arena-and-activity-centre-waste-bin-9b190b25","title":"Waste Bin (Laser Tag Arena and Activity Centre)","summary":"An 820 mm round waste bin: a grey body with a brushed rim ring and a name plate, a dark drop-in top and a cyan liner pulled over the rim, which is what one looks like on a busy Saturday.","description":"An 820 mm round waste bin: a grey body with a brushed rim ring and a name plate, a dark drop-in top and a cyan liner pulled over the rim, which is what one looks like on a busy Saturday. The liner is modelled in place. Nothing here is rigged. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-waste-bin-9b190b25","cdnUrl":"https://cdn.3dassets.dev/assets/34509/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-waste-bin-9b190b25","thumbnailUrl":"https://cdn.3dassets.dev/assets/34509/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34509/v1/poster.webp","blurhash":"U5AAp|_30000?^xu9FD%D$ay-;j?#,t7S4M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":24504,"triangles":560,"vertices":1100,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.23600000143051147,0,-0.23242762676363524],"max":[0.23600000143051147,0.8799999952316284,0.23242762676363524]},"sizeMeters":[0.472,0.88,0.465],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:26.180Z","updatedAt":"2026-09-11T08:51:26.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34509/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WasteBinLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34509/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34509/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34509/v1/model.glb\" alt=\"Waste Bin (Laser Tag Arena and Activity Centre)\" 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/34509/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/34509/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34510","slug":"laser-tag-arena-and-activity-centre-cleaning-trolley-47dea92b","title":"Cleaning Trolley (Laser Tag Arena and Activity Centre)","summary":"A housekeeping trolley: a wheeled steel frame with a cyan mop bucket and wringer, a bottle shelf with two lime spray bottles, a bag hoop with its sack in it and a mop stood in the corner.","description":"A housekeeping trolley: a wheeled steel frame with a cyan mop bucket and wringer, a bottle shelf with two lime spray bottles, a bag hoop with its sack in it and a mop stood in the corner. The four castor wheels are one named node with a roll clip; the forks, the wringer lever and the sack stay put, because a sack is cloth and a wringer lever is a linkage. Metre units, +Y up, the player side toward +Z, resting on y=0. Named pivoted nodes: wheel. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-cleaning-trolley-47dea92b","cdnUrl":"https://cdn.3dassets.dev/assets/34510/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-cleaning-trolley-47dea92b","thumbnailUrl":"https://cdn.3dassets.dev/assets/34510/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34510/v1/poster.webp","blurhash":"UBA16Gk800M}?Fs.9bIr00xZ?wItNGof%2Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"interior","title":"Interior"}],"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":66720,"triangles":1520,"vertices":3184,"meshes":7,"materials":7,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.5327372973687656,0.000009555190025802018,-0.2600103866251059],"max":[0.36000001430511475,1.1745933294296265,0.3208688175454218]},"sizeMeters":[0.893,1.175,0.581],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:26.342Z","updatedAt":"2026-09-11T08:51:26.443Z","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/34510/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 CleaningTrolleyLaserTagArenaAndActivityCentre(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34510/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/34510/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34510/v1/model.glb\" alt=\"Cleaning Trolley (Laser Tag Arena and Activity Centre)\" 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/34510/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/34510/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34511","slug":"laser-tag-arena-and-activity-centre-ceiling-truss-with-a39f3596","title":"Ceiling Truss Bay with Light Bars (Laser Tag Arena and Activity Centre)","summary":"A 2 m ceiling truss bay with its lighting on it: a 300 mm brushed box truss with spigot plates at both ends, two dark par bars of four magenta lenses each slung under it on hook clamps.","description":"A 2 m ceiling truss bay with its lighting on it: a 300 mm brushed box truss with spigot plates at both ends, two dark par bars of four magenta lenses each slung under it on hook clamps. Modelled resting on y=0 so a run can be laid out on the ground; lift the whole run to trim height to fly it. The lenses are coloured mouldings, not lights, and there is no beam: a beam is a volumetric effect a consumer adds. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-ceiling-truss-with-a39f3596","cdnUrl":"https://cdn.3dassets.dev/assets/34511/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-ceiling-truss-with-a39f3596","thumbnailUrl":"https://cdn.3dassets.dev/assets/34511/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34511/v1/poster.webp","blurhash":"U384oPtR00n$-:~qt8IU00-:_3tRE200xt%3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"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":87968,"triangles":2112,"vertices":4472,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.034000039100647,0.000038971790605772313,-0.14995477723948714],"max":[1.034000039100647,0.7020094162460017,0.14995477723948714]},"sizeMeters":[2.068,0.702,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:27.169Z","updatedAt":"2026-09-11T08:51:27.277Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34511/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CeilingTrussBayWithLightBarsLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34511/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34511/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34511/v1/model.glb\" alt=\"Ceiling Truss Bay with Light Bars (Laser Tag Arena and Activity Centre)\" 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/34511/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/34511/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34512","slug":"laser-tag-arena-and-activity-centre-smoke-machine-fa196d2d","title":"Smoke Machine (Laser Tag Arena and Activity Centre)","summary":"A 600 mm smoke machine: a dark cased body on rubber feet with brushed side handles, a chromed nozzle on the front, an amber control panel and fluid gauge and a lime ready lamp on the top.","description":"A 600 mm smoke machine: a dark cased body on rubber feet with brushed side handles, a chromed nozzle on the front, an amber control panel and fluid gauge and a lime ready lamp on the top. No plume is modelled: haze is a particle effect, not geometry, and a frozen cloud would be wrong at every moment but one. Nothing moves. Metre units, +Y up, the player side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-smoke-machine-fa196d2d","cdnUrl":"https://cdn.3dassets.dev/assets/34512/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-smoke-machine-fa196d2d","thumbnailUrl":"https://cdn.3dassets.dev/assets/34512/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34512/v1/poster.webp","blurhash":"U8AAdhxZ00IV.At8oZad00WF?Zt4R3a_E4NI","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"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":36680,"triangles":816,"vertices":1758,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3149999976158142,7.530286597612346e-7,-0.18001648714832927],"max":[0.3149999976158142,0.3512032125220801,0.2899770296628574]},"sizeMeters":[0.63,0.351,0.47],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:27.414Z","updatedAt":"2026-09-11T08:51:27.519Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34512/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmokeMachineLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34512/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34512/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34512/v1/model.glb\" alt=\"Smoke Machine (Laser Tag Arena and Activity Centre)\" 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/34512/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/34512/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34513","slug":"laser-tag-arena-and-activity-centre-lase-635247a0-starter-scene","title":"Laser Tag Centre (Laser Tag Arena and Activity Centre)","summary":"A working laser tag centre laid out from the pack's own kit on its own floor: a 14 by 12 m building of 2 m floor tiles, lime marked inside the arena and teal outside it. The arena is a closed 10.3 by 8.3 m bay of wall modules on corner posts, with shooting port panels, mirror...","description":"A working laser tag centre laid out from the pack's own kit on its own floor: a 14 by 12 m building of 2 m floor tiles, lime marked inside the arena and teal outside it. The arena is a closed 10.3 by 8.3 m bay of wall modules on corner posts, with shooting port panels, mirror panels, low barricades along the front so the play reads from outside, and the doorway module a session goes in through. Inside it, a maze: two interior wall runs, four barricades, three pillars, three crate stacks, a two section tunnel, and a raised platform with its ramp, rail and kick band. Target pods stand where the sight lines cross, a base station and its respawn pads hold each end, and glow stripe runs chase along the back and side walls. Beyond the front wall is the rest of the building: reception with its terminal and a phaser dock on the counter, lockers, benches, the queue marking, the briefing screen, two vest charging racks and the scoreboard on the arena wall, a party room of two laid tables, and the amusements down the right hand side, arcade cabinets, vending machines, table football, air hockey, a soft play corner and the prize counter, with the truss, signage, bins, the cleaning trolley and the smoke machine that finish a building off.","status":"published","url":"https://3dassets.dev/assets/laser-tag-arena-and-activity-centre-lase-635247a0-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/34513/v1/model.glb","downloadUrl":"https://3dassets.dev/download/laser-tag-arena-and-activity-centre-lase-635247a0-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/34513/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34513/v1/poster.webp","blurhash":"U6A^OO-q00oz8{s:x[NG00E0%3WB~qWUess:","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":2351176,"triangles":57720,"vertices":123948,"meshes":194,"materials":12,"textures":0,"animations":[],"boundingBox":{"min":[-9.163035586815118,-0.05994866094764098,-9.030034798254743],"max":[4.996999979019165,3.9020094162460017,3.075000047683716]},"sizeMeters":[14.16,3.962,12.105],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:51:29.292Z","updatedAt":"2026-09-11T08:51:29.389Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34513/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaserTagCentreLaserTagArenaAndActivityCentre(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34513/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34513/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34513/v1/model.glb\" alt=\"Laser Tag Centre (Laser Tag Arena and Activity Centre)\" 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/34513/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/34513/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"laser-tag-arena-and-activity-centre","title":"Laser Tag Arena and Activity Centre","url":"https://3dassets.dev/demos/laser-tag-arena-and-activity-centre"}}}