{"data":{"id":94,"slug":"prison-complex-builder","title":"Prison Complex Builder","summary":"Detailed institutional cell blocks, perimeter security, facilities and everyday staff and inmate props.","description":"A complete modular prison construction kit using the saved institutional palette, detailed bevelled construction and named movable parts. Includes an eight-cell block, access catwalk and stairs, security intake, care and workshop examples. Cell and facility doors, perimeter and sally port gates, trolley castors, road wheels and the turnstile arms each ship a rigid open, close or turning clip on their own pivot: node transforms only, no skinning. Original models without simulation, collision or navigation data.","url":"https://3dassets.dev/packs/prison-complex-builder","coverUrl":"https://cdn.3dassets.dev/assets/25718/v1/poster.webp","assetCount":127,"aiGenerated":true,"aiGeneratedAssetCount":127,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":29185732,"totalTriangles":804596,"starterScene":{"id":"25718","slug":"prison-complex-builder-eight-cell-block--d889aedd-starter-scene","title":"Eight-cell block and mezzanine (Prison Complex Builder)","summary":"Eight cells in two rows, four representative bunks, continuous upper catwalk with guard rails and connected access stair. Open roofs expose the plan; detailed sanitary furnishings appear in the companion cell scene.","description":"Eight cells in two rows, four representative bunks, continuous upper catwalk with guard rails and connected access stair. Open roofs expose the plan; detailed sanitary furnishings appear in the companion cell scene.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-eight-cell-block--d889aedd-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/25718/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-eight-cell-block--d889aedd-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/25718/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25718/v1/poster.webp","blurhash":"UCC?r@~q00WBxu%MWBWA009F%MM{RjM_WBM|","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":547984,"triangles":24696,"vertices":22641,"meshes":32,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-4.107486190374463,0,-3.107486190374462],"max":[7.782173315930178,4.239964300198447,3.107486190374462]},"sizeMeters":[11.89,4.24,6.215],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":22,"publishedAt":"2026-09-07T20:41:35.750Z","updatedAt":"2026-10-12T04:39:16.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25718/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EightCellBlockAndMezzaninePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25718/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25718/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25718/v1/model.glb\" alt=\"Eight-cell block and mezzanine (Prison Complex Builder)\" 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/25718/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/25718/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"25583","slug":"prison-complex-builder-concrete-wall-straight-2c9b8ebd","title":"concrete wall straight (Prison Complex Builder)","summary":"One-metre-grid institutional block wall, 3 m tall, with mortar joints and sealed skirting.","description":"One-metre-grid institutional block wall, 3 m tall, with mortar joints and sealed skirting. Dimensions 1.00 × 3.00 × 0.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-concrete-wall-straight-2c9b8ebd","cdnUrl":"https://cdn.3dassets.dev/assets/25583/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-concrete-wall-straight-2c9b8ebd","thumbnailUrl":"https://cdn.3dassets.dev/assets/25583/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25583/v1/poster.webp","blurhash":"U7C%8F~q0000-;xtIUIU4nM{-;%M-;t8IUIU","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":93168,"triangles":1296,"vertices":3888,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-0.49993896238507435,0,-0.10748619037446211],"max":[0.5011389683931498,3,0.10748619037446211]},"sizeMeters":[1.001,3,0.215],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:07.437Z","updatedAt":"2026-10-25T06:29:04.282Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25583/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteWallStraightPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25583/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25583/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25583/v1/model.glb\" alt=\"concrete wall straight (Prison Complex Builder)\" 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/25583/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/25583/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25585","slug":"prison-complex-builder-concrete-wall-corner-73f89cc9","title":"concrete wall corner (Prison Complex Builder)","summary":"One-metre-grid institutional block wall, 3 m tall, with mortar joints and sealed skirting.","description":"One-metre-grid institutional block wall, 3 m tall, with mortar joints and sealed skirting. Dimensions 1.11 × 3.00 × 1.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-concrete-wall-corner-73f89cc9","cdnUrl":"https://cdn.3dassets.dev/assets/25585/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-concrete-wall-corner-73f89cc9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25585/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25585/v1/poster.webp","blurhash":"U3BpkJ9G00~V~qRk01%L01WB^+xu?aM|9G%L","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":170984,"triangles":2592,"vertices":7776,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-0.4999282689262369,0,-0.10757429157684029],"max":[0.6075742841262597,3,0.9999282801021078]},"sizeMeters":[1.108,3,1.108],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:07.488Z","updatedAt":"2026-10-06T21:19:00.979Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25585/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteWallCornerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25585/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25585/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25585/v1/model.glb\" alt=\"concrete wall corner (Prison Complex Builder)\" 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/25585/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/25585/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25586","slug":"prison-complex-builder-concrete-wall-end-88950f25","title":"concrete wall end (Prison Complex Builder)","summary":"One-metre-grid institutional block wall, 3 m tall, with mortar joints and sealed skirting.","description":"One-metre-grid institutional block wall, 3 m tall, with mortar joints and sealed skirting. Dimensions 1.00 × 3.00 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-concrete-wall-end-88950f25","cdnUrl":"https://cdn.3dassets.dev/assets/25586/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-concrete-wall-end-88950f25","thumbnailUrl":"https://cdn.3dassets.dev/assets/25586/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25586/v1/poster.webp","blurhash":"U3C6+6D%00x^?bxu9GD%00-;~q4n?axuD%D%","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":111072,"triangles":1776,"vertices":5328,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-0.49993896238507435,0,-0.11499374206341462],"max":[0.5011389683931498,3.001199960708618,0.13800231515192501]},"sizeMeters":[1.001,3.001,0.253],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:08.558Z","updatedAt":"2026-10-12T10:28:08.458Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25586/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteWallEndPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25586/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25586/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25586/v1/model.glb\" alt=\"concrete wall end (Prison Complex Builder)\" 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/25586/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/25586/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25584","slug":"prison-complex-builder-cell-wall-with-bars-4b3bf102","title":"cell wall with bars (Prison Complex Builder)","summary":"Three-metre barred cell wall with round steel uprights and bolted horizontal rails.","description":"Three-metre barred cell wall with round steel uprights and bolted horizontal rails. Dimensions 1.00 × 3.00 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-wall-with-bars-4b3bf102","cdnUrl":"https://cdn.3dassets.dev/assets/25584/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-wall-with-bars-4b3bf102","thumbnailUrl":"https://cdn.3dassets.dev/assets/25584/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25584/v1/poster.webp","blurhash":"U18Nz+_10000~qbw4UZ#D#XB-?rn?vo}9FMw","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":108188,"triangles":2188,"vertices":6564,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.499938962981048,0,-0.03497421185949278],"max":[0.499938962981048,3,0.05297277631352305]},"sizeMeters":[1,3,0.088],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:07.472Z","updatedAt":"2026-10-25T08:15:50.548Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25584/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellWallWithBarsPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25584/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25584/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25584/v1/model.glb\" alt=\"cell wall with bars (Prison Complex Builder)\" 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/25584/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/25584/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25588","slug":"prison-complex-builder-cell-door-barred-a0e85427","title":"cell door barred (Prison Complex Builder)","summary":"barred cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners.","description":"barred cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners. Dimensions 1.00 × 2.20 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-door-barred-a0e85427","cdnUrl":"https://cdn.3dassets.dev/assets/25588/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-door-barred-a0e85427","thumbnailUrl":"https://cdn.3dassets.dev/assets/25588/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25588/v1/poster.webp","blurhash":"U38N;4Q-00yD~qtR4mMxITR*xu%2-;ozIARi","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":200508,"triangles":4052,"vertices":12156,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4999633886250432,0,-0.08003174098449627],"max":[0.4999633886250432,2.200000047683716,0.17157919760517748]},"sizeMeters":[1,2.2,0.252],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:08.580Z","updatedAt":"2026-10-25T13:35:45.518Z","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/25588/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 CellDoorBarredPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25588/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/25588/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25588/v1/model.glb\" alt=\"cell door barred (Prison Complex Builder)\" 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/25588/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/25588/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25590","slug":"prison-complex-builder-cell-door-barred-open-4f67f9a3","title":"cell door barred open (Prison Complex Builder)","summary":"barred cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners.","description":"barred cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners. Dimensions 1.08 × 2.20 × 0.96 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-door-barred-open-4f67f9a3","cdnUrl":"https://cdn.3dassets.dev/assets/25590/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-door-barred-open-4f67f9a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/25590/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25590/v1/poster.webp","blurhash":"U5AAgr0000~q_3WB8_xb00%MxbWB%gRjIAxu","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":200572,"triangles":4052,"vertices":12156,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5765791938798871,0,-0.08003174098449627],"max":[0.4999633886250432,2.200000047683716,0.8850350761466159]},"sizeMeters":[1.077,2.2,0.965],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:07.641Z","updatedAt":"2026-10-25T08:39:12.314Z","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/25590/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 CellDoorBarredOpenPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25590/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/25590/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25590/v1/model.glb\" alt=\"cell door barred open (Prison Complex Builder)\" 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/25590/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/25590/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25589","slug":"prison-complex-builder-solid-cell-door-5d978e5f","title":"solid cell door (Prison Complex Builder)","summary":"solid cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners.","description":"solid cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners. Dimensions 1.00 × 2.20 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-solid-cell-door-5d978e5f","cdnUrl":"https://cdn.3dassets.dev/assets/25589/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-solid-cell-door-5d978e5f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25589/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25589/v1/poster.webp","blurhash":"U2AAdhMw00tm_3tQ8_My01Rj_1%M-;ozIAV@","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":264640,"triangles":5372,"vertices":16116,"meshes":8,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4999633886250432,0,-0.08003174098449627],"max":[0.4999633886250432,2.200000047683716,0.17161508720235358]},"sizeMeters":[1,2.2,0.252],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:07.562Z","updatedAt":"2026-10-25T10:39:35.614Z","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/25589/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 SolidCellDoorPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25589/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/25589/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25589/v1/model.glb\" alt=\"solid cell door (Prison Complex Builder)\" 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/25589/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/25589/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25587","slug":"prison-complex-builder-solitary-cell-door-6388a499","title":"solitary cell door (Prison Complex Builder)","summary":"solitary cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners.","description":"solitary cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners. Dimensions 1.00 × 2.20 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-solitary-cell-door-6388a499","cdnUrl":"https://cdn.3dassets.dev/assets/25587/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-solitary-cell-door-6388a499","thumbnailUrl":"https://cdn.3dassets.dev/assets/25587/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25587/v1/poster.webp","blurhash":"U28N%;IA00-=~Xt74nM{f5RjM{%M-;ozIAV@","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":307108,"triangles":6272,"vertices":18816,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4999633886250432,0,-0.08003174098449627],"max":[0.4999633886250432,2.200000047683716,0.17161508720235358]},"sizeMeters":[1,2.2,0.252],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:07.534Z","updatedAt":"2026-10-25T07:58:32.311Z","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/25587/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 SolitaryCellDoorPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25587/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/25587/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25587/v1/model.glb\" alt=\"solitary cell door (Prison Complex Builder)\" 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/25587/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/25587/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25594","slug":"prison-complex-builder-block-door-with-control-6676f632","title":"block door with control (Prison Complex Builder)","summary":"control cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners.","description":"control cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners. Dimensions 1.18 × 2.20 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-block-door-with-control-6676f632","cdnUrl":"https://cdn.3dassets.dev/assets/25594/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-block-door-with-control-6676f632","thumbnailUrl":"https://cdn.3dassets.dev/assets/25594/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25594/v1/poster.webp","blurhash":"U49@bVW@00Mb.AtSDhI94TjY?btS-:s+IUIt","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":286936,"triangles":6572,"vertices":19716,"meshes":9,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4999655232951715,0,-0.08003174098449627],"max":[0.6799655304477289,2.200000047683716,0.17161508720235358]},"sizeMeters":[1.18,2.2,0.252],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:09.110Z","updatedAt":"2026-10-25T08:34:46.054Z","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/25594/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 BlockDoorWithControlPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25594/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/25594/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25594/v1/model.glb\" alt=\"block door with control (Prison Complex Builder)\" 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/25594/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/25594/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25596","slug":"prison-complex-builder-evacuation-door-ba2df6d9","title":"evacuation door (Prison Complex Builder)","summary":"evacuation cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners.","description":"evacuation cell-access door in a 1 m frame, 2.2 m high; named hinge node, lock box, handle and jamb fasteners. Dimensions 1.00 × 2.20 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-evacuation-door-ba2df6d9","cdnUrl":"https://cdn.3dassets.dev/assets/25596/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-evacuation-door-ba2df6d9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25596/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25596/v1/poster.webp","blurhash":"U2AAdhMw00tm_3tQ8_My01Rj_1%M-;ozIARj","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":279036,"triangles":5672,"vertices":17016,"meshes":8,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4999633886250432,0,-0.08003174098449627],"max":[0.4999633886250432,2.200000047683716,0.17163340298189317]},"sizeMeters":[1,2.2,0.252],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:09.226Z","updatedAt":"2026-10-25T10:32:11.042Z","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/25596/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 EvacuationDoorPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25596/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/25596/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25596/v1/model.glb\" alt=\"evacuation door (Prison Complex Builder)\" 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/25596/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/25596/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25595","slug":"prison-complex-builder-cell-bunk-7838538a","title":"cell bunk (Prison Complex Builder)","summary":"Bolted two-tier steel bunk with two vinyl mattresses, raised side guards and five ladder rungs.","description":"Bolted two-tier steel bunk with two vinyl mattresses, raised side guards and five ladder rungs. Dimensions 1.00 × 1.75 × 2.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-bunk-7838538a","cdnUrl":"https://cdn.3dassets.dev/assets/25595/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-bunk-7838538a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25595/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25595/v1/poster.webp","blurhash":"U7AT=-.98wMw.AD$8_x^8wjDS*o#V=M{Rlog","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":351104,"triangles":7248,"vertices":21744,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.499925206948648,-0.00004730556002974229,-1.0499999523162842],"max":[0.499925206948648,1.7500373513964451,1.0499999523162842]},"sizeMeters":[1,1.75,2.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:10.232Z","updatedAt":"2026-10-25T14:49:07.476Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25595/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellBunkPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25595/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25595/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25595/v1/model.glb\" alt=\"cell bunk (Prison Complex Builder)\" 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/25595/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/25595/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25597","slug":"prison-complex-builder-toilet-sink-combo-446d20fd","title":"toilet sink combo (Prison Complex Builder)","summary":"Compact stainless toilet and basin combination with a hollow bowl, seat ring, tap and integrated cistern.","description":"Compact stainless toilet and basin combination with a hollow bowl, seat ring, tap and integrated cistern. Dimensions 0.54 × 1.00 × 0.92 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-toilet-sink-combo-446d20fd","cdnUrl":"https://cdn.3dassets.dev/assets/25597/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-toilet-sink-combo-446d20fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/25597/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25597/v1/poster.webp","blurhash":"U38z=Oxu00of-;D%9F_300D%?b?b?b?bRj9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":89548,"triangles":1828,"vertices":5484,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2700140618876309,0,-0.4600267711675873],"max":[0.2700140618876309,0.995785117149353,0.4600267711675873]},"sizeMeters":[0.54,0.996,0.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:09.278Z","updatedAt":"2026-10-12T10:13:55.931Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25597/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ToiletSinkComboPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25597/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25597/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25597/v1/model.glb\" alt=\"toilet sink combo (Prison Complex Builder)\" 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/25597/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/25597/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25598","slug":"prison-complex-builder-cell-shelf-11c4bb53","title":"cell shelf (Prison Complex Builder)","summary":"Wall-mounted shelf with two diagonal brackets, back fasteners and a rounded front lip; grounded for placement.","description":"Wall-mounted shelf with two diagonal brackets, back fasteners and a rounded front lip; grounded for placement. Dimensions 0.70 × 0.35 × 0.27 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-shelf-11c4bb53","cdnUrl":"https://cdn.3dassets.dev/assets/25598/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-shelf-11c4bb53","thumbnailUrl":"https://cdn.3dassets.dev/assets/25598/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25598/v1/poster.webp","blurhash":"UJ9HFUofITj@_NxuM_WARj%MofM{9FxuxuRi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":61808,"triangles":1236,"vertices":3708,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0.000009114439608187697,-0.13498183918813472],"max":[0.3499999940395355,0.3550176152002023,0.13498183918813472]},"sizeMeters":[0.7,0.355,0.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:10.368Z","updatedAt":"2026-10-12T09:36:37.577Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25598/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellShelfPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25598/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25598/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25598/v1/model.glb\" alt=\"cell shelf (Prison Complex Builder)\" 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/25598/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/25598/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25599","slug":"prison-complex-builder-mezzanine-walkway-53adfd20","title":"mezzanine walkway (Prison Complex Builder)","summary":"Steel catwalk deck with anti-slip surface and structural edge beams; 2 m long, 1 m wide.","description":"Steel catwalk deck with anti-slip surface and structural edge beams; 2 m long, 1 m wide. Dimensions 2.00 × 0.13 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-mezzanine-walkway-53adfd20","cdnUrl":"https://cdn.3dassets.dev/assets/25599/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-mezzanine-walkway-53adfd20","thumbnailUrl":"https://cdn.3dassets.dev/assets/25599/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25599/v1/poster.webp","blurhash":"U8AmxYxv00fO?b%NNFMx00of~qM{009Fxu%M","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":57164,"triangles":1140,"vertices":3420,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00005477869625836185,-0.5012424097989016],"max":[1,0.12994521757845123,0.5012424097989016]},"sizeMeters":[2,0.13,1.002],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:09.365Z","updatedAt":"2026-10-25T09:30:37.555Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25599/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MezzanineWalkwayPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25599/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25599/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25599/v1/model.glb\" alt=\"mezzanine walkway (Prison Complex Builder)\" 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/25599/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/25599/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25603","slug":"prison-complex-builder-walkway-corner-0a364f1e","title":"walkway corner (Prison Complex Builder)","summary":"Steel catwalk deck with anti-slip surface and structural edge beams; 2 m long, 1 m wide.","description":"Steel catwalk deck with anti-slip surface and structural edge beams; 2 m long, 1 m wide. Dimensions 2.00 × 0.13 × 2.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-walkway-corner-0a364f1e","cdnUrl":"https://cdn.3dassets.dev/assets/25603/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-walkway-corner-0a364f1e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25603/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25603/v1/poster.webp","blurhash":"UBAAgtIU00of%NWAM{t700%M~qRjDixuxuM{","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":57064,"triangles":1440,"vertices":4320,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00005477869625836185,-0.5011868837279593],"max":[1,0.12994521757845123,1.5]},"sizeMeters":[2,0.13,2.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:10.179Z","updatedAt":"2026-10-25T09:11:07.666Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25603/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalkwayCornerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25603/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25603/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25603/v1/model.glb\" alt=\"walkway corner (Prison Complex Builder)\" 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/25603/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/25603/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25604","slug":"prison-complex-builder-walkway-end-1c634cce","title":"walkway end (Prison Complex Builder)","summary":"Steel catwalk deck with anti-slip surface and structural edge beams; 2 m long, 1 m wide.","description":"Steel catwalk deck with anti-slip surface and structural edge beams; 2 m long, 1 m wide. Dimensions 2.04 × 1.24 × 2.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-walkway-end-1c634cce","cdnUrl":"https://cdn.3dassets.dev/assets/25604/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-walkway-end-1c634cce","thumbnailUrl":"https://cdn.3dassets.dev/assets/25604/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25604/v1/poster.webp","blurhash":"U79%;o4n00WB9FWB-;Rj00-;_3xu_4xu9Ea#","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":107272,"triangles":2184,"vertices":6552,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000009428967097102614,-1.0299999713897705],"max":[1.0400010967487838,1.2399530062637787,1.0299999713897705]},"sizeMeters":[2.04,1.24,2.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:11.279Z","updatedAt":"2026-10-25T14:50:07.872Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25604/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalkwayEndPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25604/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25604/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25604/v1/model.glb\" alt=\"walkway end (Prison Complex Builder)\" 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/25604/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/25604/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25605","slug":"prison-complex-builder-walkway-rail-aa39e05e","title":"walkway rail (Prison Complex Builder)","summary":"Bolted 2 m catwalk guard rail with top rail, mid rail, vertical infill and toe rail.","description":"Bolted 2 m catwalk guard rail with top rail, mid rail, vertical infill and toe rail. Dimensions 2.06 × 1.12 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-walkway-rail-aa39e05e","cdnUrl":"https://cdn.3dassets.dev/assets/25605/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-walkway-rail-aa39e05e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25605/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25605/v1/poster.webp","blurhash":"U8BN7y?b4n-;?v_NxuIo00ofxvM{WBo#NGMx","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":52512,"triangles":1044,"vertices":3132,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0299999713897705,-0.00003323797616894275,-0.07003509434053799],"max":[1.0299999713897705,1.1199643001984474,0.07003509434053799]},"sizeMeters":[2.06,1.12,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:11.956Z","updatedAt":"2026-10-11T17:51:18.441Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25605/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalkwayRailPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25605/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25605/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25605/v1/model.glb\" alt=\"walkway rail (Prison Complex Builder)\" 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/25605/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/25605/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25606","slug":"prison-complex-builder-cell-block-stair-abb4eae5","title":"cell block stair (Prison Complex Builder)","summary":"Fifteen steel stair treads, two stringers and handrails connect ground to the 3 m mezzanine level.","description":"Fifteen steel stair treads, two stringers and handrails connect ground to the 3 m mezzanine level. Dimensions 1.06 × 4.07 × 3.79 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-block-stair-abb4eae5","cdnUrl":"https://cdn.3dassets.dev/assets/25606/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-block-stair-abb4eae5","thumbnailUrl":"https://cdn.3dassets.dev/assets/25606/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25606/v1/poster.webp","blurhash":"U46[5S%M00M{-;?bRj9F00WA_4WVD%4nxv~q","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":269236,"triangles":5556,"vertices":16668,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5300609318633124,0,-2.0321733159301782],"max":[0.5300609318633124,4.072959899902344,1.7599771525562455]},"sizeMeters":[1.06,4.073,3.792],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:10.942Z","updatedAt":"2026-10-12T13:52:21.167Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25606/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellBlockStairPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25606/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25606/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25606/v1/model.glb\" alt=\"cell block stair (Prison Complex Builder)\" 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/25606/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/25606/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25607","slug":"prison-complex-builder-floor-tile-5d7588bd","title":"floor tile (Prison Complex Builder)","summary":"floor tile on the 1 m floor grid, sealed slab with expansion joints.","description":"floor tile on the 1 m floor grid, sealed slab with expansion joints. Dimensions 1.00 × 0.12 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-floor-tile-5d7588bd","cdnUrl":"https://cdn.3dassets.dev/assets/25607/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-floor-tile-5d7588bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/25607/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25607/v1/poster.webp","blurhash":"U6B:,1-;00Rj-;R*M{t700IA~qay4nxuxuM{","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":31468,"triangles":348,"vertices":1044,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,6.090290850108149e-7,-0.5],"max":[0.5,0.12298167029140862,0.5]},"sizeMeters":[1,0.123,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:10.926Z","updatedAt":"2026-10-13T03:08:45.467Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25607/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorTilePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25607/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25607/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25607/v1/model.glb\" alt=\"floor tile (Prison Complex Builder)\" 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/25607/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/25607/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25608","slug":"prison-complex-builder-drain-floor-e38e301a","title":"drain floor (Prison Complex Builder)","summary":"drain floor on the 1 m floor grid, sealed slab with expansion joints and removable-looking slotted grate.","description":"drain floor on the 1 m floor grid, sealed slab with expansion joints and removable-looking slotted grate. Dimensions 1.00 × 0.14 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-drain-floor-e38e301a","cdnUrl":"https://cdn.3dassets.dev/assets/25608/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-drain-floor-e38e301a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25608/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25608/v1/poster.webp","blurhash":"U4Bpzy?b00Ri?baeIUoz00D%_NV[4nt7xbM_","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":45164,"triangles":756,"vertices":2268,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,6.090290850108149e-7,-0.5],"max":[0.5,0.13900330820620455,0.5]},"sizeMeters":[1,0.139,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:10.995Z","updatedAt":"2026-10-12T09:49:10.007Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25608/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrainFloorPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25608/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25608/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25608/v1/model.glb\" alt=\"drain floor (Prison Complex Builder)\" 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/25608/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/25608/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25612","slug":"prison-complex-builder-corridor-corner-3d932ad2","title":"corridor corner (Prison Complex Builder)","summary":"corridor corner on the 1 m floor grid, sealed slab with expansion joints.","description":"corridor corner on the 1 m floor grid, sealed slab with expansion joints. Dimensions 1.11 × 3.12 × 1.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-corridor-corner-3d932ad2","cdnUrl":"https://cdn.3dassets.dev/assets/25612/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-corridor-corner-3d932ad2","thumbnailUrl":"https://cdn.3dassets.dev/assets/25612/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25612/v1/poster.webp","blurhash":"U5E39r?H00E1~pni9Go}00js?aM{-;WBE1oz","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":188960,"triangles":2940,"vertices":8820,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.6074291856377197,6.090290850108149e-7,-0.6075114702891314],"max":[0.5,3.119999885559082,0.5012114739130938]},"sizeMeters":[1.107,3.12,1.109],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:11.843Z","updatedAt":"2026-10-06T00:58:18.551Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25612/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CorridorCornerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25612/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25612/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25612/v1/model.glb\" alt=\"corridor corner (Prison Complex Builder)\" 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/25612/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/25612/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25613","slug":"prison-complex-builder-corridor-t-cc6c9352","title":"corridor t (Prison Complex Builder)","summary":"corridor t on the 1 m floor grid, sealed slab with expansion joints.","description":"corridor t on the 1 m floor grid, sealed slab with expansion joints. Dimensions 1.00 × 3.12 × 1.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-corridor-t-cc6c9352","cdnUrl":"https://cdn.3dassets.dev/assets/25613/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-corridor-t-cc6c9352","thumbnailUrl":"https://cdn.3dassets.dev/assets/25613/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25613/v1/poster.webp","blurhash":"UDCsgZ9F00~qjEM{WX-;D%%MxuD%xufkM{ja","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":103836,"triangles":1644,"vertices":4932,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.5011557419612838,6.090290850108149e-7,-0.6074845518359876],"max":[0.5,3.119999885559082,0.5]},"sizeMeters":[1.001,3.12,1.107],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:11.980Z","updatedAt":"2026-10-06T15:03:41.883Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25613/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CorridorTPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25613/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25613/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25613/v1/model.glb\" alt=\"corridor t (Prison Complex Builder)\" 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/25613/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/25613/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25614","slug":"prison-complex-builder-stair-landing-41d54a71","title":"stair landing (Prison Complex Builder)","summary":"stair landing on the 1 m floor grid, sealed slab with expansion joints.","description":"stair landing on the 1 m floor grid, sealed slab with expansion joints. Dimensions 2.00 × 0.12 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-stair-landing-41d54a71","cdnUrl":"https://cdn.3dassets.dev/assets/25614/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-stair-landing-41d54a71","thumbnailUrl":"https://cdn.3dassets.dev/assets/25614/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25614/v1/poster.webp","blurhash":"U7BgC{-;00WV-;?bj[D%00M{~qM{9F4TRP-;","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":31464,"triangles":348,"vertices":1044,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.00006164604803700346,-0.50007629627369],"max":[1,0.12294364417245854,0.50007629627369]},"sizeMeters":[2,0.123,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:12.116Z","updatedAt":"2026-10-12T11:03:59.871Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25614/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StairLandingPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25614/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25614/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25614/v1/model.glb\" alt=\"stair landing (Prison Complex Builder)\" 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/25614/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/25614/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25615","slug":"prison-complex-builder-ceiling-light-bank-0850b2c1","title":"ceiling light bank (Prison Complex Builder)","summary":"Twin protected fluorescent-style light tubes, steel reflector housing and hanging brackets; grounded for placement.","description":"Twin protected fluorescent-style light tubes, steel reflector housing and hanging brackets; grounded for placement. Dimensions 1.20 × 0.21 × 0.36 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-ceiling-light-bank-0850b2c1","cdnUrl":"https://cdn.3dassets.dev/assets/25615/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-ceiling-light-bank-0850b2c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/25615/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25615/v1/poster.webp","blurhash":"U7A,:=-;00tQoy?vxuD%00IU~qV@Rk00IU?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":47228,"triangles":900,"vertices":2700,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.000008542699465964587,-0.1814992497131539],"max":[0.6000000238418579,0.20999526595857965,0.18147204705720732]},"sizeMeters":[1.2,0.21,0.363],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:12.552Z","updatedAt":"2026-10-12T09:46:29.986Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25615/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CeilingLightBankPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25615/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25615/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25615/v1/model.glb\" alt=\"ceiling light bank (Prison Complex Builder)\" 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/25615/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/25615/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25617","slug":"prison-complex-builder-window-barred-94f75558","title":"window barred (Prison Complex Builder)","summary":"Inset glazed barred window with concrete reveal and six round steel bars; 1.08 m wide.","description":"Inset glazed barred window with concrete reveal and six round steel bars; 1.08 m wide. Dimensions 1.08 × 1.10 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-window-barred-94f75558","cdnUrl":"https://cdn.3dassets.dev/assets/25617/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-window-barred-94f75558","thumbnailUrl":"https://cdn.3dassets.dev/assets/25617/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25617/v1/poster.webp","blurhash":"U8Gu,j_400oI^,_3RQ4n00M{_NM{t7%LRj9Z","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":121652,"triangles":2124,"vertices":6372,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.5399960442978669,0,-0.09896856377253539],"max":[0.5399960442978669,1.100000023841858,0.09899230796842516]},"sizeMeters":[1.08,1.1,0.198],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:12.810Z","updatedAt":"2026-10-05T09:42:49.441Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25617/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindowBarredPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25617/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25617/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25617/v1/model.glb\" alt=\"window barred (Prison Complex Builder)\" 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/25617/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/25617/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25616","slug":"prison-complex-builder-shower-stall-row-b1d313c2","title":"shower stall row (Prison Complex Builder)","summary":"Three divided institutional shower stalls with risers, heads, taps, drains and a tiled back wall.","description":"Three divided institutional shower stalls with risers, heads, taps, drains and a tiled back wall. Dimensions 3.06 × 2.52 × 1.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-shower-stall-row-b1d313c2","cdnUrl":"https://cdn.3dassets.dev/assets/25616/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-shower-stall-row-b1d313c2","thumbnailUrl":"https://cdn.3dassets.dev/assets/25616/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25616/v1/poster.webp","blurhash":"UAHoOIIY00Rp~X?aD%D%00xpWGW9k7xvM_IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":160460,"triangles":3276,"vertices":9828,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.527500033378601,-0.000060427989866981835,-0.5999211403705976],"max":[1.527500033378601,2.520062021864417,0.5999176000244149]},"sizeMeters":[3.055,2.52,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:12.656Z","updatedAt":"2026-10-12T09:54:49.452Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25616/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShowerStallRowPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25616/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25616/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25616/v1/model.glb\" alt=\"shower stall row (Prison Complex Builder)\" 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/25616/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/25616/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25618","slug":"prison-complex-builder-cell-bars-end-33cecccb","title":"cell bars end (Prison Complex Builder)","summary":"Narrow termination post and infill for a barred partition, with closed side profile.","description":"Narrow termination post and infill for a barred partition, with closed side profile. Dimensions 0.26 × 3.00 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-bars-end-33cecccb","cdnUrl":"https://cdn.3dassets.dev/assets/25618/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-bars-end-33cecccb","thumbnailUrl":"https://cdn.3dassets.dev/assets/25618/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25618/v1/poster.webp","blurhash":"U14em7?v0000tlkCVYV@S#WBrrt7pIkCVYaK","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":104108,"triangles":2104,"vertices":6312,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.12493169183649878,0,-0.04995420766198469],"max":[0.13498707871929472,3.001199960708618,0.05295420629107786]},"sizeMeters":[0.26,3.001,0.103],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:12.987Z","updatedAt":"2026-10-12T10:46:30.656Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25618/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellBarsEndPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25618/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25618/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25618/v1/model.glb\" alt=\"cell bars end (Prison Complex Builder)\" 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/25618/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/25618/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25621","slug":"prison-complex-builder-catwalk-gate-68c26a03","title":"catwalk gate (Prison Complex Builder)","summary":"One-metre hinged catwalk gate with a named pivot, latch and guard-rail infill.","description":"One-metre hinged catwalk gate with a named pivot, latch and guard-rail infill. Dimensions 1.20 × 1.12 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-catwalk-gate-68c26a03","cdnUrl":"https://cdn.3dassets.dev/assets/25621/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-catwalk-gate-68c26a03","thumbnailUrl":"https://cdn.3dassets.dev/assets/25621/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25621/v1/poster.webp","blurhash":"U3AdG,0000%gt7~q9F0000-;%NM{?b?bR%4n","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":64712,"triangles":1272,"vertices":3816,"meshes":5,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0,-0.07002167092413907],"max":[0.6000000238418579,1.1200000166893007,0.09162375479160095]},"sizeMeters":[1.2,1.12,0.162],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:13.498Z","updatedAt":"2026-10-12T08:03:36.289Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25621/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CatwalkGatePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25621/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25621/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25621/v1/model.glb\" alt=\"catwalk gate (Prison Complex Builder)\" 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/25621/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/25621/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25622","slug":"prison-complex-builder-service-hatch-663be321","title":"service hatch (Prison Complex Builder)","summary":"Bolted service-access hatch with louvres, an edge handle and a separately named hinged panel.","description":"Bolted service-access hatch with louvres, an edge handle and a separately named hinged panel. Dimensions 0.65 × 0.55 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-service-hatch-663be321","cdnUrl":"https://cdn.3dassets.dev/assets/25622/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-service-hatch-663be321","thumbnailUrl":"https://cdn.3dassets.dev/assets/25622/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25622/v1/poster.webp","blurhash":"UCF~dMR*00Rj~p?b9G4.00t7-:M|D*xt%LE1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":125620,"triangles":2548,"vertices":7644,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3249999880790709,-0.00001065740662226089,-0.05055876139911913],"max":[0.3249999761581421,0.5500106752880158,0.05057055028646304]},"sizeMeters":[0.65,0.55,0.101],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:13.555Z","updatedAt":"2026-10-25T11:04:18.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25622/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ServiceHatchPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25622/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25622/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25622/v1/model.glb\" alt=\"service hatch (Prison Complex Builder)\" 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/25622/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/25622/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25623","slug":"prison-complex-builder-wall-vent-4bbbb1e7","title":"wall vent (Prison Complex Builder)","summary":"Wall-mounted ventilation grille with nine louvres, deep backing and four accessible fasteners.","description":"Wall-mounted ventilation grille with nine louvres, deep backing and four accessible fasteners. Dimensions 0.60 × 0.40 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-wall-vent-4bbbb1e7","cdnUrl":"https://cdn.3dassets.dev/assets/25623/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-wall-vent-4bbbb1e7","thumbnailUrl":"https://cdn.3dassets.dev/assets/25623/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25623/v1/poster.webp","blurhash":"U5B3~T%M00V[_3~qMyD%00fk%MRQtQ%MM{Di","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":172392,"triangles":3540,"vertices":10620,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,-0.00001221237132922881,-0.032264169500087085],"max":[0.30000001192092896,0.4000122183317937,0.032264169500087085]},"sizeMeters":[0.6,0.4,0.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:13.703Z","updatedAt":"2026-10-07T01:45:43.703Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25623/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallVentPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25623/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25623/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25623/v1/model.glb\" alt=\"wall vent (Prison Complex Builder)\" 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/25623/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/25623/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25624","slug":"prison-complex-builder-floor-threshold-ramp-5fd13e3d","title":"floor threshold ramp (Prison Complex Builder)","summary":"One-metre shallow threshold ramp rising from 15 mm to the 120 mm floor slab, with a safety edge.","description":"One-metre shallow threshold ramp rising from 15 mm to the 120 mm floor slab, with a safety edge. Dimensions 1.00 × 0.12 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-floor-threshold-ramp-5fd13e3d","cdnUrl":"https://cdn.3dassets.dev/assets/25624/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-floor-threshold-ramp-5fd13e3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25624/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25624/v1/poster.webp","blurhash":"U5BDf=?a00RPa$WBWAt700D*~qj[jEs;t9Ip","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":2872,"triangles":24,"vertices":72,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,6.090290850108149e-7,-0.5],"max":[0.5,0.12301422469505502,0.5]},"sizeMeters":[1,0.123,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:13.895Z","updatedAt":"2026-10-25T13:55:44.783Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25624/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorThresholdRampPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25624/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25624/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25624/v1/model.glb\" alt=\"floor threshold ramp (Prison Complex Builder)\" 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/25624/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/25624/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25625","slug":"prison-complex-builder-perimeter-fence-straight-5d1c2cc6","title":"perimeter fence straight (Prison Complex Builder)","summary":"perimeter fence straight with 3 m posts, steel mesh, top and bottom rails and bolted footplates.","description":"perimeter fence straight with 3 m posts, steel mesh, top and bottom rails and bolted footplates. Dimensions 2.08 × 3.00 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-perimeter-fence-straight-5d1c2cc6","cdnUrl":"https://cdn.3dassets.dev/assets/25625/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-perimeter-fence-straight-5d1c2cc6","thumbnailUrl":"https://cdn.3dassets.dev/assets/25625/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25625/v1/poster.webp","blurhash":"U29H9D-;00D$_3-;IA8_00of_4M{j=%Nt89F","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":51652,"triangles":1024,"vertices":3072,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0399970097315203,0,-0.07004657128219781],"max":[1.0399970097315203,3,0.07004657128219781]},"sizeMeters":[2.08,3,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":14,"publishedAt":"2026-09-07T20:41:14.224Z","updatedAt":"2026-10-12T08:18:29.320Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25625/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterFenceStraightPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25625/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25625/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25625/v1/model.glb\" alt=\"perimeter fence straight (Prison Complex Builder)\" 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/25625/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/25625/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25626","slug":"prison-complex-builder-perimeter-fence-corner-4235a8c1","title":"perimeter fence corner (Prison Complex Builder)","summary":"perimeter fence corner with 3 m posts, steel mesh, top and bottom rails and bolted footplates.","description":"perimeter fence corner with 3 m posts, steel mesh, top and bottom rails and bolted footplates. Dimensions 2.11 × 3.00 × 2.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-perimeter-fence-corner-4235a8c1","cdnUrl":"https://cdn.3dassets.dev/assets/25626/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-perimeter-fence-corner-4235a8c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/25626/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25626/v1/poster.webp","blurhash":"UA8g,44m00~qt8W.Rjt7IVt7oyRij[f7j?WB","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":100908,"triangles":2048,"vertices":6144,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0400322133183204,0,-0.07003227784034838],"max":[1.0700323039173805,3,2.0400322393953525]},"sizeMeters":[2.11,3,2.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:14.421Z","updatedAt":"2026-10-12T09:56:25.621Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25626/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterFenceCornerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25626/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25626/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25626/v1/model.glb\" alt=\"perimeter fence corner (Prison Complex Builder)\" 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/25626/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/25626/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25627","slug":"prison-complex-builder-perimeter-fence-gate-ef46b0dc","title":"perimeter fence gate (Prison Complex Builder)","summary":"perimeter fence gate with 3 m posts, steel mesh, top and bottom rails and bolted footplates.","description":"perimeter fence gate with 3 m posts, steel mesh, top and bottom rails and bolted footplates. Dimensions 2.08 × 3.00 × 0.17 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-perimeter-fence-gate-ef46b0dc","cdnUrl":"https://cdn.3dassets.dev/assets/25627/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-perimeter-fence-gate-ef46b0dc","thumbnailUrl":"https://cdn.3dassets.dev/assets/25627/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25627/v1/poster.webp","blurhash":"U397hUM|00D%%N-;D%4n00of~qs;Rjt7t6RP","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":80472,"triangles":1568,"vertices":4704,"meshes":6,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0399999618530273,-0.000013946821916018676,-0.06995330411462973],"max":[1.0399999618530273,3,0.10162374803674591]},"sizeMeters":[2.08,3,0.172],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:14.576Z","updatedAt":"2026-10-25T11:45:39.603Z","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/25627/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 PerimeterFenceGatePrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25627/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/25627/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25627/v1/model.glb\" alt=\"perimeter fence gate (Prison Complex Builder)\" 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/25627/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/25627/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25629","slug":"prison-complex-builder-double-fence-run-5dca4a7c","title":"double fence run (Prison Complex Builder)","summary":"double fence run with 3 m posts, steel mesh, top and bottom rails and bolted footplates.","description":"double fence run with 3 m posts, steel mesh, top and bottom rails and bolted footplates. Dimensions 2.08 × 3.00 × 1.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-double-fence-run-5dca4a7c","cdnUrl":"https://cdn.3dassets.dev/assets/25629/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-double-fence-run-5dca4a7c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25629/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25629/v1/poster.webp","blurhash":"U3AwJ2?d00IU_3xuM_WU8^t1%LRjodxuxuRj","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":100788,"triangles":2048,"vertices":6144,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0399970097315203,0,-0.06996857067564943],"max":[1.0399970097315203,3,1.0699686228297136]},"sizeMeters":[2.08,3,1.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:14.709Z","updatedAt":"2026-10-25T14:50:59.031Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25629/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DoubleFenceRunPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25629/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25629/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25629/v1/model.glb\" alt=\"double fence run (Prison Complex Builder)\" 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/25629/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/25629/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25632","slug":"prison-complex-builder-razor-wire-coil-ccfbbe03","title":"razor wire coil (Prison Complex Builder)","summary":"Four-loop 2 m razor-wire crown section with discrete flat barbs, designed for placement atop a perimeter fence.","description":"Four-loop 2 m razor-wire crown section with discrete flat barbs, designed for placement atop a perimeter fence. Dimensions 2.05 × 0.57 × 0.57 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-razor-wire-coil-ccfbbe03","cdnUrl":"https://cdn.3dassets.dev/assets/25632/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-razor-wire-coil-ccfbbe03","thumbnailUrl":"https://cdn.3dassets.dev/assets/25632/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25632/v1/poster.webp","blurhash":"U27w]B?b00t7xu~q%MIU00IU~qxuD$00ITxv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":136244,"triangles":2800,"vertices":8400,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0399999618530273,0.00001879045567243498,-0.28295959523120195],"max":[1.0124640464782715,0.5659007280150917,0.28292234232821734]},"sizeMeters":[2.052,0.566,0.566],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:15.289Z","updatedAt":"2026-10-25T10:20:52.284Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25632/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RazorWireCoilPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25632/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25632/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25632/v1/model.glb\" alt=\"razor wire coil (Prison Complex Builder)\" 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/25632/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/25632/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25633","slug":"prison-complex-builder-high-perimeter-wall-7a09adc9","title":"high perimeter wall (Prison Complex Builder)","summary":"Four-metre precast perimeter wall with two buttresses, capping and panel joints.","description":"Four-metre precast perimeter wall with two buttresses, capping and panel joints. Dimensions 2.12 × 4.00 × 0.55 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-high-perimeter-wall-7a09adc9","cdnUrl":"https://cdn.3dassets.dev/assets/25633/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-high-perimeter-wall-7a09adc9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25633/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25633/v1/poster.webp","blurhash":"U5CsgZ~p0000~W%M9F9FIBRPxuxu?b%MD*9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":91524,"triangles":1272,"vertices":3816,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-1.0599689238723884,0,-0.27491074704141644],"max":[1.0599689238723884,4.001200199127197,0.27491074704141644]},"sizeMeters":[2.12,4.001,0.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:15.444Z","updatedAt":"2026-10-06T21:35:02.573Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25633/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HighPerimeterWallPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25633/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25633/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25633/v1/model.glb\" alt=\"high perimeter wall (Prison Complex Builder)\" 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/25633/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/25633/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25634","slug":"prison-complex-builder-guard-tower-e11a7eb9","title":"guard tower (Prison Complex Builder)","summary":"Elevated 6.4 m observation tower, braced supports, access ladder, glazed cabin and mounted searchlight.","description":"Elevated 6.4 m observation tower, braced supports, access ladder, glazed cabin and mounted searchlight. Dimensions 2.60 × 6.46 × 2.73 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-guard-tower-e11a7eb9","cdnUrl":"https://cdn.3dassets.dev/assets/25634/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-guard-tower-e11a7eb9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25634/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25634/v1/poster.webp","blurhash":"UABDc,Rj00oz~qt79FV[E2t7s+RkD*Rj%2of","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":380656,"triangles":7632,"vertices":22896,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-1.3001028358610698,0,-1.3633529007109233],"max":[1.3001028358610698,6.460000038146973,1.363248421821908]},"sizeMeters":[2.6,6.46,2.727],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:15.517Z","updatedAt":"2026-10-12T09:27:03.534Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25634/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuardTowerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25634/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25634/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25634/v1/model.glb\" alt=\"guard tower (Prison Complex Builder)\" 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/25634/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/25634/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25635","slug":"prison-complex-builder-gatehouse-5019f1c7","title":"gatehouse (Prison Complex Builder)","summary":"Three-metre gatehouse with glazed side views, open front passage, check-in shelf and a desk console.","description":"Three-metre gatehouse with glazed side views, open front passage, check-in shelf and a desk console. Dimensions 3.20 × 2.86 × 3.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-gatehouse-5019f1c7","cdnUrl":"https://cdn.3dassets.dev/assets/25635/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-gatehouse-5019f1c7","thumbnailUrl":"https://cdn.3dassets.dev/assets/25635/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25635/v1/poster.webp","blurhash":"UBGb*X%M00%L?woeaJj[00kCM{D%RNM|IVt7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":370756,"triangles":7660,"vertices":22980,"meshes":11,"materials":8,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.600000023841858,-0.00007550499874700578,-1.4999969705007488],"max":[1.600000023841858,2.860073027304597,1.4999969705007488]},"sizeMeters":[3.2,2.86,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:16.018Z","updatedAt":"2026-10-12T11:05:43.996Z","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/25635/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 GatehousePrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25635/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/25635/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25635/v1/model.glb\" alt=\"gatehouse (Prison Complex Builder)\" 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/25635/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/25635/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25636","slug":"prison-complex-builder-vehicle-sally-port-gate-1bda95eb","title":"vehicle sally port gate (Prison Complex Builder)","summary":"Four-metre vehicle gate with braced mesh leaf, lintel, lock housing and named left hinge pivot.","description":"Four-metre vehicle gate with braced mesh leaf, lintel, lock housing and named left hinge pivot. Dimensions 4.30 × 3.72 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-vehicle-sally-port-gate-1bda95eb","cdnUrl":"https://cdn.3dassets.dev/assets/25636/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-vehicle-sally-port-gate-1bda95eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/25636/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25636/v1/poster.webp","blurhash":"U6BDc+4n00V??w-;9E9G4nxujFxbt5xvRPIA","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":142624,"triangles":2432,"vertices":7296,"meshes":7,"materials":5,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-2.15120005607605,0.000008679496418695365,-0.1762084093907931],"max":[2.15120005607605,3.7199827133725036,0.22001068654011718]},"sizeMeters":[4.302,3.72,0.396],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:16.236Z","updatedAt":"2026-10-12T09:12:14.338Z","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/25636/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 VehicleSallyPortGatePrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25636/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/25636/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25636/v1/model.glb\" alt=\"vehicle sally port gate (Prison Complex Builder)\" 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/25636/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/25636/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25637","slug":"prison-complex-builder-security-turnstile-161b87d3","title":"security turnstile (Prison Complex Builder)","summary":"Tripod pedestrian turnstile with a named rotating arm group and bolted maintenance panel.","description":"Tripod pedestrian turnstile with a named rotating arm group and bolted maintenance panel. Dimensions 1.00 × 1.13 × 1.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips spin drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-security-turnstile-161b87d3","cdnUrl":"https://cdn.3dassets.dev/assets/25637/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-security-turnstile-161b87d3","thumbnailUrl":"https://cdn.3dassets.dev/assets/25637/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25637/v1/poster.webp","blurhash":"U47-f[_30000_3kCD$WA00IA_N?bIAxuxu9G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":48200,"triangles":1064,"vertices":3192,"meshes":5,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.4983594871657027,0,-0.5754165053367616],"max":[0.49835946818278537,1.1250066804111567,0.5754165053367614]},"sizeMeters":[0.997,1.125,1.151],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:41:16.391Z","updatedAt":"2026-10-12T11:04:27.605Z","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/25637/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 SecurityTurnstilePrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25637/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/25637/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25637/v1/model.glb\" alt=\"security turnstile (Prison Complex Builder)\" 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/25637/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/25637/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25638","slug":"prison-complex-builder-walk-through-metal-detector-866c3140","title":"walk through metal detector (Prison Complex Builder)","summary":"Walk-through metal-detector arch and indicator strips, display and shallow floor plate.","description":"Walk-through metal-detector arch and indicator strips, display and shallow floor plate. Dimensions 1.25 × 2.39 × 0.75 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-walk-through-metal-detector-866c3140","cdnUrl":"https://cdn.3dassets.dev/assets/25638/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-walk-through-metal-detector-866c3140","thumbnailUrl":"https://cdn.3dassets.dev/assets/25638/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25638/v1/poster.webp","blurhash":"UFE3I{x[00M{~qxt9FIVD*jI%MbE%Mt7M{M|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":321584,"triangles":6612,"vertices":19836,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6249626557855082,0,-0.3762412843639975],"max":[0.6249626557855082,2.390000104904175,0.37629507206330115]},"sizeMeters":[1.25,2.39,0.753],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:16.397Z","updatedAt":"2026-10-25T10:49:48.805Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25638/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalkThroughMetalDetectorPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25638/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25638/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25638/v1/model.glb\" alt=\"walk through metal detector (Prison Complex Builder)\" 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/25638/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/25638/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25640","slug":"prison-complex-builder-body-scanner-96994c48","title":"body scanner (Prison Complex Builder)","summary":"Body-scanning portal with tall sensor paddles and indicator strips, display and shallow floor plate.","description":"Body-scanning portal with tall sensor paddles and indicator strips, display and shallow floor plate. Dimensions 1.32 × 2.39 × 0.75 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-body-scanner-96994c48","cdnUrl":"https://cdn.3dassets.dev/assets/25640/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-body-scanner-96994c48","thumbnailUrl":"https://cdn.3dassets.dev/assets/25640/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25640/v1/poster.webp","blurhash":"UDF~gb%M00V@~qxu9FIU00WAxuWC-;ofIURj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":344352,"triangles":7512,"vertices":22536,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.6600705410174521,0,-0.3762412843639975],"max":[0.6600705410174521,2.390000104904175,0.37629507206330115]},"sizeMeters":[1.32,2.39,0.753],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:16.582Z","updatedAt":"2026-10-12T08:19:40.771Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25640/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BodyScannerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25640/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25640/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25640/v1/model.glb\" alt=\"body scanner (Prison Complex Builder)\" 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/25640/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/25640/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25644","slug":"prison-complex-builder-x-ray-conveyor-belt-d102ec12","title":"x ray conveyor belt (Prison Complex Builder)","summary":"Baggage X-ray tunnel with shield curtains, roller extensions, conveyor belt, support legs and operator screen.","description":"Baggage X-ray tunnel with shield curtains, roller extensions, conveyor belt, support legs and operator screen. Dimensions 2.80 × 1.60 × 0.90 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-x-ray-conveyor-belt-d102ec12","cdnUrl":"https://cdn.3dassets.dev/assets/25644/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-x-ray-conveyor-belt-d102ec12","thumbnailUrl":"https://cdn.3dassets.dev/assets/25644/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25644/v1/poster.webp","blurhash":"UFCGV[t700IV~qxu4nIU4mM{xu%M4nM{?bxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":433588,"triangles":8920,"vertices":26760,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-1.399999976158142,-0.00005019570952624619,-0.4500320367709498],"max":[1.399999976158142,1.5999855156289278,0.4500320367709498]},"sizeMeters":[2.8,1.6,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:18.609Z","updatedAt":"2026-10-25T09:19:15.479Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25644/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function XRayConveyorBeltPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25644/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25644/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25644/v1/model.glb\" alt=\"x ray conveyor belt (Prison Complex Builder)\" 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/25644/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/25644/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25643","slug":"prison-complex-builder-cctv-camera-437d44a3","title":"cctv camera (Prison Complex Builder)","summary":"Wall-mount CCTV camera with angled bracket, weather hood, lens barrel and mounting bolts; grounded for placement.","description":"Wall-mount CCTV camera with angled bracket, weather hood, lens barrel and mounting bolts; grounded for placement. Dimensions 0.21 × 0.39 × 0.68 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cctv-camera-437d44a3","cdnUrl":"https://cdn.3dassets.dev/assets/25643/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cctv-camera-437d44a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/25643/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25643/v1/poster.webp","blurhash":"UFAwPFt74nRj_NogITj@00WBxut700Rj%MWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":69800,"triangles":1372,"vertices":4116,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.10501297290935199,0.000013568862682833416,-0.3400000035762787],"max":[0.10501297290935199,0.3899864168322024,0.3400000035762787]},"sizeMeters":[0.21,0.39,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:17.506Z","updatedAt":"2026-10-25T09:56:07.556Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25643/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CctvCameraPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25643/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25643/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25643/v1/model.glb\" alt=\"cctv camera (Prison Complex Builder)\" 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/25643/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/25643/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25645","slug":"prison-complex-builder-floodlight-mast-41b3b228","title":"floodlight mast (Prison Complex Builder)","summary":"Five-metre galvanised floodlight mast with two lamp housings, inset lenses and a service box.","description":"Five-metre galvanised floodlight mast with two lamp housings, inset lenses and a service box. Dimensions 1.65 × 5.14 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-floodlight-mast-41b3b228","cdnUrl":"https://cdn.3dassets.dev/assets/25645/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-floodlight-mast-41b3b228","thumbnailUrl":"https://cdn.3dassets.dev/assets/25645/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25645/v1/poster.webp","blurhash":"U36kVB%M008{R.t7s*M{~qxt4nIUa%t7oaM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":118208,"triangles":2168,"vertices":6504,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-0.8250782096562767,0.00001281404919895035,-0.30000001192092896],"max":[0.8250782096562767,5.139999866485596,0.30000001192092896]},"sizeMeters":[1.65,5.14,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:17.588Z","updatedAt":"2026-10-25T07:51:47.719Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25645/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloodlightMastPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25645/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25645/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25645/v1/model.glb\" alt=\"floodlight mast (Prison Complex Builder)\" 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/25645/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/25645/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25646","slug":"prison-complex-builder-control-room-desk-c6662e01","title":"control room desk (Prison Complex Builder)","summary":"Three-screen control desk with keyboards, cable-ready rear edge and an operator chair.","description":"Three-screen control desk with keyboards, cable-ready rear edge and an operator chair. Dimensions 2.20 × 1.25 × 1.66 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-control-room-desk-c6662e01","cdnUrl":"https://cdn.3dassets.dev/assets/25646/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-control-room-desk-c6662e01","thumbnailUrl":"https://cdn.3dassets.dev/assets/25646/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25646/v1/poster.webp","blurhash":"U49Q?e4T00Q+?wr;9Fj{00.S-=o~00t-^,IS","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":428964,"triangles":8852,"vertices":26556,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.100000023841858,-0.000010673350641976498,-0.8299600387414854],"max":[1.100000023841858,1.250067688125585,0.8299600387414854]},"sizeMeters":[2.2,1.25,1.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:17.738Z","updatedAt":"2026-10-25T07:17:34.935Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25646/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ControlRoomDeskPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25646/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25646/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25646/v1/model.glb\" alt=\"control room desk (Prison Complex Builder)\" 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/25646/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/25646/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25647","slug":"prison-complex-builder-monitor-bank-539a3efe","title":"monitor bank (Prison Complex Builder)","summary":"Freestanding six-screen surveillance monitor array on a two-post steel frame.","description":"Freestanding six-screen surveillance monitor array on a two-post steel frame. Dimensions 1.77 × 1.90 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-monitor-bank-539a3efe","cdnUrl":"https://cdn.3dassets.dev/assets/25647/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-monitor-bank-539a3efe","thumbnailUrl":"https://cdn.3dassets.dev/assets/25647/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25647/v1/poster.webp","blurhash":"U897@YyE00jEtS%gf8D$00RO?wt7I9R5t7tR","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":224892,"triangles":4616,"vertices":13848,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8849999904632568,0,-0.07129608087825336],"max":[0.8849999904632568,1.899999976158142,0.07128392060363156]},"sizeMeters":[1.77,1.9,0.143],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:19.123Z","updatedAt":"2026-10-06T00:19:56.811Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25647/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MonitorBankPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25647/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25647/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25647/v1/model.glb\" alt=\"monitor bank (Prison Complex Builder)\" 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/25647/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/25647/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25648","slug":"prison-complex-builder-door-control-panel-689c600c","title":"door control panel (Prison Complex Builder)","summary":"Wall-mounted door-control panel with status screen, six tactile buttons and four fixing bolts.","description":"Wall-mounted door-control panel with status screen, six tactile buttons and four fixing bolts. Dimensions 0.40 × 0.60 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-door-control-panel-689c600c","cdnUrl":"https://cdn.3dassets.dev/assets/25648/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-door-control-panel-689c600c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25648/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25648/v1/poster.webp","blurhash":"U59aQ:%300E0?^xvDhI99FRj%Nxavzs:XnI:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":131920,"triangles":2952,"vertices":8856,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.20001221535156147,0,-0.042505417870733156],"max":[0.20001221535156147,0.6000000238418579,0.042500412671717606]},"sizeMeters":[0.4,0.6,0.085],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:19.158Z","updatedAt":"2026-10-25T06:28:51.965Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25648/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DoorControlPanelPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25648/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25648/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25648/v1/model.glb\" alt=\"door control panel (Prison Complex Builder)\" 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/25648/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/25648/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25649","slug":"prison-complex-builder-key-cabinet-7ffae9f8","title":"key cabinet (Prison Complex Builder)","summary":"Lockable wall key cabinet with a named front door, numbered-tag strip and external key hooks; grounded for placement.","description":"Lockable wall key cabinet with a named front door, numbered-tag strip and external key hooks; grounded for placement. Dimensions 0.60 × 0.80 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-key-cabinet-7ffae9f8","cdnUrl":"https://cdn.3dassets.dev/assets/25649/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-key-cabinet-7ffae9f8","thumbnailUrl":"https://cdn.3dassets.dev/assets/25649/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25649/v1/poster.webp","blurhash":"UFFFpZ4p00-;~qt69FM{02xs%MWEoyofRjRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":307568,"triangles":6448,"vertices":19344,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.299984745215383,0,-0.12131455613487055],"max":[0.299984745215383,0.800000011920929,0.1213037177563711]},"sizeMeters":[0.6,0.8,0.243],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:18.130Z","updatedAt":"2026-10-25T14:37:20.593Z","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/25649/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 KeyCabinetPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25649/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/25649/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25649/v1/model.glb\" alt=\"key cabinet (Prison Complex Builder)\" 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/25649/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/25649/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25650","slug":"prison-complex-builder-cell-door-remote-3db33401","title":"cell door remote (Prison Complex Builder)","summary":"Pocket door-control remote with three raised buttons and a lanyard ring, 19 cm overall.","description":"Pocket door-control remote with three raised buttons and a lanyard ring, 19 cm overall. Dimensions 0.07 × 0.20 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-door-remote-3db33401","cdnUrl":"https://cdn.3dassets.dev/assets/25650/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-door-remote-3db33401","thumbnailUrl":"https://cdn.3dassets.dev/assets/25650/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25650/v1/poster.webp","blurhash":"U25q-M%2004.?^R+DN$%D*M{%M?b=xso9]J7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":72076,"triangles":1584,"vertices":4752,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.0325034326058077,0,-0.01749456703488244],"max":[0.0325034326058077,0.19599999487400055,0.017500183143228827]},"sizeMeters":[0.065,0.196,0.035],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:18.508Z","updatedAt":"2026-10-12T09:33:32.206Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25650/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellDoorRemotePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25650/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25650/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25650/v1/model.glb\" alt=\"cell door remote (Prison Complex Builder)\" 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/25650/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/25650/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25652","slug":"prison-complex-builder-patrol-path-tile-5c142faf","title":"patrol path tile (Prison Complex Builder)","summary":"Two-metre patrol path slab with safety edge lines and expansion strips.","description":"Two-metre patrol path slab with safety edge lines and expansion strips. Dimensions 2.00 × 0.13 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Grid origin retained; connector locations and directions are explicit. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-patrol-path-tile-5c142faf","cdnUrl":"https://cdn.3dassets.dev/assets/25652/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-patrol-path-tile-5c142faf","thumbnailUrl":"https://cdn.3dassets.dev/assets/25652/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25652/v1/poster.webp","blurhash":"U6Bz8;?a00t5-:?akDIU00M_~qM|4p01M{%N","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":36360,"triangles":372,"vertices":1116,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.00006164604803700346,-0.50007629627369],"max":[1,0.1250214379810716,0.50007629627369]},"sizeMeters":[2,0.125,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:19.291Z","updatedAt":"2026-10-12T11:51:40.517Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25652/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatrolPathTilePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25652/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25652/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25652/v1/model.glb\" alt=\"patrol path tile (Prison Complex Builder)\" 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/25652/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/25652/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25653","slug":"prison-complex-builder-patrol-dog-kennel-1ea13ce3","title":"patrol dog kennel (Prison Complex Builder)","summary":"Timber kennel with open dog-sized entrance, twin roof slopes, raised floor and washable sleeping pad.","description":"Timber kennel with open dog-sized entrance, twin roof slopes, raised floor and washable sleeping pad. Dimensions 1.45 × 1.13 × 1.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-patrol-dog-kennel-1ea13ce3","cdnUrl":"https://cdn.3dassets.dev/assets/25653/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-patrol-dog-kennel-1ea13ce3","thumbnailUrl":"https://cdn.3dassets.dev/assets/25653/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25653/v1/poster.webp","blurhash":"U9Dc2V?H00NFyZRPQ-x]1JI;IojYL}%Mx^Mx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":204252,"triangles":3000,"vertices":9000,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.7243712544441223,0.000008545416668850891,-0.6000429993400925],"max":[0.7243712544441223,1.1294650802139863,0.6000429993400925]},"sizeMeters":[1.449,1.129,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:20.478Z","updatedAt":"2026-10-12T09:04:41.588Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25653/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatrolDogKennelPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25653/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25653/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25653/v1/model.glb\" alt=\"patrol dog kennel (Prison Complex Builder)\" 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/25653/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/25653/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25655","slug":"prison-complex-builder-spike-strip-10c195ad","title":"spike strip (Prison Complex Builder)","summary":"Static deployable spike-strip prop with fourteen short metal points and reinforced end caps.","description":"Static deployable spike-strip prop with fourteen short metal points and reinforced end caps. Dimensions 1.50 × 0.16 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-spike-strip-10c195ad","cdnUrl":"https://cdn.3dassets.dev/assets/25655/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-spike-strip-10c195ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/25655/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25655/v1/poster.webp","blurhash":"U14Ldx%NcFxbo~_NxvkW00Sg%1ozRi00IURO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":59032,"triangles":1180,"vertices":3540,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.75,-0.000020524712777018894,-0.11120212552137587],"max":[0.75,0.16002745399681387,0.11120212552137587]},"sizeMeters":[1.5,0.16,0.222],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:19.680Z","updatedAt":"2026-10-12T14:23:44.316Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25655/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpikeStripPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25655/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25655/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25655/v1/model.glb\" alt=\"spike strip (Prison Complex Builder)\" 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/25655/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/25655/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25656","slug":"prison-complex-builder-security-bollard-6d6d50bc","title":"security bollard (Prison Complex Builder)","summary":"Rounded safety bollard with two dark bands and a concrete anchor foot.","description":"Rounded safety bollard with two dark bands and a concrete anchor foot. Dimensions 0.30 × 0.99 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-security-bollard-6d6d50bc","cdnUrl":"https://cdn.3dassets.dev/assets/25656/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-security-bollard-6d6d50bc","thumbnailUrl":"https://cdn.3dassets.dev/assets/25656/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25656/v1/poster.webp","blurhash":"U2AJ.T~U0001rlM{9-%MT5t7$ZM_oGR+R;xa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":60640,"triangles":876,"vertices":2628,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.15000000596046448,0.000006407359875615359,-0.15000000596046448],"max":[0.15000000596046448,0.9950000047683716,0.15000000596046448]},"sizeMeters":[0.3,0.995,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:19.920Z","updatedAt":"2026-10-06T17:38:51.997Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25656/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecurityBollardPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25656/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25656/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25656/v1/model.glb\" alt=\"security bollard (Prison Complex Builder)\" 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/25656/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/25656/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25657","slug":"prison-complex-builder-barrier-arm-7d2e4494","title":"barrier arm (Prison Complex Builder)","summary":"Vehicle barrier housing with a pivoted 2.5 m striped arm and access-panel handle.","description":"Vehicle barrier housing with a pivoted 2.5 m striped arm and access-panel handle. Dimensions 2.59 × 1.15 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-barrier-arm-7d2e4494","cdnUrl":"https://cdn.3dassets.dev/assets/25657/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-barrier-arm-7d2e4494","thumbnailUrl":"https://cdn.3dassets.dev/assets/25657/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25657/v1/poster.webp","blurhash":"UJCF|k^wX2Rn~V%JR$WB0NWHRkR%0Ma*xbNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":225840,"triangles":4728,"vertices":14184,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.2949711290154395,0,-0.2513153419953856],"max":[1.2949998764023185,1.149999976158142,0.2513263020490705]},"sizeMeters":[2.59,1.15,0.503],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:20.297Z","updatedAt":"2026-10-25T13:51:26.976Z","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/25657/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 BarrierArmPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25657/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/25657/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25657/v1/model.glb\" alt=\"barrier arm (Prison Complex Builder)\" 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/25657/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/25657/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25658","slug":"prison-complex-builder-guard-booth-9dfd0625","title":"guard booth (Prison Complex Builder)","summary":"Single-person guard booth with side glazing, an open front, check-in ledge and canopy.","description":"Single-person guard booth with side glazing, an open front, check-in ledge and canopy. Dimensions 1.65 × 2.56 × 1.55 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-guard-booth-9dfd0625","cdnUrl":"https://cdn.3dassets.dev/assets/25658/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-guard-booth-9dfd0625","thumbnailUrl":"https://cdn.3dassets.dev/assets/25658/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25658/v1/poster.webp","blurhash":"U8E{qb?b00D*?wt7Mwso00kD~pROITkCxvad","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":209164,"triangles":4800,"vertices":14400,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-0.8249470319470557,0,-0.7749455071392031],"max":[0.8249470319470557,2.559999942779541,0.7749455071392031]},"sizeMeters":[1.65,2.56,1.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:21.557Z","updatedAt":"2026-10-12T10:32:36.073Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25658/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuardBoothPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25658/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25658/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25658/v1/model.glb\" alt=\"guard booth (Prison Complex Builder)\" 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/25658/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/25658/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25660","slug":"prison-complex-builder-alarm-siren-aed949ee","title":"alarm siren (Prison Complex Builder)","summary":"Wall-mounted siren horn with a red beacon, mounting plate and hollow flared speaker.","description":"Wall-mounted siren horn with a red beacon, mounting plate and hollow flared speaker. Dimensions 0.25 × 0.43 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-alarm-siren-aed949ee","cdnUrl":"https://cdn.3dassets.dev/assets/25660/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-alarm-siren-aed949ee","thumbnailUrl":"https://cdn.3dassets.dev/assets/25660/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25660/v1/poster.webp","blurhash":"UFC#_EEg0L^5{_J81g=d4.oL%MW;CQxG;MEg","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":54424,"triangles":1068,"vertices":3204,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.125,0,-0.15249763370054098],"max":[0.125,0.4350000023841858,0.15249512203037285]},"sizeMeters":[0.25,0.435,0.305],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:20.833Z","updatedAt":"2026-10-12T08:25:23.477Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25660/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AlarmSirenPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25660/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25660/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25660/v1/model.glb\" alt=\"alarm siren (Prison Complex Builder)\" 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/25660/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/25660/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25661","slug":"prison-complex-builder-intercom-post-3f0c9f01","title":"intercom post (Prison Complex Builder)","summary":"Pedestrian intercom post with call button, louvred speaker, bolt-on faceplate and concrete footing.","description":"Pedestrian intercom post with call button, louvred speaker, bolt-on faceplate and concrete footing. Dimensions 0.25 × 1.38 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-intercom-post-3f0c9f01","cdnUrl":"https://cdn.3dassets.dev/assets/25661/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-intercom-post-3f0c9f01","thumbnailUrl":"https://cdn.3dassets.dev/assets/25661/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25661/v1/poster.webp","blurhash":"U17nUY~q0000t1ofN1Rj?Ft69cIpD+WC%Kov","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":161672,"triangles":3240,"vertices":9720,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-0.125,0.0000016780709863328802,-0.125],"max":[0.125,1.3799999952316284,0.125]},"sizeMeters":[0.25,1.38,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:20.982Z","updatedAt":"2026-10-12T09:39:22.250Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25661/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IntercomPostPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25661/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25661/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25661/v1/model.glb\" alt=\"intercom post (Prison Complex Builder)\" 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/25661/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/25661/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25662","slug":"prison-complex-builder-restricted-access-sign-986e0e11","title":"restricted access sign (Prison Complex Builder)","summary":"Freestanding restricted-access sign with high-contrast graphic bars and two anchored posts; no branded text.","description":"Freestanding restricted-access sign with high-contrast graphic bars and two anchored posts; no branded text. Dimensions 1.10 × 1.70 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-restricted-access-sign-986e0e11","cdnUrl":"https://cdn.3dassets.dev/assets/25662/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-restricted-access-sign-986e0e11","thumbnailUrl":"https://cdn.3dassets.dev/assets/25662/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25662/v1/poster.webp","blurhash":"UFBphEoL00of~Wxu9FIUjZxuWVE19Zt7-pIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":62164,"triangles":1348,"vertices":4044,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,-0.000009039924247999931,-0.06998504407638619],"max":[0.550000011920929,1.7012001276016235,0.06998504407638619]},"sizeMeters":[1.1,1.701,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:22.050Z","updatedAt":"2026-10-12T07:47:58.106Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25662/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RestrictedAccessSignPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25662/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25662/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25662/v1/model.glb\" alt=\"restricted access sign (Prison Complex Builder)\" 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/25662/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/25662/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25663","slug":"prison-complex-builder-canteen-table-bolted-2d41ae7e","title":"canteen table bolted (Prison Complex Builder)","summary":"Institutional six-seat canteen table with two attached benches, rounded edges and floor-bolted steel supports.","description":"Institutional six-seat canteen table with two attached benches, rounded edges and floor-bolted steel supports. Dimensions 1.80 × 0.76 × 1.52 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-canteen-table-bolted-2d41ae7e","cdnUrl":"https://cdn.3dassets.dev/assets/25663/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-canteen-table-bolted-2d41ae7e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25663/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25663/v1/poster.webp","blurhash":"U597*C%400of_N-;Io9G00oaxuIU00E0-o${","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":226544,"triangles":4652,"vertices":13956,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000011209311294446689,-0.7600375590851343],"max":[0.8999999761581421,0.7599666446877577,0.7600375590851343]},"sizeMeters":[1.8,0.76,1.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:22.476Z","updatedAt":"2026-10-25T08:16:07.201Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25663/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanteenTableBoltedPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25663/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25663/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25663/v1/model.glb\" alt=\"canteen table bolted (Prison Complex Builder)\" 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/25663/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/25663/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25664","slug":"prison-complex-builder-serving-counter-de5073a5","title":"serving counter (Prison Complex Builder)","summary":"Three-pan serving counter with stainless cabinets, three covered food pans and a supported glass sneeze guard.","description":"Three-pan serving counter with stainless cabinets, three covered food pans and a supported glass sneeze guard. Dimensions 2.10 × 1.53 × 0.85 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-serving-counter-de5073a5","cdnUrl":"https://cdn.3dassets.dev/assets/25664/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-serving-counter-de5073a5","thumbnailUrl":"https://cdn.3dassets.dev/assets/25664/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25664/v1/poster.webp","blurhash":"UKDJS8IU00xu~qay9FaeD$xuRjM_4n%Mx[D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":269616,"triangles":6604,"vertices":19812,"meshes":10,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0499999523162842,0.000012299594078224452,-0.42425907063092005],"max":[1.0499999523162842,1.5299788615417773,0.42431178100823047]},"sizeMeters":[2.1,1.53,0.849],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:22.754Z","updatedAt":"2026-10-07T01:45:04.011Z","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/25664/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 ServingCounterPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25664/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/25664/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25664/v1/model.glb\" alt=\"serving counter (Prison Complex Builder)\" 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/25664/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/25664/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25665","slug":"prison-complex-builder-kitchen-run-7598f0a2","title":"kitchen run (Prison Complex Builder)","summary":"Compact kitchen run with four burner rings, control knobs, a recessed sink, tap and three cabinet fronts.","description":"Compact kitchen run with four burner rings, control knobs, a recessed sink, tap and three cabinet fronts. Dimensions 2.15 × 1.20 × 0.86 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-kitchen-run-7598f0a2","cdnUrl":"https://cdn.3dassets.dev/assets/25665/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-kitchen-run-7598f0a2","thumbnailUrl":"https://cdn.3dassets.dev/assets/25665/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25665/v1/poster.webp","blurhash":"U2A0]?Ip00NG_3_3IT9E00-;-;M_00x]_4D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":251460,"triangles":6616,"vertices":19848,"meshes":8,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0750000476837158,0.000008840445512969808,-0.43185967769676503],"max":[1.0750000476837158,1.2048277665338571,0.4318282536892146]},"sizeMeters":[2.15,1.205,0.864],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:41:23.026Z","updatedAt":"2026-10-07T01:45:04.774Z","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/25665/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 KitchenRunPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25665/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/25665/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25665/v1/model.glb\" alt=\"kitchen run (Prison Complex Builder)\" 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/25665/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/25665/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25666","slug":"prison-complex-builder-dishwasher-line-90aee62d","title":"dishwasher line (Prison Complex Builder)","summary":"Pass-through dishwashing line with loading racks, raised hood, pull handle and temperature display.","description":"Pass-through dishwashing line with loading racks, raised hood, pull handle and temperature display. Dimensions 2.50 × 1.35 × 0.95 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-dishwasher-line-90aee62d","cdnUrl":"https://cdn.3dassets.dev/assets/25666/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-dishwasher-line-90aee62d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25666/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25666/v1/poster.webp","blurhash":"U6BgGARi00RktS%gITn#00Iq_N%LnyMwW=Ip","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":426016,"triangles":8856,"vertices":26568,"meshes":10,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.25,0.00004441818457684432,-0.4772835622541919],"max":[1.25,1.3499600430500878,0.47724903184462036]},"sizeMeters":[2.5,1.35,0.955],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:22.232Z","updatedAt":"2026-10-07T01:45:05.777Z","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/25666/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 DishwasherLinePrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25666/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/25666/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25666/v1/model.glb\" alt=\"dishwasher line (Prison Complex Builder)\" 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/25666/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/25666/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25667","slug":"prison-complex-builder-laundry-machines-b55bd4e0","title":"laundry machines (Prison Complex Builder)","summary":"Side-by-side front-loading washer and dryer with glazed drums, door rims and distinct control positions.","description":"Side-by-side front-loading washer and dryer with glazed drums, door rims and distinct control positions. Dimensions 1.66 × 1.15 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-laundry-machines-b55bd4e0","cdnUrl":"https://cdn.3dassets.dev/assets/25667/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-laundry-machines-b55bd4e0","thumbnailUrl":"https://cdn.3dassets.dev/assets/25667/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25667/v1/poster.webp","blurhash":"UJHx+;D%00M{~q%MD%IU00xuRjWBWBxuRjIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":314116,"triangles":7136,"vertices":21408,"meshes":10,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.8299999833106995,0.00005142332836893804,-0.4012627968361181],"max":[0.8299999833106995,1.1499485528297733,0.4013132417163391]},"sizeMeters":[1.66,1.15,0.803],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:22.578Z","updatedAt":"2026-10-12T07:46:04.533Z","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/25667/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 LaundryMachinesPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25667/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/25667/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25667/v1/model.glb\" alt=\"laundry machines (Prison Complex Builder)\" 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/25667/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/25667/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25668","slug":"prison-complex-builder-workshop-bench-f79eb08b","title":"workshop bench (Prison Complex Builder)","summary":"Heavy workshop bench with birch top, tool backboard, hooks and a mounted screw-vise assembly.","description":"Heavy workshop bench with birch top, tool backboard, hooks and a mounted screw-vise assembly. Dimensions 1.80 × 1.38 × 0.83 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-workshop-bench-f79eb08b","cdnUrl":"https://cdn.3dassets.dev/assets/25668/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-workshop-bench-f79eb08b","thumbnailUrl":"https://cdn.3dassets.dev/assets/25668/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25668/v1/poster.webp","blurhash":"UAA,a%D$4.tS~Wsm9FIp57s.MwRj5RkrxZVr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":296028,"triangles":5916,"vertices":17748,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.00003509764035825036,-0.41695268870866176],"max":[0.8999999761581421,1.3799648975912702,0.4169999957084656]},"sizeMeters":[1.8,1.38,0.834],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:22.695Z","updatedAt":"2026-10-25T13:28:18.484Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25668/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WorkshopBenchPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25668/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25668/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25668/v1/model.glb\" alt=\"workshop bench (Prison Complex Builder)\" 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/25668/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/25668/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25669","slug":"prison-complex-builder-licence-plate-press-c412ef4d","title":"licence plate press (Prison Complex Builder)","summary":"Floor press with a rigid frame, hydraulic ram, upper die, work table, blank plate and local controls.","description":"Floor press with a rigid frame, hydraulic ram, upper die, work table, blank plate and local controls. Dimensions 0.98 × 1.69 × 0.75 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-licence-plate-press-c412ef4d","cdnUrl":"https://cdn.3dassets.dev/assets/25669/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-licence-plate-press-c412ef4d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25669/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25669/v1/poster.webp","blurhash":"U7DtCq}F001Hk9wcR*JnMdt7X-Io^6smEfN^","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":154044,"triangles":3260,"vertices":9780,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.4925401414627086,0,-0.3749853638118029],"max":[0.4925000071525574,1.690000057220459,0.3749853638118029]},"sizeMeters":[0.985,1.69,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:23.186Z","updatedAt":"2026-10-25T13:23:15.562Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25669/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LicencePlatePressPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25669/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25669/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25669/v1/model.glb\" alt=\"licence plate press (Prison Complex Builder)\" 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/25669/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/25669/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25670","slug":"prison-complex-builder-library-shelf-fd45e67c","title":"library shelf (Prison Complex Builder)","summary":"Five-tier library bookcase with varied book heights, visible spines, shelf lips and a finished rear profile.","description":"Five-tier library bookcase with varied book heights, visible spines, shelf lips and a finished rear profile. Dimensions 1.30 × 1.91 × 0.36 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-library-shelf-fd45e67c","cdnUrl":"https://cdn.3dassets.dev/assets/25670/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-library-shelf-fd45e67c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25670/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25670/v1/poster.webp","blurhash":"U8B{oz-p009F,[%1NtE14TRj.Tx]w{xFS1I=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":305612,"triangles":5112,"vertices":15336,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-0.6500382909667967,0,-0.1789946647389173],"max":[0.6500382909667967,1.9049999713897705,0.179027715245454]},"sizeMeters":[1.3,1.905,0.358],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:24.793Z","updatedAt":"2026-10-12T11:00:08.749Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25670/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LibraryShelfPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25670/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25670/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25670/v1/model.glb\" alt=\"library shelf (Prison Complex Builder)\" 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/25670/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/25670/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25671","slug":"prison-complex-builder-classroom-desk-ae9dbd77","title":"classroom desk (Prison Complex Builder)","summary":"Individual classroom desk with under-top storage tray, matching chair and a closed exercise book.","description":"Individual classroom desk with under-top storage tray, matching chair and a closed exercise book. Dimensions 0.75 × 0.92 × 1.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-classroom-desk-ae9dbd77","cdnUrl":"https://cdn.3dassets.dev/assets/25671/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-classroom-desk-ae9dbd77","thumbnailUrl":"https://cdn.3dassets.dev/assets/25671/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25671/v1/poster.webp","blurhash":"U7Ad7oB@0L+t+GE7K7-o4TxRI:b_9s#i$xXQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":316292,"triangles":6476,"vertices":19428,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.375,0.000014023865844925432,-0.5999948303308289],"max":[0.375,0.9200000166893005,0.6000000238418579]},"sizeMeters":[0.75,0.92,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:23.977Z","updatedAt":"2026-10-25T13:25:45.467Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25671/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClassroomDeskPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25671/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25671/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25671/v1/model.glb\" alt=\"classroom desk (Prison Complex Builder)\" 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/25671/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/25671/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25672","slug":"prison-complex-builder-chapel-pew-7d4832c1","title":"chapel pew (Prison Complex Builder)","summary":"Two-person chapel pew with solid ends, continuous seat, shaped back and a rear kneeling pad.","description":"Two-person chapel pew with solid ends, continuous seat, shaped back and a rear kneeling pad. Dimensions 1.83 × 0.92 × 0.81 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-chapel-pew-7d4832c1","cdnUrl":"https://cdn.3dassets.dev/assets/25672/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-chapel-pew-7d4832c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/25672/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25672/v1/poster.webp","blurhash":"U6A[$1-m5l-8}?}rJ7EO0hbH$OEN0~Ef$%NH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":136480,"triangles":2220,"vertices":6660,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.9150000214576721,-0.000027163916883954364,-0.40400305846710866],"max":[0.9150000214576721,0.9200271806061845,0.4040515212566738]},"sizeMeters":[1.83,0.92,0.808],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:25.327Z","updatedAt":"2026-10-12T10:30:31.270Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25672/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChapelPewPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25672/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25672/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25672/v1/model.glb\" alt=\"chapel pew (Prison Complex Builder)\" 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/25672/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/25672/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25673","slug":"prison-complex-builder-gym-weight-rack-82f542cf","title":"gym weight rack (Prison Complex Builder)","summary":"Three-tier barbell storage rack with round weight discs, bar supports and a protective floor mat.","description":"Three-tier barbell storage rack with round weight discs, bar supports and a protective floor mat. Dimensions 1.56 × 1.90 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-gym-weight-rack-82f542cf","cdnUrl":"https://cdn.3dassets.dev/assets/25673/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-gym-weight-rack-82f542cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/25673/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25673/v1/poster.webp","blurhash":"U26*gq_3009G_3-;M_9F00oz_4ITInof%MRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":139688,"triangles":2828,"vertices":8484,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.7799999713897705,3.8743019903364484e-10,-0.40004271910057937],"max":[0.7799999713897705,1.899999976158142,0.40004271910057937]},"sizeMeters":[1.56,1.9,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:24.309Z","updatedAt":"2026-10-25T09:23:30.528Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25673/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GymWeightRackPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25673/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25673/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25673/v1/model.glb\" alt=\"gym weight rack (Prison Complex Builder)\" 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/25673/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/25673/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25674","slug":"prison-complex-builder-weight-bench-159cc217","title":"weight bench (Prison Complex Builder)","summary":"Padded bench-press station with floor-mounted uprights and a separate loaded barbell silhouette.","description":"Padded bench-press station with floor-mounted uprights and a separate loaded barbell silhouette. Dimensions 1.70 × 1.50 × 1.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-weight-bench-159cc217","cdnUrl":"https://cdn.3dassets.dev/assets/25674/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-weight-bench-159cc217","thumbnailUrl":"https://cdn.3dassets.dev/assets/25674/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25674/v1/poster.webp","blurhash":"U67K}DRn00i^VqRiNHx]8wt7%%M|too#sjRN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":166576,"triangles":3404,"vertices":10212,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8500000238418579,-0.000005317814099070617,-0.6499999761581421],"max":[0.8500000238418579,1.4999606960439196,0.6499999761581421]},"sizeMeters":[1.7,1.5,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:24.476Z","updatedAt":"2026-10-25T09:45:30.478Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25674/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeightBenchPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25674/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25674/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25674/v1/model.glb\" alt=\"weight bench (Prison Complex Builder)\" 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/25674/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/25674/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25675","slug":"prison-complex-builder-basketball-hoop-6ecce3e9","title":"basketball hoop (Prison Complex Builder)","summary":"Yard basketball hoop with anchored post, backboard target, horizontal rim and hanging net cords.","description":"Yard basketball hoop with anchored post, backboard target, horizontal rim and hanging net cords. Dimensions 1.15 × 3.55 × 1.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-basketball-hoop-6ecce3e9","cdnUrl":"https://cdn.3dassets.dev/assets/25675/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-basketball-hoop-6ecce3e9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25675/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25675/v1/poster.webp","blurhash":"U59a8IMx00%h~q%M4n9Fxu%gIU4n9ZWW-psm","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":142848,"triangles":2712,"vertices":8136,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.574999988079071,-0.000014650225652987348,-0.6225000023841858],"max":[0.574999988079071,3.549992338238111,0.6225000023841858]},"sizeMeters":[1.15,3.55,1.245],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:25.727Z","updatedAt":"2026-10-12T12:07:58.016Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25675/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BasketballHoopPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25675/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25675/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25675/v1/model.glb\" alt=\"basketball hoop (Prison Complex Builder)\" 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/25675/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/25675/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25677","slug":"prison-complex-builder-yard-bench-26762754","title":"yard bench (Prison Complex Builder)","summary":"Outdoor slatted yard bench on heavy concrete pedestals with visible timber fixing points.","description":"Outdoor slatted yard bench on heavy concrete pedestals with visible timber fixing points. Dimensions 1.70 × 0.49 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-yard-bench-26762754","cdnUrl":"https://cdn.3dassets.dev/assets/25677/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-yard-bench-26762754","thumbnailUrl":"https://cdn.3dassets.dev/assets/25677/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25677/v1/poster.webp","blurhash":"U7B3B2%MY6_2[o~CXTIp00m+Mc9t7M00v#Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":173192,"triangles":2292,"vertices":6876,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.8500000238418579,0.00002410570082531094,-0.24996245909672898],"max":[0.8500000238418579,0.4899680924491261,0.24996245909672898]},"sizeMeters":[1.7,0.49,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:25.216Z","updatedAt":"2026-10-25T13:25:29.432Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25677/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function YardBenchPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25677/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25677/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25677/v1/model.glb\" alt=\"yard bench (Prison Complex Builder)\" 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/25677/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/25677/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25676","slug":"prison-complex-builder-visitation-booth-e5de8ff5","title":"visitation booth (Prison Complex Builder)","summary":"Separated visitation station with a glass screen, two seated sides, handsets and coiled-look cables.","description":"Separated visitation station with a glass screen, two seated sides, handsets and coiled-look cables. Dimensions 1.61 × 2.07 × 1.76 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-visitation-booth-e5de8ff5","cdnUrl":"https://cdn.3dassets.dev/assets/25676/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-visitation-booth-e5de8ff5","thumbnailUrl":"https://cdn.3dassets.dev/assets/25676/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25676/v1/poster.webp","blurhash":"UGC?o;xu00IU_2s:9FM{4nkC?HRP00bc~qn#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":511204,"triangles":10536,"vertices":31608,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.8075385065821197,0,-0.8799770904765355],"max":[0.8075385065821197,2.071199893951416,0.8799770904765355]},"sizeMeters":[1.615,2.071,1.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:24.913Z","updatedAt":"2026-10-11T22:29:18.795Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25676/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VisitationBoothPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25676/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25676/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25676/v1/model.glb\" alt=\"visitation booth (Prison Complex Builder)\" 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/25676/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/25676/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25678","slug":"prison-complex-builder-visitation-table-1e69ca1b","title":"visitation table (Prison Complex Builder)","summary":"Open contact-visitation table with two staggered chairs and bolted floor feet.","description":"Open contact-visitation table with two staggered chairs and bolted floor feet. Dimensions 1.22 × 0.92 × 1.92 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-visitation-table-1e69ca1b","cdnUrl":"https://cdn.3dassets.dev/assets/25678/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-visitation-table-1e69ca1b","thumbnailUrl":"https://cdn.3dassets.dev/assets/25678/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25678/v1/poster.webp","blurhash":"U9Bp-3t701kD?cs*9GIB00jD^*RP00M}~p-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":466524,"triangles":9652,"vertices":28956,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6100381345014299,-0.000043032960044486757,-0.9599999785423279],"max":[0.6100381345014299,0.9200613572832015,0.9599999785423279]},"sizeMeters":[1.22,0.92,1.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:25.724Z","updatedAt":"2026-10-12T11:22:21.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25678/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VisitationTablePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25678/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25678/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25678/v1/model.glb\" alt=\"visitation table (Prison Complex Builder)\" 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/25678/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/25678/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25679","slug":"prison-complex-builder-infirmary-bed-6c6d668e","title":"infirmary bed (Prison Complex Builder)","summary":"Single infirmary bed with padded mattress, pillow, tubular end rails and an adjacent IV support pole.","description":"Single infirmary bed with padded mattress, pillow, tubular end rails and an adjacent IV support pole. Dimensions 1.07 × 1.75 × 2.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-infirmary-bed-6c6d668e","cdnUrl":"https://cdn.3dassets.dev/assets/25679/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-infirmary-bed-6c6d668e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25679/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25679/v1/poster.webp","blurhash":"U9AKBooh8^?GRO9FM|?b00a^.AD*p0_3?G8_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":184924,"triangles":3756,"vertices":11268,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.5349853648245197,-0.00004822758962225171,-1],"max":[0.5349499574626598,1.75,1]},"sizeMeters":[1.07,1.75,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:26.070Z","updatedAt":"2026-10-25T14:09:32.751Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25679/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InfirmaryBedPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25679/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25679/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25679/v1/model.glb\" alt=\"infirmary bed (Prison Complex Builder)\" 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/25679/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/25679/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25680","slug":"prison-complex-builder-pharmacy-cabinet-412ff8f0","title":"pharmacy cabinet (Prison Complex Builder)","summary":"Lockable medicine cabinet with paired hinged doors, inset glazing and a simple medical cross.","description":"Lockable medicine cabinet with paired hinged doors, inset glazing and a simple medical cross. Dimensions 0.95 × 1.80 × 0.52 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-pharmacy-cabinet-412ff8f0","cdnUrl":"https://cdn.3dassets.dev/assets/25680/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-pharmacy-cabinet-412ff8f0","thumbnailUrl":"https://cdn.3dassets.dev/assets/25680/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25680/v1/poster.webp","blurhash":"U9FY$2M{00xu~qxa4.IU00of-;ay.8t7ITIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":165552,"triangles":4496,"vertices":13488,"meshes":10,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4750083800066808,0,-0.26130417800120276],"max":[0.4750083800066808,1.7999999523162842,0.26135792090509785]},"sizeMeters":[0.95,1.8,0.523],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:26.212Z","updatedAt":"2026-10-25T14:28:54.356Z","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/25680/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 PharmacyCabinetPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25680/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/25680/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25680/v1/model.glb\" alt=\"pharmacy cabinet (Prison Complex Builder)\" 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/25680/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/25680/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25681","slug":"prison-complex-builder-office-desk-f282f46f","title":"office desk (Prison Complex Builder)","summary":"Administrative desk with pedestal cabinet, monitor and keyboard; rounded birch worktop and file pad.","description":"Administrative desk with pedestal cabinet, monitor and keyboard; rounded birch worktop and file pad. Dimensions 1.40 × 1.20 × 0.76 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-office-desk-f282f46f","cdnUrl":"https://cdn.3dassets.dev/assets/25681/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-office-desk-f282f46f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25681/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25681/v1/poster.webp","blurhash":"U8BpOj~V009bQ-i_Rjx]008{w]%MKitlx]D$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":313428,"triangles":6628,"vertices":19884,"meshes":10,"materials":8,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.699999988079071,0,-0.38181784722745865],"max":[0.699999988079071,1.1999696819468124,0.38182007981050536]},"sizeMeters":[1.4,1.2,0.764],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:27.638Z","updatedAt":"2026-10-25T11:20:35.244Z","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/25681/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 OfficeDeskPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25681/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/25681/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25681/v1/model.glb\" alt=\"office desk (Prison Complex Builder)\" 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/25681/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/25681/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25682","slug":"prison-complex-builder-warden-desk-8cddfd14","title":"warden desk (Prison Complex Builder)","summary":"Broad warden desk with an L-shaped return, privacy panel and nameplate base; rounded birch worktop and file pad.","description":"Broad warden desk with an L-shaped return, privacy panel and nameplate base; rounded birch worktop and file pad. Dimensions 2.40 × 0.84 × 1.27 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-warden-desk-8cddfd14","cdnUrl":"https://cdn.3dassets.dev/assets/25682/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-warden-desk-8cddfd14","thumbnailUrl":"https://cdn.3dassets.dev/assets/25682/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25682/v1/poster.webp","blurhash":"U4AvnK.R00wH{w-UNus.00U^_2o~3sR:#.IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":419932,"triangles":8424,"vertices":25272,"meshes":8,"materials":6,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.1999999284744263,-0.000009462278955318926,-0.6374461731322936],"max":[1.1999999284744263,0.8399739513751474,0.6374461731322936]},"sizeMeters":[2.4,0.84,1.275],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:27.812Z","updatedAt":"2026-10-25T12:56:18.794Z","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/25682/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 WardenDeskPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25682/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/25682/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25682/v1/model.glb\" alt=\"warden desk (Prison Complex Builder)\" 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/25682/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/25682/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25684","slug":"prison-complex-builder-records-shelf-4d3b2954","title":"records shelf (Prison Complex Builder)","summary":"Five-level records shelving with twelve archive boxes, label holders and retaining shelf lips.","description":"Five-level records shelving with twelve archive boxes, label holders and retaining shelf lips. Dimensions 1.35 × 1.91 × 0.43 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-records-shelf-4d3b2954","cdnUrl":"https://cdn.3dassets.dev/assets/25684/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-records-shelf-4d3b2954","thumbnailUrl":"https://cdn.3dassets.dev/assets/25684/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25684/v1/poster.webp","blurhash":"U8Dm2J?b004n-;%MM_D%00Rj~qt6xvt7M{M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":561956,"triangles":11640,"vertices":34920,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6750375276286088,0,-0.21399359606545443],"max":[0.6750375276286088,1.9049999713897705,0.2140466154681722]},"sizeMeters":[1.35,1.905,0.428],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:28.168Z","updatedAt":"2026-10-12T08:22:58.612Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25684/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RecordsShelfPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25684/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25684/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25684/v1/model.glb\" alt=\"records shelf (Prison Complex Builder)\" 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/25684/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/25684/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25683","slug":"prison-complex-builder-staff-locker-5cd1918e","title":"staff locker (Prison Complex Builder)","summary":"Two tall staff locker compartments with separate hinged doors, handles, upper and lower ventilation grilles.","description":"Two tall staff locker compartments with separate hinged doors, handles, upper and lower ventilation grilles. Dimensions 0.80 × 1.85 × 0.58 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-staff-locker-5cd1918e","cdnUrl":"https://cdn.3dassets.dev/assets/25683/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-staff-locker-5cd1918e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25683/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25683/v1/poster.webp","blurhash":"U6AAm;9E00%N_4j=9FWFD%xuNGRk?bj[D%WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":531356,"triangles":11696,"vertices":35088,"meshes":8,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.39998550886280837,0,-0.29130066118538234],"max":[0.39998550886280837,1.850000023841858,0.29127174173582]},"sizeMeters":[0.8,1.85,0.583],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:27.103Z","updatedAt":"2026-10-06T14:01:48.609Z","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/25683/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 StaffLockerPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25683/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/25683/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25683/v1/model.glb\" alt=\"staff locker (Prison Complex Builder)\" 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/25683/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/25683/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25685","slug":"prison-complex-builder-break-room-station-62e5edb0","title":"break room station (Prison Complex Builder)","summary":"Staff break-room furniture cluster with a table, chair, side cabinet and compact microwave.","description":"Staff break-room furniture cluster with a table, chair, side cabinet and compact microwave. Dimensions 2.13 × 1.10 × 1.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-break-room-station-62e5edb0","cdnUrl":"https://cdn.3dassets.dev/assets/25685/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-break-room-station-62e5edb0","thumbnailUrl":"https://cdn.3dassets.dev/assets/25685/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25685/v1/poster.webp","blurhash":"UACZR=02K7_4D*%MOGR-00?EnMMxy9Ri#iRO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":445080,"triangles":9232,"vertices":27696,"meshes":9,"materials":7,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.0674999952316284,-0.000022442123766008848,-0.6050213675423135],"max":[1.0674977082060289,1.0999899527333306,0.6050000190734863]},"sizeMeters":[2.135,1.1,1.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:27.452Z","updatedAt":"2026-10-05T09:46:40.169Z","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/25685/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 BreakRoomStationPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25685/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/25685/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25685/v1/model.glb\" alt=\"break room station (Prison Complex Builder)\" 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/25685/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/25685/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25686","slug":"prison-complex-builder-armoury-cage-ae6a9ad5","title":"armoury cage (Prison Complex Builder)","summary":"Locked equipment cage with round-bar front and rear, interior racks and an external lock box.","description":"Locked equipment cage with round-bar front and rear, interior racks and an external lock box. Dimensions 1.40 × 1.92 × 0.74 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-armoury-cage-ae6a9ad5","cdnUrl":"https://cdn.3dassets.dev/assets/25686/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-armoury-cage-ae6a9ad5","thumbnailUrl":"https://cdn.3dassets.dev/assets/25686/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25686/v1/poster.webp","blurhash":"U9B45k%200WU_NxuD$M{8_X8s:V@-=ofITRi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":272644,"triangles":5628,"vertices":16884,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7000049353500825,0,-0.3699886306306755],"max":[0.7000049353500825,1.9149999618530273,0.36995758478462587]},"sizeMeters":[1.4,1.915,0.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:27.574Z","updatedAt":"2026-10-25T14:49:33.512Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25686/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryCagePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25686/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25686/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25686/v1/model.glb\" alt=\"armoury cage (Prison Complex Builder)\" 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/25686/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/25686/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25687","slug":"prison-complex-builder-mail-sorting-station-3594a74a","title":"mail sorting station (Prison Complex Builder)","summary":"Twelve-compartment mail sorting shelf with dividers, shallow paper stacks and accessible open cubbies.","description":"Twelve-compartment mail sorting shelf with dividers, shallow paper stacks and accessible open cubbies. Dimensions 1.20 × 1.71 × 0.41 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-mail-sorting-station-3594a74a","cdnUrl":"https://cdn.3dassets.dev/assets/25687/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-mail-sorting-station-3594a74a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25687/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25687/v1/poster.webp","blurhash":"U5Be,P}?004;:+xFTJJR0eI:%Mt8-;s:E1I;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":437580,"triangles":7740,"vertices":23220,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000047454712617,0,-0.20401891971547984],"max":[0.6000047454712617,1.7050000429153442,0.20400695378630948]},"sizeMeters":[1.2,1.705,0.408],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:27.835Z","updatedAt":"2026-10-06T15:35:21.860Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25687/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MailSortingStationPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25687/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25687/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25687/v1/model.glb\" alt=\"mail sorting station (Prison Complex Builder)\" 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/25687/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/25687/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25688","slug":"prison-complex-builder-phone-bank-bffa4728","title":"phone bank (Prison Complex Builder)","summary":"Three wall telephones with separate handsets, raised keypads, backing panels and supported cords.","description":"Three wall telephones with separate handsets, raised keypads, backing panels and supported cords. Dimensions 1.80 × 1.15 × 0.18 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-phone-bank-bffa4728","cdnUrl":"https://cdn.3dassets.dev/assets/25688/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-phone-bank-bffa4728","thumbnailUrl":"https://cdn.3dassets.dev/assets/25688/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25688/v1/poster.webp","blurhash":"U5Bp%?r?00x]~q~qD%9E00%2_3M|RPozxuaK","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":174372,"triangles":4032,"vertices":12096,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000012973677552818863,-0.09251228977344578],"max":[0.8999999761581421,1.1499870024805894,0.09251069656994772]},"sizeMeters":[1.8,1.15,0.185],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:28.954Z","updatedAt":"2026-10-12T10:31:49.399Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25688/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PhoneBankPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25688/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25688/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25688/v1/model.glb\" alt=\"phone bank (Prison Complex Builder)\" 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/25688/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/25688/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25689","slug":"prison-complex-builder-commissary-counter-a13ae403","title":"commissary counter (Prison Complex Builder)","summary":"Commissary counter with three storage doors, raised product shelf and compact checkout terminal.","description":"Commissary counter with three storage doors, raised product shelf and compact checkout terminal. Dimensions 2.00 × 1.31 × 0.85 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-commissary-counter-a13ae403","cdnUrl":"https://cdn.3dassets.dev/assets/25689/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-commissary-counter-a13ae403","thumbnailUrl":"https://cdn.3dassets.dev/assets/25689/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25689/v1/poster.webp","blurhash":"UAFYcDt600E0m-~VD%4.00MyIAWE?^IWR6Di","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":185256,"triangles":5556,"vertices":16668,"meshes":16,"materials":8,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1,0.000006097427645457287,-0.42425756286824595],"max":[1,1.3099732614348092,0.42431178100823047]},"sizeMeters":[2,1.31,0.849],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:30.002Z","updatedAt":"2026-10-07T01:43:45.106Z","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/25689/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 CommissaryCounterPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25689/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/25689/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25689/v1/model.glb\" alt=\"commissary counter (Prison Complex Builder)\" 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/25689/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/25689/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25690","slug":"prison-complex-builder-water-tank-61c4c68d","title":"water tank (Prison Complex Builder)","summary":"Elevated cylindrical water tank with circumferential straps, access cap, outlet pipe and red valve wheel.","description":"Elevated cylindrical water tank with circumferential straps, access cap, outlet pipe and red valve wheel. Dimensions 1.65 × 2.47 × 1.38 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-water-tank-61c4c68d","cdnUrl":"https://cdn.3dassets.dev/assets/25690/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-water-tank-61c4c68d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25690/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25690/v1/poster.webp","blurhash":"UB9@YNx]00IA_Noz8_M{RkkBadaeWXt7s.ae","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":149104,"triangles":3024,"vertices":9072,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8270000219345093,0,-0.6899999976158142],"max":[0.8270000219345093,2.4700000286102295,0.6899999976158142]},"sizeMeters":[1.654,2.47,1.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:30.193Z","updatedAt":"2026-10-25T10:45:26.117Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25690/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterTankPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25690/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25690/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25690/v1/model.glb\" alt=\"water tank (Prison Complex Builder)\" 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/25690/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/25690/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25691","slug":"prison-complex-builder-standby-generator-0481428c","title":"standby generator (Prison Complex Builder)","summary":"Enclosed standby generator on vibration pads with a louvred front, exhaust stack and service controls.","description":"Enclosed standby generator on vibration pads with a louvred front, exhaust stack and service controls. Dimensions 1.60 × 1.45 × 0.85 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-standby-generator-0481428c","cdnUrl":"https://cdn.3dassets.dev/assets/25691/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-standby-generator-0481428c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25691/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25691/v1/poster.webp","blurhash":"U69%@v%M00Mx-:x]M{IA00WB~qRj9FRixvtR","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":231628,"triangles":5180,"vertices":15540,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.000022258023152754713,-0.42496414708382485],"max":[0.800000011920929,1.4500000476837158,0.42496414708382485]},"sizeMeters":[1.6,1.45,0.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:29.292Z","updatedAt":"2026-10-12T09:44:23.672Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25691/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StandbyGeneratorPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25691/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25691/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25691/v1/model.glb\" alt=\"standby generator (Prison Complex Builder)\" 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/25691/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/25691/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25692","slug":"prison-complex-builder-service-boiler-9d31aeea","title":"service boiler (Prison Complex Builder)","summary":"Vertical service boiler with insulated vessel, pipework, pressure gauge boss, burner box and top flue.","description":"Vertical service boiler with insulated vessel, pipework, pressure gauge boss, burner box and top flue. Dimensions 0.85 × 1.86 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-service-boiler-9d31aeea","cdnUrl":"https://cdn.3dassets.dev/assets/25692/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-service-boiler-9d31aeea","thumbnailUrl":"https://cdn.3dassets.dev/assets/25692/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25692/v1/poster.webp","blurhash":"UBBDTcxa00NG%Ma{M{jb00Rj~pt7M{ayt7kC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":78136,"triangles":1560,"vertices":4680,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.42500077985074985,0,-0.5000170656336447],"max":[0.42500077985074985,1.8600000143051147,0.5000565069082605]},"sizeMeters":[0.85,1.86,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:29.434Z","updatedAt":"2026-10-12T12:55:17.815Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25692/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ServiceBoilerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25692/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25692/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25692/v1/model.glb\" alt=\"service boiler (Prison Complex Builder)\" 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/25692/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/25692/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25693","slug":"prison-complex-builder-incinerator-8153cd6f","title":"incinerator (Prison Complex Builder)","summary":"Small utility incinerator with refractory base, heavy feed door, latch bar and tall capped flue.","description":"Small utility incinerator with refractory base, heavy feed door, latch bar and tall capped flue. Dimensions 1.10 × 2.74 × 0.98 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips open, close drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-incinerator-8153cd6f","cdnUrl":"https://cdn.3dassets.dev/assets/25693/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-incinerator-8153cd6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25693/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25693/v1/poster.webp","blurhash":"U371s8Rj00%M00M{_3-;%LM{IV.8_NjZDioz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":199588,"triangles":3848,"vertices":11544,"meshes":7,"materials":5,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.550000011920929,0.000003816168418199761,-0.4882964877090605],"max":[0.550000011920929,2.73998752587351,0.4882465751941314]},"sizeMeters":[1.1,2.74,0.977],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:29.484Z","updatedAt":"2026-10-12T07:59:50.408Z","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/25693/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 IncineratorPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25693/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/25693/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25693/v1/model.glb\" alt=\"incinerator (Prison Complex Builder)\" 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/25693/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/25693/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25694","slug":"prison-complex-builder-garden-bed-5f157658","title":"garden bed (Prison Complex Builder)","summary":"Timber raised garden bed with recessed soil and eight individually modelled leafy plants.","description":"Timber raised garden bed with recessed soil and eight individually modelled leafy plants. Dimensions 1.60 × 0.51 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-garden-bed-5f157658","cdnUrl":"https://cdn.3dassets.dev/assets/25694/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-garden-bed-5f157658","thumbnailUrl":"https://cdn.3dassets.dev/assets/25694/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25694/v1/poster.webp","blurhash":"U3AltX};01I[t,%1rXM}00Ek.kM|HYIpPTTH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":330540,"triangles":6428,"vertices":19284,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.800000011920929,-0.000005344837057191798,-0.49996643708965677],"max":[0.800000011920929,0.509971765583423,0.49996643708965677]},"sizeMeters":[1.6,0.51,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:29.592Z","updatedAt":"2026-10-12T14:35:20.650Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25694/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GardenBedPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25694/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25694/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25694/v1/model.glb\" alt=\"garden bed (Prison Complex Builder)\" 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/25694/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/25694/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25695","slug":"prison-complex-builder-inmate-bunk-bedding-1adf2263","title":"inmate bunk bedding (Prison Complex Builder)","summary":"Single bunk mattress with fitted blanket, raised pillow and subtle folded seams; 1.89 m long.","description":"Single bunk mattress with fitted blanket, raised pillow and subtle folded seams; 1.89 m long. Dimensions 0.79 × 0.18 × 1.89 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-inmate-bunk-bedding-1adf2263","cdnUrl":"https://cdn.3dassets.dev/assets/25695/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-inmate-bunk-bedding-1adf2263","thumbnailUrl":"https://cdn.3dassets.dev/assets/25695/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25695/v1/poster.webp","blurhash":"UAAdQEt800xv?GI9IV%g00Io^+oH0L?w?H9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":74104,"triangles":1780,"vertices":5340,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.39502135996677823,0.00004913555085567234,-0.9449999928474426],"max":[0.39502135996677823,0.18500129802382567,0.9449999928474426]},"sizeMeters":[0.79,0.185,1.89],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:30.929Z","updatedAt":"2026-10-06T14:52:30.899Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25695/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InmateBunkBeddingPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25695/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25695/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25695/v1/model.glb\" alt=\"inmate bunk bedding (Prison Complex Builder)\" 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/25695/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/25695/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25696","slug":"prison-complex-builder-inmate-meal-tray-6be6c82d","title":"inmate meal tray (Prison Complex Builder)","summary":"Thirty-four-centimetre divided meal tray with rounded rim and three recessed food compartments.","description":"Thirty-four-centimetre divided meal tray with rounded rim and three recessed food compartments. Dimensions 0.34 × 0.04 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-inmate-meal-tray-6be6c82d","cdnUrl":"https://cdn.3dassets.dev/assets/25696/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-inmate-meal-tray-6be6c82d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25696/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25696/v1/poster.webp","blurhash":"U9F4=H-n04oe?E$%RkNb01Iq}?NI0O9]ofsm","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":101888,"triangles":2100,"vertices":6300,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,0.000011382787070905731,-0.125003205758337],"max":[0.17000000178813934,0.037988616378464075,0.125003205758337]},"sizeMeters":[0.34,0.038,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:30.577Z","updatedAt":"2026-10-12T09:18:42.017Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25696/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InmateMealTrayPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25696/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25696/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25696/v1/model.glb\" alt=\"inmate meal tray (Prison Complex Builder)\" 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/25696/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/25696/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25697","slug":"prison-complex-builder-inmate-cup-8c2546e9","title":"inmate cup (Prison Complex Builder)","summary":"Hollow institutional mug with a rounded lip, solid base and attached loop handle, 11 cm tall.","description":"Hollow institutional mug with a rounded lip, solid base and attached loop handle, 11 cm tall. Dimensions 0.13 × 0.11 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-inmate-cup-8c2546e9","cdnUrl":"https://cdn.3dassets.dev/assets/25697/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-inmate-cup-8c2546e9","thumbnailUrl":"https://cdn.3dassets.dev/assets/25697/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25697/v1/poster.webp","blurhash":"UHF=~;~q004n_3%MIURj00WB-;fQxuRjRjRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":38692,"triangles":784,"vertices":2352,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.06516001373529434,-0.000004559776244333902,-0.04299721723027846],"max":[0.06516001373529434,0.11200456323331373,0.04299721723027846]},"sizeMeters":[0.13,0.112,0.086],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:30.897Z","updatedAt":"2026-10-12T15:54:15.834Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25697/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InmateCupPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25697/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25697/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25697/v1/model.glb\" alt=\"inmate cup (Prison Complex Builder)\" 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/25697/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/25697/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25698","slug":"prison-complex-builder-contraband-stash-9222e715","title":"contraband stash (Prison Complex Builder)","summary":"Fictional wrapped evidence parcel with two straps and a loose paper tag; static narrative prop.","description":"Fictional wrapped evidence parcel with two straps and a loose paper tag; static narrative prop. Dimensions 0.24 × 0.09 × 0.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-contraband-stash-9222e715","cdnUrl":"https://cdn.3dassets.dev/assets/25698/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-contraband-stash-9222e715","thumbnailUrl":"https://cdn.3dassets.dev/assets/25698/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25698/v1/poster.webp","blurhash":"U5DJO|~q00IU~q?bayIU00D%~qj?004noft6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":60720,"triangles":1500,"vertices":4500,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.11999999731779099,-0.0000033097441533569416,-0.07750000059604645],"max":[0.11999999731779099,0.09300267210923004,0.07750000059604645]},"sizeMeters":[0.24,0.093,0.155],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:31.037Z","updatedAt":"2026-10-25T12:56:18.476Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25698/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ContrabandStashPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25698/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25698/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25698/v1/model.glb\" alt=\"contraband stash (Prison Complex Builder)\" 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/25698/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/25698/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25699","slug":"prison-complex-builder-shiv-evidence-prop-1ca5eebe","title":"shiv evidence prop (Prison Complex Builder)","summary":"Stylised fictional evidence blade on a flat tag backing, with a wrapped handle; non-functional static mesh.","description":"Stylised fictional evidence blade on a flat tag backing, with a wrapped handle; non-functional static mesh. Dimensions 0.17 × 0.03 × 0.27 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-shiv-evidence-prop-1ca5eebe","cdnUrl":"https://cdn.3dassets.dev/assets/25699/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-shiv-evidence-prop-1ca5eebe","thumbnailUrl":"https://cdn.3dassets.dev/assets/25699/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25699/v1/poster.webp","blurhash":"U9C?r[?b00D%9FIUt7t700IU_3xu~q-;RjWB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":107360,"triangles":2168,"vertices":6504,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.08500564280626455,-0.00000761409674845644,-0.13570480048656464],"max":[0.08500564280626455,0.029001982296389273,0.13570480048656464]},"sizeMeters":[0.17,0.029,0.271],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:31.196Z","updatedAt":"2026-10-06T11:26:06.860Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25699/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShivEvidencePropPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25699/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25699/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25699/v1/model.glb\" alt=\"shiv evidence prop (Prison Complex Builder)\" 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/25699/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/25699/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25700","slug":"prison-complex-builder-inmate-tabletop-radio-cfb25c65","title":"inmate tabletop radio (Prison Complex Builder)","summary":"Inmate tabletop radio with a carrying handle, raised tuning controls, speaker grille and antenna.","description":"Inmate tabletop radio with a carrying handle, raised tuning controls, speaker grille and antenna. Dimensions 0.30 × 0.45 × 0.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-inmate-tabletop-radio-cfb25c65","cdnUrl":"https://cdn.3dassets.dev/assets/25700/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-inmate-tabletop-radio-cfb25c65","thumbnailUrl":"https://cdn.3dassets.dev/assets/25700/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25700/v1/poster.webp","blurhash":"U46a@v%M004n%Ls:IVM{4Tof?wM|a~ogocRP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":168908,"triangles":3448,"vertices":10344,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000000596046448,-0.000006106185664614405,-0.07499931817638689],"max":[0.15000000596046448,0.44999998807907104,0.07499854515446235]},"sizeMeters":[0.3,0.45,0.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:32.271Z","updatedAt":"2026-10-06T07:27:32.764Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25700/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InmateTabletopRadioPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25700/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25700/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25700/v1/model.glb\" alt=\"inmate tabletop radio (Prison Complex Builder)\" 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/25700/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/25700/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25701","slug":"prison-complex-builder-guard-handheld-radio-990b1652","title":"guard handheld radio (Prison Complex Builder)","summary":"Handheld guard radio with side push button, raised tuning controls, speaker grille and antenna.","description":"Handheld guard radio with side push button, raised tuning controls, speaker grille and antenna. Dimensions 0.09 × 0.29 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-guard-handheld-radio-990b1652","cdnUrl":"https://cdn.3dassets.dev/assets/25701/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-guard-handheld-radio-990b1652","thumbnailUrl":"https://cdn.3dassets.dev/assets/25701/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25701/v1/poster.webp","blurhash":"U14V2Y?v0000?boe9FM{00IT_N?wg4ognhV?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":134972,"triangles":2876,"vertices":8628,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.04500358445329361,0,-0.03750335666343829],"max":[0.04500152678225646,0.28999999165534973,0.03749585775582032]},"sizeMeters":[0.09,0.29,0.075],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:31.691Z","updatedAt":"2026-10-25T15:11:20.083Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25701/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuardHandheldRadioPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25701/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25701/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25701/v1/model.glb\" alt=\"guard handheld radio (Prison Complex Builder)\" 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/25701/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/25701/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25702","slug":"prison-complex-builder-book-stack-5939552a","title":"book stack (Prison Complex Builder)","summary":"Four slightly offset hardback books with visible paper blocks, covers and binding spines.","description":"Four slightly offset hardback books with visible paper blocks, covers and binding spines. Dimensions 0.19 × 0.12 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-book-stack-5939552a","cdnUrl":"https://cdn.3dassets.dev/assets/25702/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-book-stack-5939552a","thumbnailUrl":"https://cdn.3dassets.dev/assets/25702/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25702/v1/poster.webp","blurhash":"UCDTCm-p4TIo5DD$$~%N00RPbxbJ~8-;IqRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":63964,"triangles":1296,"vertices":3888,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.09624967644160567,0.0000014072041657903211,-0.12370000034570694],"max":[0.09625373932640376,0.12119946877832138,0.12250000238418579]},"sizeMeters":[0.193,0.121,0.246],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:31.807Z","updatedAt":"2026-10-12T10:31:23.810Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25702/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BookStackPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25702/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25702/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25702/v1/model.glb\" alt=\"book stack (Prison Complex Builder)\" 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/25702/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/25702/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25703","slug":"prison-complex-builder-playing-cards-c9eeaa51","title":"playing cards (Prison Complex Builder)","summary":"Small deck and a fan of five playing cards with original geometric pips and lightly rounded corners.","description":"Small deck and a fan of five playing cards with original geometric pips and lightly rounded corners. Dimensions 0.18 × 0.03 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-playing-cards-c9eeaa51","cdnUrl":"https://cdn.3dassets.dev/assets/25703/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-playing-cards-c9eeaa51","thumbnailUrl":"https://cdn.3dassets.dev/assets/25703/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25703/v1/poster.webp","blurhash":"UDBg3t%M00of-;t7RjWB00M{~qWB00IU%2t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":94108,"triangles":1908,"vertices":5724,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.0909346416592598,1.7274139394417298e-7,-0.06863321704382928],"max":[0.0909346416592598,0.026198086488965714,0.06863321704382928]},"sizeMeters":[0.182,0.026,0.137],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:32.318Z","updatedAt":"2026-10-12T13:19:16.150Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25703/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlayingCardsPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25703/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25703/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25703/v1/model.glb\" alt=\"playing cards (Prison Complex Builder)\" 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/25703/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/25703/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25704","slug":"prison-complex-builder-tiny-chess-set-194d7033","title":"tiny chess set (Prison Complex Builder)","summary":"Thirty-two-piece compact tabletop chess set on a 24 cm chequered board, with pawns, rooks, knights, bishops, queens and kings.","description":"Thirty-two-piece compact tabletop chess set on a 24 cm chequered board, with pawns, rooks, knights, bishops, queens and kings. Dimensions 0.24 × 0.06 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-tiny-chess-set-194d7033","cdnUrl":"https://cdn.3dassets.dev/assets/25704/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-tiny-chess-set-194d7033","thumbnailUrl":"https://cdn.3dassets.dev/assets/25704/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25704/v1/poster.webp","blurhash":"U79Zv7~V9aIoEOWW%2t7004.xaxu^OsoD%Mx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":503752,"triangles":10260,"vertices":30780,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.11999999731779099,-0.0000060425045537012764,-0.11999999731779099],"max":[0.11999999731779099,0.05999851875046035,0.11999999731779099]},"sizeMeters":[0.24,0.06,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:33.606Z","updatedAt":"2026-10-12T10:09:39.677Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25704/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TinyChessSetPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25704/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25704/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25704/v1/model.glb\" alt=\"tiny chess set (Prison Complex Builder)\" 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/25704/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/25704/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25705","slug":"prison-complex-builder-folded-towel-a2a46fd4","title":"folded towel (Prison Complex Builder)","summary":"Folded grey institutional towel with softly rounded volume and three visible folded edge seams.","description":"Folded grey institutional towel with softly rounded volume and three visible folded edge seams. Dimensions 0.36 × 0.07 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-folded-towel-a2a46fd4","cdnUrl":"https://cdn.3dassets.dev/assets/25705/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-folded-towel-a2a46fd4","thumbnailUrl":"https://cdn.3dassets.dev/assets/25705/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25705/v1/poster.webp","blurhash":"U5C?r@_300E2_M-:M|IB00D%~qWB00D%WBoy","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":46128,"triangles":924,"vertices":2772,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.18000000715255737,-0.0000035108704926345435,-0.12300732784003005],"max":[0.18000000715255737,0.07000351116851586,0.1230073757365059]},"sizeMeters":[0.36,0.07,0.246],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:41:32.659Z","updatedAt":"2026-10-25T14:38:10.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25705/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldedTowelPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25705/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25705/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25705/v1/model.glb\" alt=\"folded towel (Prison Complex Builder)\" 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/25705/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/25705/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25706","slug":"prison-complex-builder-uniform-pile-af58e13c","title":"uniform pile (Prison Complex Builder)","summary":"Three folded inmate uniform garments with sleeves and collar strips, stacked as one supply prop.","description":"Three folded inmate uniform garments with sleeves and collar strips, stacked as one supply prop. Dimensions 0.42 × 0.14 × 0.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-uniform-pile-af58e13c","cdnUrl":"https://cdn.3dassets.dev/assets/25706/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-uniform-pile-af58e13c","thumbnailUrl":"https://cdn.3dassets.dev/assets/25706/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25706/v1/poster.webp","blurhash":"UBG@ex~802oL?G=^aJI@02E4^iIq9a5TS%aK","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":131408,"triangles":2700,"vertices":8100,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.21000000834465027,-0.0000058772968344333876,-0.1300106866444769],"max":[0.21000000834465027,0.13499771472997538,0.1300106866444769]},"sizeMeters":[0.42,0.135,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:32.874Z","updatedAt":"2026-10-25T09:06:26.768Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25706/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UniformPilePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25706/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25706/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25706/v1/model.glb\" alt=\"uniform pile (Prison Complex Builder)\" 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/25706/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/25706/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25707","slug":"prison-complex-builder-guard-baton-5ce0d885","title":"guard baton (Prison Complex Builder)","summary":"Static guard baton with tapered shaft, textured grip rings, stop collar and attached wrist loop.","description":"Static guard baton with tapered shaft, textured grip rings, stop collar and attached wrist loop. Dimensions 0.13 × 0.56 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-guard-baton-5ce0d885","cdnUrl":"https://cdn.3dassets.dev/assets/25707/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-guard-baton-5ce0d885","thumbnailUrl":"https://cdn.3dassets.dev/assets/25707/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25707/v1/poster.webp","blurhash":"U13+Dst700M{00xu~qD%?aRj9G%MWBayofj[","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":169552,"triangles":3480,"vertices":10440,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.06701026403401417,0,-0.026998810126077348],"max":[0.06701145321130753,0.5550000071525574,0.026998810126077348]},"sizeMeters":[0.134,0.555,0.054],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:33.973Z","updatedAt":"2026-10-12T13:43:03.640Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25707/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuardBatonPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25707/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25707/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25707/v1/model.glb\" alt=\"guard baton (Prison Complex Builder)\" 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/25707/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/25707/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25708","slug":"prison-complex-builder-handcuffs-f5c3fd9b","title":"handcuffs (Prison Complex Builder)","summary":"Pair of closed metal handcuffs with hinge blocks and a short three-link connector; static prop.","description":"Pair of closed metal handcuffs with hinge blocks and a short three-link connector; static prop. Dimensions 0.24 × 0.02 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-handcuffs-f5c3fd9b","cdnUrl":"https://cdn.3dassets.dev/assets/25708/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-handcuffs-f5c3fd9b","thumbnailUrl":"https://cdn.3dassets.dev/assets/25708/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25708/v1/poster.webp","blurhash":"U37KuNt700M{?b?bM{9F00xv~qM{0000%M_3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":122736,"triangles":2520,"vertices":7560,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.11999999731779099,-0.0000019225383400059415,-0.05250030168331506],"max":[0.11999999731779099,0.022001922419130716,0.05249572680737783]},"sizeMeters":[0.24,0.022,0.105],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:33.389Z","updatedAt":"2026-10-12T09:44:14.181Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25708/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandcuffsPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25708/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25708/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25708/v1/model.glb\" alt=\"handcuffs (Prison Complex Builder)\" 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/25708/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/25708/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25709","slug":"prison-complex-builder-riot-shield-d29d00c4","title":"riot shield (Prison Complex Builder)","summary":"Curved transparent riot-shield prop with a metal edge, two rear handles and visible fasteners.","description":"Curved transparent riot-shield prop with a metal edge, two rear handles and visible fasteners. Dimensions 0.56 × 0.95 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-riot-shield-d29d00c4","cdnUrl":"https://cdn.3dassets.dev/assets/25709/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-riot-shield-d29d00c4","thumbnailUrl":"https://cdn.3dassets.dev/assets/25709/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25709/v1/poster.webp","blurhash":"UDFr@gxu00IU-;xuIUD%00WB~qt7xuxuM{IU","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":113720,"triangles":2300,"vertices":6900,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.28099087357071867,0,-0.06270785874825809],"max":[0.28099087357071867,0.949999988079071,0.06273367446991221]},"sizeMeters":[0.562,0.95,0.125],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:33.411Z","updatedAt":"2026-10-06T07:17:14.022Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25709/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RiotShieldPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25709/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25709/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25709/v1/model.glb\" alt=\"riot shield (Prison Complex Builder)\" 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/25709/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/25709/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25710","slug":"prison-complex-builder-tear-gas-canister-prop-c44daea0","title":"tear gas canister prop (Prison Complex Builder)","summary":"Generic inert canister prop with a band, top lever and retaining ring; no contents or simulation.","description":"Generic inert canister prop with a band, top lever and retaining ring; no contents or simulation. Dimensions 0.10 × 0.17 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-tear-gas-canister-prop-c44daea0","cdnUrl":"https://cdn.3dassets.dev/assets/25710/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-tear-gas-canister-prop-c44daea0","thumbnailUrl":"https://cdn.3dassets.dev/assets/25710/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25710/v1/poster.webp","blurhash":"U59H2;_20000S9kCs$jZ00IV~o-:-KacNPo#","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":51584,"triangles":1020,"vertices":3060,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.05000000074505806,0,-0.04100000113248825],"max":[0.04999775783300298,0.16899999976158142,0.04100000113248825]},"sizeMeters":[0.1,0.169,0.082],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:33.943Z","updatedAt":"2026-10-12T10:01:41.445Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25710/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TearGasCanisterPropPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25710/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25710/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25710/v1/model.glb\" alt=\"tear gas canister prop (Prison Complex Builder)\" 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/25710/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/25710/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25711","slug":"prison-complex-builder-keys-ring-8ecbc17e","title":"keys ring (Prison Complex Builder)","summary":"Five original-profile keys hanging from a shared metal ring, with separate bows and short toothed ends.","description":"Five original-profile keys hanging from a shared metal ring, with separate bows and short toothed ends. Dimensions 0.10 × 0.01 × 0.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-keys-ring-8ecbc17e","cdnUrl":"https://cdn.3dassets.dev/assets/25711/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-keys-ring-8ecbc17e","thumbnailUrl":"https://cdn.3dassets.dev/assets/25711/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25711/v1/poster.webp","blurhash":"U68;Z0xv00j=-=RjIUt700M__Na$4TtQ-;Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":193032,"triangles":3984,"vertices":11952,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.05000000074505806,-1.525925439694112e-7,-0.07474999874830246],"max":[0.05000000074505806,0.01000015236902655,0.0747503128855073]},"sizeMeters":[0.1,0.01,0.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:33.982Z","updatedAt":"2026-10-06T12:04:11.840Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25711/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KeysRingPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25711/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25711/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25711/v1/model.glb\" alt=\"keys ring (Prison Complex Builder)\" 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/25711/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/25711/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25712","slug":"prison-complex-builder-clipboard-e9eb9aba","title":"clipboard (Prison Complex Builder)","summary":"A4-like clipboard with rounded board, metal spring clip, paper sheet and abstract form lines.","description":"A4-like clipboard with rounded board, metal spring clip, paper sheet and abstract form lines. Dimensions 0.23 × 0.03 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-clipboard-e9eb9aba","cdnUrl":"https://cdn.3dassets.dev/assets/25712/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-clipboard-e9eb9aba","thumbnailUrl":"https://cdn.3dassets.dev/assets/25712/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25712/v1/poster.webp","blurhash":"UCB|1*%200WWtSNGRjxu00Io_NofIA-pxuIT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":38632,"triangles":708,"vertices":2124,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.11499374113524695,0.0000037234182603314986,-0.1599999964237213],"max":[0.11499374113524695,0.03200173846721648,0.1599999964237213]},"sizeMeters":[0.23,0.032,0.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:35.311Z","updatedAt":"2026-10-12T11:37:00.750Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25712/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClipboardPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25712/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25712/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25712/v1/model.glb\" alt=\"clipboard (Prison Complex Builder)\" 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/25712/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/25712/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25713","slug":"prison-complex-builder-mop-bucket-2850791d","title":"mop bucket (Prison Complex Builder)","summary":"Wheeled yellow mop bucket with hollow basin, wringer, metal handle and string mop resting inside.","description":"Wheeled yellow mop bucket with hollow basin, wringer, metal handle and string mop resting inside. Dimensions 0.38 × 1.25 × 0.38 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips roll drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-mop-bucket-2850791d","cdnUrl":"https://cdn.3dassets.dev/assets/25713/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-mop-bucket-2850791d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25713/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25713/v1/poster.webp","blurhash":"U77nExxY00IY4@Rl?Dxs4pWC?Zt6~QxZ4@IW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":141856,"triangles":3952,"vertices":11856,"meshes":12,"materials":5,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.1899999976158142,0,-0.1899999976158142],"max":[0.1899999976158142,1.2510000467300415,0.1899999976158142]},"sizeMeters":[0.38,1.251,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:41:35.601Z","updatedAt":"2026-10-05T07:55:52.291Z","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/25713/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 MopBucketPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25713/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/25713/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25713/v1/model.glb\" alt=\"mop bucket (Prison Complex Builder)\" 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/25713/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/25713/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25714","slug":"prison-complex-builder-laundry-cart-e435c9ff","title":"laundry cart (Prison Complex Builder)","summary":"Tubular laundry cart on four casters with a fabric hamper, open dark interior and raised push handles.","description":"Tubular laundry cart on four casters with a fabric hamper, open dark interior and raised push handles. Dimensions 0.80 × 1.09 × 1.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips roll drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-laundry-cart-e435c9ff","cdnUrl":"https://cdn.3dassets.dev/assets/25714/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-laundry-cart-e435c9ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/25714/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25714/v1/poster.webp","blurhash":"U8Bpqb?b00IU~qj@D%xu00M{_2%MRjt7RjIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":238264,"triangles":5956,"vertices":17868,"meshes":12,"materials":6,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.4010000035166741,0,-0.5],"max":[0.4010000035166741,1.0927427559656722,0.5]},"sizeMeters":[0.802,1.093,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:41:36.452Z","updatedAt":"2026-10-10T03:00:25.979Z","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/25714/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 LaundryCartPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25714/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/25714/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25714/v1/model.glb\" alt=\"laundry cart (Prison Complex Builder)\" 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/25714/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/25714/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25715","slug":"prison-complex-builder-food-trolley-1e90e018","title":"food trolley (Prison Complex Builder)","summary":"Three-tier stainless meal trolley with caster wheels, three divided trays and a raised push bar.","description":"Three-tier stainless meal trolley with caster wheels, three divided trays and a raised push bar. Dimensions 0.72 × 1.17 × 0.87 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips roll drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-food-trolley-1e90e018","cdnUrl":"https://cdn.3dassets.dev/assets/25715/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-food-trolley-1e90e018","thumbnailUrl":"https://cdn.3dassets.dev/assets/25715/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25715/v1/poster.webp","blurhash":"U8A^Udt700xt~qRj9Fxu00M{_3t8RjV@oft7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":486528,"triangles":11148,"vertices":33444,"meshes":11,"materials":5,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.36100000351667405,0,-0.4350041334699801],"max":[0.36100000351667405,1.1715000867843628,0.4350041334699801]},"sizeMeters":[0.722,1.172,0.87],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:35.292Z","updatedAt":"2026-10-12T08:44:59.627Z","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/25715/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 FoodTrolleyPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25715/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/25715/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25715/v1/model.glb\" alt=\"food trolley (Prison Complex Builder)\" 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/25715/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/25715/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25716","slug":"prison-complex-builder-meal-tray-stack-cbeb736d","title":"meal tray stack (Prison Complex Builder)","summary":"Five stacked divided meal trays, with inset bases and separated rim heights and visible separation between trays.","description":"Five stacked divided meal trays, with inset bases and separated rim heights and visible separation between trays. Dimensions 0.34 × 0.19 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-meal-tray-stack-cbeb736d","cdnUrl":"https://cdn.3dassets.dev/assets/25716/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-meal-tray-stack-cbeb736d","thumbnailUrl":"https://cdn.3dassets.dev/assets/25716/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25716/v1/poster.webp","blurhash":"UDJP*Q^$04Rk~T%0M}S204IrNINIIokBNIIq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":505084,"triangles":10500,"vertices":31500,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,0.00000503355648437398,-0.125003205758337],"max":[0.17000000178813934,0.18999496444676003,0.125003205758337]},"sizeMeters":[0.34,0.19,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:36.468Z","updatedAt":"2026-10-05T23:45:30.217Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25716/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MealTrayStackPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25716/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25716/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25716/v1/model.glb\" alt=\"meal tray stack (Prison Complex Builder)\" 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/25716/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/25716/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25717","slug":"prison-complex-builder-jumpsuit-on-hanger-880ec659","title":"jumpsuit on hanger (Prison Complex Builder)","summary":"Full-length orange jumpsuit with separated trouser legs, sleeves, chest pockets, zipper seam and a wire hanger.","description":"Full-length orange jumpsuit with separated trouser legs, sleeves, chest pockets, zipper seam and a wire hanger. Dimensions 0.70 × 1.07 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; no authored animation.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-jumpsuit-on-hanger-880ec659","cdnUrl":"https://cdn.3dassets.dev/assets/25717/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-jumpsuit-on-hanger-880ec659","thumbnailUrl":"https://cdn.3dassets.dev/assets/25717/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25717/v1/poster.webp","blurhash":"UDCYQ.s,03I@ozoejEWC0joe}:R*EOR+xYt6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":85288,"triangles":1708,"vertices":5124,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.34776518053249866,0,-0.019493371671173185],"max":[0.34776518053249866,1.0746545533103313,0.019493371671173185]},"sizeMeters":[0.696,1.075,0.039],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:41:35.737Z","updatedAt":"2026-10-25T15:22:54.095Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25717/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function JumpsuitOnHangerPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25717/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25717/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25717/v1/model.glb\" alt=\"jumpsuit on hanger (Prison Complex Builder)\" 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/25717/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/25717/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25719","slug":"prison-complex-builder-prisoner-transport-bus-shell-843bf9ff","title":"prisoner transport bus shell (Prison Complex Builder)","summary":"5.7 m transport bus shell with barred glazing, roof, four pivoted wheels, bumpers and simple bench interiors.","description":"5.7 m transport bus shell with barred glazing, roof, four pivoted wheels, bumpers and simple bench interiors. Dimensions 2.42 × 2.62 × 5.74 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Institutional painted concrete, galvanised and painted steel, practical polymer and fabric finishes. Static geometry; no rig, animation, collision or navigation data. Named nodes, where present, retain local hinge/wheel pivots; rigid node-transform clips wheel-roll drive them, with no skinning.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-prisoner-transport-bus-shell-843bf9ff","cdnUrl":"https://cdn.3dassets.dev/assets/25719/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-prisoner-transport-bus-shell-843bf9ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/25719/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25719/v1/poster.webp","blurhash":"USF$bExuD%xa~qIUIUxu00D%R*t79Fofogs:","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":381984,"triangles":8952,"vertices":26856,"meshes":14,"materials":8,"textures":0,"animations":["wheel-roll"],"boundingBox":{"min":[-1.2099987855808658,0,-2.869499921798706],"max":[1.2099987855808658,2.61994418381797,2.869499921798706]},"sizeMeters":[2.42,2.62,5.739],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:36.849Z","updatedAt":"2026-10-25T13:46:58.108Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25719/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 PrisonerTransportBusShellPrisonComplexBuilder(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/25719/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/25719/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25719/v1/model.glb\" alt=\"prisoner transport bus shell (Prison Complex Builder)\" 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/25719/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/25719/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"25718","slug":"prison-complex-builder-eight-cell-block--d889aedd-starter-scene","title":"Eight-cell block and mezzanine (Prison Complex Builder)","summary":"Eight cells in two rows, four representative bunks, continuous upper catwalk with guard rails and connected access stair. Open roofs expose the plan; detailed sanitary furnishings appear in the companion cell scene.","description":"Eight cells in two rows, four representative bunks, continuous upper catwalk with guard rails and connected access stair. Open roofs expose the plan; detailed sanitary furnishings appear in the companion cell scene.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-eight-cell-block--d889aedd-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/25718/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-eight-cell-block--d889aedd-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/25718/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25718/v1/poster.webp","blurhash":"UCC?r@~q00WBxu%MWBWA009F%MM{RjM_WBM|","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":547984,"triangles":24696,"vertices":22641,"meshes":32,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-4.107486190374463,0,-3.107486190374462],"max":[7.782173315930178,4.239964300198447,3.107486190374462]},"sizeMeters":[11.89,4.24,6.215],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":22,"publishedAt":"2026-09-07T20:41:35.750Z","updatedAt":"2026-10-12T04:39:16.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25718/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EightCellBlockAndMezzaninePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25718/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25718/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25718/v1/model.glb\" alt=\"Eight-cell block and mezzanine (Prison Complex Builder)\" 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/25718/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/25718/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25720","slug":"prison-complex-builder-cell-and-sanitary-detail-083458e6","title":"Cell and sanitary detail (Prison Complex Builder)","summary":"Close cell furnishing study with a bunk, sanitary combination, barred door in its open pose, wall shelf and three showers; uncluttered view of clearances and door construction.","description":"Close cell furnishing study with a bunk, sanitary combination, barred door in its open pose, wall shelf and three showers; uncluttered view of clearances and door construction.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-cell-and-sanitary-detail-083458e6","cdnUrl":"https://cdn.3dassets.dev/assets/25720/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-cell-and-sanitary-detail-083458e6","thumbnailUrl":"https://cdn.3dassets.dev/assets/25720/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25720/v1/poster.webp","blurhash":"U5BWlE0000%J?bR*D%s:00~V^+M}0Kt6?HS2","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":491188,"triangles":23116,"vertices":19581,"meshes":28,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-2.199925206948648,-0.000060427989866981835,-2.8999211403705973],"max":[3.527500033378601,3,1.5850350761466159]},"sizeMeters":[5.727,3,4.485],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:37.003Z","updatedAt":"2026-10-12T10:10:56.082Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25720/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellAndSanitaryDetailPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25720/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25720/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25720/v1/model.glb\" alt=\"Cell and sanitary detail (Prison Complex Builder)\" 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/25720/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/25720/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25721","slug":"prison-complex-builder-canteen-and-service-line-9ea5f9e4","title":"Canteen and service line (Prison Complex Builder)","summary":"Two bolted canteen tables, a serving line, kitchen and dish return with a meal trolley.","description":"Two bolted canteen tables, a serving line, kitchen and dish return with a meal trolley.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-canteen-and-service-line-9ea5f9e4","cdnUrl":"https://cdn.3dassets.dev/assets/25721/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-canteen-and-service-line-9ea5f9e4","thumbnailUrl":"https://cdn.3dassets.dev/assets/25721/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25721/v1/poster.webp","blurhash":"U59@bXX900H??a%MD%9F00%2_4NJE2In%L?H","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":632644,"triangles":37876,"vertices":28762,"meshes":43,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.449999952316284,0,-2.277283562254192],"max":[4.05,1.5299788615417773,1.7600375590851343]},"sizeMeters":[7.5,1.53,4.037],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:41:38.179Z","updatedAt":"2026-10-25T15:43:16.618Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25721/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanteenAndServiceLinePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25721/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25721/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25721/v1/model.glb\" alt=\"Canteen and service line (Prison Complex Builder)\" 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/25721/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/25721/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25722","slug":"prison-complex-builder-exercise-yard-and-gate-a3e9c107","title":"Exercise yard and security line (Prison Complex Builder)","summary":"Recreation yard bounded by connected mesh fence sections, with observation tower, vehicle gate, hoop and benches.","description":"Recreation yard bounded by connected mesh fence sections, with observation tower, vehicle gate, hoop and benches.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-exercise-yard-and-gate-a3e9c107","cdnUrl":"https://cdn.3dassets.dev/assets/25722/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-exercise-yard-and-gate-a3e9c107","thumbnailUrl":"https://cdn.3dassets.dev/assets/25722/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25722/v1/poster.webp","blurhash":"U7A^LB%30001%g?b9G4n00%gtSD$~VMyxWRk","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":617236,"triangles":30100,"vertices":25512,"meshes":43,"materials":8,"textures":2,"animations":[],"boundingBox":{"min":[-6.30010283586107,-0.000014650225652987348,-4.3633529007109235],"max":[6.050000011920929,6.460000038146973,2.649999976158142]},"sizeMeters":[12.35,6.46,7.013],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:38.522Z","updatedAt":"2026-10-25T11:53:14.192Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25722/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExerciseYardAndSecurityLinePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25722/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25722/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25722/v1/model.glb\" alt=\"Exercise yard and security line (Prison Complex Builder)\" 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/25722/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/25722/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25723","slug":"prison-complex-builder-security-intake-cc4df8fc","title":"Security intake (Prison Complex Builder)","summary":"Entry screening and controls with detector arch, X-ray conveyor, intercom, checkpoint desk and vehicle barrier.","description":"Entry screening and controls with detector arch, X-ray conveyor, intercom, checkpoint desk and vehicle barrier.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-security-intake-cc4df8fc","cdnUrl":"https://cdn.3dassets.dev/assets/25723/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-security-intake-cc4df8fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/25723/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25723/v1/poster.webp","blurhash":"U89a8Iad00NH%MxuIUD%00tR~qRPRPIUxu?b","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":910952,"triangles":48964,"vertices":37506,"meshes":55,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-5.100000023841858,-0.00007550499874700578,-4.4999969705007485],"max":[7.709998785580866,2.860073027304597,4.869499921798706]},"sizeMeters":[12.81,2.86,9.369],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:41:38.554Z","updatedAt":"2026-10-25T15:20:14.725Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25723/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecurityIntakePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25723/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25723/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25723/v1/model.glb\" alt=\"Security intake (Prison Complex Builder)\" 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/25723/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/25723/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25724","slug":"prison-complex-builder-rehabilitation-and-care-541ae69b","title":"Rehabilitation and care (Prison Complex Builder)","summary":"Three clearly separated stations demonstrate teaching, visits and infirmary furnishings.","description":"Three clearly separated stations demonstrate teaching, visits and infirmary furnishings.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-rehabilitation-and-care-541ae69b","cdnUrl":"https://cdn.3dassets.dev/assets/25724/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-rehabilitation-and-care-541ae69b","thumbnailUrl":"https://cdn.3dassets.dev/assets/25724/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25724/v1/poster.webp","blurhash":"U59jfi000JE#w{x]E2In00_N.8w^I:I9?H%N","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":717820,"triangles":36628,"vertices":30004,"meshes":39,"materials":8,"textures":2,"animations":[],"boundingBox":{"min":[-3.6500382909667968,-0.00004822758962225171,-1.6613041780012026],"max":[3.53494995746266,2.071199893951416,2.7040515212566736]},"sizeMeters":[7.185,2.071,4.365],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:38.678Z","updatedAt":"2026-10-25T12:42:15.285Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25724/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RehabilitationAndCarePrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25724/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25724/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25724/v1/model.glb\" alt=\"Rehabilitation and care (Prison Complex Builder)\" 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/25724/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/25724/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25725","slug":"prison-complex-builder-workshop-and-utilities-88c32643","title":"Workshop and utilities (Prison Complex Builder)","summary":"Workshop and utility maintenance area, with clear spacing around press, bench, generator, boiler and laundry equipment.","description":"Workshop and utility maintenance area, with clear spacing around press, bench, generator, boiler and laundry equipment.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-workshop-and-utilities-88c32643","cdnUrl":"https://cdn.3dassets.dev/assets/25725/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-workshop-and-utilities-88c32643","thumbnailUrl":"https://cdn.3dassets.dev/assets/25725/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25725/v1/poster.webp","blurhash":"U7Ac@}8_00?vIpbFxuRk00%g~VMxxBspRlbH","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":608028,"triangles":35984,"vertices":26740,"meshes":59,"materials":8,"textures":2,"animations":[],"boundingBox":{"min":[-2.899999976158142,0,-2.689999997615814],"max":[2.8299999833106995,2.4700000286102295,2.1]},"sizeMeters":[5.73,2.47,4.79],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:38.239Z","updatedAt":"2026-10-25T13:03:14.689Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25725/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WorkshopAndUtilitiesPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25725/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25725/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25725/v1/model.glb\" alt=\"Workshop and utilities (Prison Complex Builder)\" 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/25725/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/25725/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25726","slug":"prison-complex-builder-staff-and-inmate-props-c6c48fd8","title":"Staff and inmate prop study (Prison Complex Builder)","summary":"Separated tabletop-scale and floor-standing studies for small props, displayed at their actual metre scales.","description":"Separated tabletop-scale and floor-standing studies for small props, displayed at their actual metre scales.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-staff-and-inmate-props-c6c48fd8","cdnUrl":"https://cdn.3dassets.dev/assets/25726/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-staff-and-inmate-props-c6c48fd8","thumbnailUrl":"https://cdn.3dassets.dev/assets/25726/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25726/v1/poster.webp","blurhash":"U7AJ+j-o00^IE1ogofM{00IV~W9#^jVrkW?H","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":858892,"triangles":45296,"vertices":34460,"meshes":36,"materials":8,"textures":2,"animations":[],"boundingBox":{"min":[-1.4700000017881394,-0.000006106185664614405,-1.9449999928474426],"max":[1.7809908735707187,1.0746545533103313,0.6599999964237213]},"sizeMeters":[3.251,1.075,2.605],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:39.338Z","updatedAt":"2026-10-25T08:01:29.580Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25726/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StaffAndInmatePropStudyPrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25726/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25726/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25726/v1/model.glb\" alt=\"Staff and inmate prop study (Prison Complex Builder)\" 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/25726/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/25726/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25727","slug":"prison-complex-builder-prison-connector-cases-1-4a07fe5f","title":"Prison connector cases 1 (Prison Complex Builder)","summary":"Matched connector examples positioned using actual finished connector coordinates; ports with different elevations are assembled with the corresponding height offset.","description":"Matched connector examples positioned using actual finished connector coordinates; ports with different elevations are assembled with the corresponding height offset.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-prison-connector-cases-1-4a07fe5f","cdnUrl":"https://cdn.3dassets.dev/assets/25727/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-prison-connector-cases-1-4a07fe5f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25727/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25727/v1/poster.webp","blurhash":"U2A,%q%L00D%?a-:RnM{00M|~qxu024ooZs.","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":584764,"triangles":27388,"vertices":24661,"meshes":39,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.4999655232951715,-3.5762786065873797e-9,-0.11499374206341462],"max":[22.50113896839315,3.001199960708618,17.5]},"sizeMeters":[23.001,3.001,17.615],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:41:39.563Z","updatedAt":"2026-10-12T09:38:50.614Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25727/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrisonConnectorCases1PrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25727/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25727/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25727/v1/model.glb\" alt=\"Prison connector cases 1 (Prison Complex Builder)\" 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/25727/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/25727/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25728","slug":"prison-complex-builder-prison-connector-cases-2-9d7296be","title":"Prison connector cases 2 (Prison Complex Builder)","summary":"Matched connector examples positioned using actual finished connector coordinates; ports with different elevations are assembled with the corresponding height offset.","description":"Matched connector examples positioned using actual finished connector coordinates; ports with different elevations are assembled with the corresponding height offset.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-prison-connector-cases-2-9d7296be","cdnUrl":"https://cdn.3dassets.dev/assets/25728/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-prison-connector-cases-2-9d7296be","thumbnailUrl":"https://cdn.3dassets.dev/assets/25728/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25728/v1/poster.webp","blurhash":"U57-f=xb00Rj9Gt7xtRj00Io_3xa~qM{M|xu","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":545800,"triangles":21032,"vertices":23641,"meshes":39,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.00003323797616894275,-2.0321733159301782],"max":[24.039997009731522,7.072959899902344,17.5]},"sizeMeters":[25.04,7.073,19.532],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:38.739Z","updatedAt":"2026-10-12T12:18:55.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25728/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrisonConnectorCases2PrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25728/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25728/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25728/v1/model.glb\" alt=\"Prison connector cases 2 (Prison Complex Builder)\" 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/25728/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/25728/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"25729","slug":"prison-complex-builder-prison-connector-cases-3-35069d0f","title":"Prison connector cases 3 (Prison Complex Builder)","summary":"Matched connector examples positioned using actual finished connector coordinates; ports with different elevations are assembled with the corresponding height offset.","description":"Matched connector examples positioned using actual finished connector coordinates; ports with different elevations are assembled with the corresponding height offset.","status":"published","url":"https://3dassets.dev/assets/prison-complex-builder-prison-connector-cases-3-35069d0f","cdnUrl":"https://cdn.3dassets.dev/assets/25729/v1/model.glb","downloadUrl":"https://3dassets.dev/download/prison-complex-builder-prison-connector-cases-3-35069d0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/25729/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/25729/v1/poster.webp","blurhash":"U68z.F~q9FD%%3%Mt7fi004o-;%LD%9EIVRk","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":340664,"triangles":13864,"vertices":17504,"meshes":31,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-3.03999700973152,-0.000013946821916018676,-0.28295959523120195],"max":[24.01246404647827,4.0012002229690555,8.50007629627369]},"sizeMeters":[27.052,4.001,8.783],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:41:39.838Z","updatedAt":"2026-10-12T11:02:09.864Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/25729/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrisonConnectorCases3PrisonComplexBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/25729/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/25729/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/25729/v1/model.glb\" alt=\"Prison connector cases 3 (Prison Complex Builder)\" 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/25729/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/25729/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"prison-complex-builder","title":"Prison cell block","url":"https://3dassets.dev/demos/prison-complex-builder"}}}