{"data":{"id":61,"slug":"fortified-compound-expansion","title":"Fortified Compound Expansion","summary":"Palisades, gabion and armoured perimeter walls, gates and rolling grilles, shutters, gatehouse pieces, watch platforms, catwalks, ladders and checkpoint fittings to fortify a survival base.","description":"Original CC0 survival construction assets in the weathered-survival-v1 family. Itemised scope, states and honest static limitations in blueprint.json.","url":"https://3dassets.dev/packs/fortified-compound-expansion","coverUrl":"https://cdn.3dassets.dev/assets/27138/v1/poster.webp","assetCount":62,"aiGenerated":true,"aiGeneratedAssetCount":62,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":3484564,"totalTriangles":61220,"starterScene":{"id":"27138","slug":"fortified-compound-expansion-assembled-s-03a4a3fe-starter-scene","title":"Assembled Survivor Site (Fortified Compound Expansion)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-assembled-s-03a4a3fe-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/27138/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-assembled-s-03a4a3fe-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/27138/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27138/v1/poster.webp","blurhash":"U17J,{9Z00u3].9v0}^Q04-obqrE%#nN+H%f","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":182964,"triangles":6804,"vertices":6940,"meshes":14,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.172476667644438,0,-2.172476667644438],"max":[2.000042765651394,3.5704107022781697,2.923783079353342]},"sizeMeters":[4.173,3.57,5.096],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":15,"publishedAt":"2026-09-07T20:59:21.502Z","updatedAt":"2026-10-25T09:21:33.801Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27138/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssembledSurvivorSiteFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27138/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27138/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27138/v1/model.glb\" alt=\"Assembled Survivor Site (Fortified Compound Expansion)\" 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/27138/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/27138/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"27080","slug":"fortified-compound-expansion-palisade-spiked-7e81d2a6","title":"Palisade Spiked (Fortified Compound Expansion)","summary":"Palisade Spiked: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape palisade. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-palisade-spiked-7e81d2a6","cdnUrl":"https://cdn.3dassets.dev/assets/27080/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-palisade-spiked-7e81d2a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/27080/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27080/v1/poster.webp","blurhash":"U16Gk^^N0N1JOp$%#:Iq0$V]=xX7X7s.sBNb","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":50868,"triangles":744,"vertices":2232,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.12378307935334207],"max":[1.000042765651394,2.4000000953674316,0.12378307935334207]},"sizeMeters":[2,2.4,0.248],"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:58:36.101Z","updatedAt":"2026-10-06T04:03:34.854Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27080/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PalisadeSpikedFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27080/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27080/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27080/v1/model.glb\" alt=\"Palisade Spiked (Fortified Compound Expansion)\" 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/27080/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/27080/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27081","slug":"fortified-compound-expansion-palisade-offset-slots-d3af8197","title":"Palisade Offset Slots (Fortified Compound Expansion)","summary":"Palisade Offset Slots: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape palisade; slots true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-palisade-offset-slots-d3af8197","cdnUrl":"https://cdn.3dassets.dev/assets/27081/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-palisade-offset-slots-d3af8197","thumbnailUrl":"https://cdn.3dassets.dev/assets/27081/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27081/v1/poster.webp","blurhash":"U15zaW=^0hI;s.$%snI;0$Rl^5oebHoej@R+","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37692,"triangles":524,"vertices":1572,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.12378307935334207],"max":[1.000042765651394,2.4000000953674316,0.12378307935334207]},"sizeMeters":[2,2.4,0.248],"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:58:36.166Z","updatedAt":"2026-10-06T04:04:24.064Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27081/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PalisadeOffsetSlotsFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27081/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27081/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27081/v1/model.glb\" alt=\"Palisade Offset Slots (Fortified Compound Expansion)\" 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/27081/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/27081/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27083","slug":"fortified-compound-expansion-earth-filled-wall-8eea546f","title":"Earth Filled Wall (Fortified Compound Expansion)","summary":"Earth Filled Wall: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape gabion. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-earth-filled-wall-8eea546f","cdnUrl":"https://cdn.3dassets.dev/assets/27083/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-earth-filled-wall-8eea546f","thumbnailUrl":"https://cdn.3dassets.dev/assets/27083/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27083/v1/poster.webp","blurhash":"U5C60?~B0001^i-UIq9u0LIp?G%LxZxaR*E2","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":46540,"triangles":804,"vertices":2412,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.0120548313507411,0,-0.2250068719165786],"max":[1.0120548313507411,2.40120005607605,0.2250068719165786]},"sizeMeters":[2.024,2.401,0.45],"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:58:36.458Z","updatedAt":"2026-10-11T05:20:22.466Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27083/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EarthFilledWallFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27083/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27083/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27083/v1/model.glb\" alt=\"Earth Filled Wall (Fortified Compound Expansion)\" 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/27083/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/27083/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27082","slug":"fortified-compound-expansion-gabion-wire-wall-139dd786","title":"Gabion Wire Wall (Fortified Compound Expansion)","summary":"Gabion Wire Wall: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape gabion; mesh true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gabion-wire-wall-139dd786","cdnUrl":"https://cdn.3dassets.dev/assets/27082/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gabion-wire-wall-139dd786","thumbnailUrl":"https://cdn.3dassets.dev/assets/27082/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27082/v1/poster.webp","blurhash":"U6F~gW-=00Rh_3~qIV0000e:?bR%%M-;Rj4n","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":345156,"triangles":7152,"vertices":21456,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0485548881749251,0,-0.1863041812870345],"max":[1.0485342604730137,2.4000000953674316,0.1862620850322095]},"sizeMeters":[2.097,2.4,0.373],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:58:36.312Z","updatedAt":"2026-10-11T04:57:30.788Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27082/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GabionWireWallFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27082/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27082/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27082/v1/model.glb\" alt=\"Gabion Wire Wall (Fortified Compound Expansion)\" 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/27082/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/27082/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27084","slug":"fortified-compound-expansion-sheet-armour-perimeter-e2943f92","title":"Sheet Armour Perimeter (Fortified Compound Expansion)","summary":"Sheet Armour Perimeter: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape solid; mat metal. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-sheet-armour-perimeter-e2943f92","cdnUrl":"https://cdn.3dassets.dev/assets/27084/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-sheet-armour-perimeter-e2943f92","thumbnailUrl":"https://cdn.3dassets.dev/assets/27084/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27084/v1/poster.webp","blurhash":"U4ATyQ?b00Di~q-=D$9E4na#s:V?-q%MM_9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":6280,"triangles":108,"vertices":324,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.17505417731034764],"max":[1.000042765651394,2.4000000953674316,0.17505417731034764]},"sizeMeters":[2,2.4,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:58:39.393Z","updatedAt":"2026-10-05T13:47:55.631Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27084/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SheetArmourPerimeterFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27084/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27084/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27084/v1/model.glb\" alt=\"Sheet Armour Perimeter (Fortified Compound Expansion)\" 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/27084/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/27084/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27085","slug":"fortified-compound-expansion-braced-timber-perimeter-9463558e","title":"Braced Timber Perimeter (Fortified Compound Expansion)","summary":"Braced Timber Perimeter: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape cross. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-braced-timber-perimeter-9463558e","cdnUrl":"https://cdn.3dassets.dev/assets/27085/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-braced-timber-perimeter-9463558e","thumbnailUrl":"https://cdn.3dassets.dev/assets/27085/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27085/v1/poster.webp","blurhash":"U15;BY=c0Nn*~8=w9v5m0~X7=KNIS|s.weNI","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27860,"triangles":360,"vertices":1080,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0215766267933364,0,-0.0600604290353494],"max":[1.0215766267933364,2.4000000953674316,0.0600604290353494]},"sizeMeters":[2.043,2.4,0.12],"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:58:39.550Z","updatedAt":"2026-10-05T23:42:06.398Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27085/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BracedTimberPerimeterFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27085/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27085/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27085/v1/model.glb\" alt=\"Braced Timber Perimeter (Fortified Compound Expansion)\" 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/27085/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/27085/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27086","slug":"fortified-compound-expansion-observation-slit-wall-d7d41f5b","title":"Observation Slit Wall (Fortified Compound Expansion)","summary":"Observation Slit Wall: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape solid; slots true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-observation-slit-wall-d7d41f5b","cdnUrl":"https://cdn.3dassets.dev/assets/27086/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-observation-slit-wall-d7d41f5b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27086/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27086/v1/poster.webp","blurhash":"U17,DG^5039]-U^4nP5T2,S2w5bHxZ$~WC5A","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32172,"triangles":432,"vertices":1296,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.17505417731034764],"max":[1.000042765651394,2.4000000953674316,0.17505417731034764]},"sizeMeters":[2,2.4,0.35],"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:58:39.569Z","updatedAt":"2026-10-11T05:20:22.123Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27086/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ObservationSlitWallFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27086/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27086/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27086/v1/model.glb\" alt=\"Observation Slit Wall (Fortified Compound Expansion)\" 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/27086/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/27086/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27087","slug":"fortified-compound-expansion-overhang-climb-guard-d6aa1ee9","title":"Overhang Climb Guard (Fortified Compound Expansion)","summary":"Overhang Climb Guard: 2 × 2.4 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape mesh; overhang true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-overhang-climb-guard-d6aa1ee9","cdnUrl":"https://cdn.3dassets.dev/assets/27087/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-overhang-climb-guard-d6aa1ee9","thumbnailUrl":"https://cdn.3dassets.dev/assets/27087/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27087/v1/poster.webp","blurhash":"U57KYlbv00jv_3%2D%IV0K%M_4D%D$t7.8V@","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":55964,"triangles":936,"vertices":2808,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.23906042671076827],"max":[1.000042765651394,2.7239999771118164,0.23897912553167505]},"sizeMeters":[2,2.724,0.478],"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:58:39.833Z","updatedAt":"2026-10-06T04:05:03.174Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27087/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OverhangClimbGuardFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27087/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27087/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27087/v1/model.glb\" alt=\"Overhang Climb Guard (Fortified Compound Expansion)\" 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/27087/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/27087/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27088","slug":"fortified-compound-expansion-vehicle-denial-rail-fe61b9fe","title":"Vehicle Denial Rail (Fortified Compound Expansion)","summary":"Vehicle Denial Rail: 2 × 1.1 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 1.1m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape cross; low true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-vehicle-denial-rail-fe61b9fe","cdnUrl":"https://cdn.3dassets.dev/assets/27088/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-vehicle-denial-rail-fe61b9fe","thumbnailUrl":"https://cdn.3dassets.dev/assets/27088/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27088/v1/poster.webp","blurhash":"U37S~lxreo$%}r^4I=Rl0~$%xGI;FZkS%0W;","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27844,"triangles":360,"vertices":1080,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0108181238174438,-0.00003164027991409135,-0.05996979988101171],"max":[1.0108181238174438,1.100031664121772,0.05996979988101171]},"sizeMeters":[2.022,1.1,0.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":13,"publishedAt":"2026-09-07T20:58:42.813Z","updatedAt":"2026-10-25T11:02:14.206Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27088/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VehicleDenialRailFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27088/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27088/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27088/v1/model.glb\" alt=\"Vehicle Denial Rail (Fortified Compound Expansion)\" 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/27088/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/27088/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27090","slug":"fortified-compound-expansion-low-observation-parapet-c0faa490","title":"Low Observation Parapet (Fortified Compound Expansion)","summary":"Low Observation Parapet: 2 × 1.1 × 0.35 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 1.1m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape solid; low true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-low-observation-parapet-c0faa490","cdnUrl":"https://cdn.3dassets.dev/assets/27090/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-low-observation-parapet-c0faa490","thumbnailUrl":"https://cdn.3dassets.dev/assets/27090/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27090/v1/poster.webp","blurhash":"U48{gs-A5StO%0}Xs.NH5lWD$QSeRl$$WDEh","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12668,"triangles":108,"vertices":324,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.000004565855492466575,-0.1749320963164159],"max":[1,1.1000045896973503,0.1749320963164159]},"sizeMeters":[2,1.1,0.35],"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:58:42.908Z","updatedAt":"2026-10-05T13:48:04.414Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27090/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowObservationParapetFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27090/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27090/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27090/v1/model.glb\" alt=\"Low Observation Parapet (Fortified Compound Expansion)\" 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/27090/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/27090/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27089","slug":"fortified-compound-expansion-gate-single-wicket-cc78b773","title":"Gate Single Wicket (Fortified Compound Expansion)","summary":"Gate Single Wicket: 1 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1m wide, 2.1m high, 0.14m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style plank; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-single-wicket-cc78b773","cdnUrl":"https://cdn.3dassets.dev/assets/27089/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-single-wicket-cc78b773","thumbnailUrl":"https://cdn.3dassets.dev/assets/27089/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27089/v1/poster.webp","blurhash":"U26j,l~U0203^%%LIqIV15I]=a-ORWN2WB%F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":62384,"triangles":916,"vertices":2748,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.5166644047782933,0,-0.1094850467062358],"max":[0.5166538524573785,2.099999856948852,0.10946018057103236]},"sizeMeters":[1.033,2.1,0.219],"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:58:42.898Z","updatedAt":"2026-10-06T04:03:03.720Z","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/27089/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 GateSingleWicketFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27089/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/27089/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27089/v1/model.glb\" alt=\"Gate Single Wicket (Fortified Compound Expansion)\" 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/27089/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/27089/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27091","slug":"fortified-compound-expansion-gate-vehicle-leaf-6fc353af","title":"Gate Vehicle Leaf (Fortified Compound Expansion)","summary":"Gate Vehicle Leaf: 2 × 2.4 × 0.2 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 2m wide, 2.4m high, 0.2m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style cross; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-vehicle-leaf-6fc353af","cdnUrl":"https://cdn.3dassets.dev/assets/27091/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-vehicle-leaf-6fc353af","thumbnailUrl":"https://cdn.3dassets.dev/assets/27091/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27091/v1/poster.webp","blurhash":"U26t2Z-p0gbH}Zt7F0fk0~WW-TjtwxaeNaa|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":108400,"triangles":1684,"vertices":5052,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.0166827466647657,0,-0.15144530257204944],"max":[1.0165925119189585,2.400000143051148,0.15155039282427385]},"sizeMeters":[2.033,2.4,0.303],"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:58:43.158Z","updatedAt":"2026-10-05T13:48:07.079Z","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/27091/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 GateVehicleLeafFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27091/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/27091/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27091/v1/model.glb\" alt=\"Gate Vehicle Leaf (Fortified Compound Expansion)\" 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/27091/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/27091/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27092","slug":"fortified-compound-expansion-gate-observation-leaf-ce396627","title":"Gate Observation Leaf (Fortified Compound Expansion)","summary":"Gate Observation Leaf: 1 × 2.1 × 0.18 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1m wide, 2.1m high, 0.18m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style window; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-observation-leaf-ce396627","cdnUrl":"https://cdn.3dassets.dev/assets/27092/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-observation-leaf-ce396627","thumbnailUrl":"https://cdn.3dassets.dev/assets/27092/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27092/v1/poster.webp","blurhash":"U05;Bgc?01HYxnWAVvoz0##p}sJQ~Txu59My","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41796,"triangles":568,"vertices":1704,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.5166644044863367,0,-0.13748076763510553],"max":[0.5165686928464958,2.09999988079071,0.13749508524323403]},"sizeMeters":[1.033,2.1,0.275],"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:58:46.178Z","updatedAt":"2026-10-05T13:48:07.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/27092/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 GateObservationLeafFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27092/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/27092/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27092/v1/model.glb\" alt=\"Gate Observation Leaf (Fortified Compound Expansion)\" 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/27092/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/27092/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27093","slug":"fortified-compound-expansion-gate-rolling-grille-74c5dc09","title":"Gate Rolling Grille (Fortified Compound Expansion)","summary":"Gate Rolling Grille: 2 × 2.4 × 0.16 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 2m wide, 2.4m high, 0.16m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style bars; mat metal. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-rolling-grille-74c5dc09","cdnUrl":"https://cdn.3dassets.dev/assets/27093/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-rolling-grille-74c5dc09","thumbnailUrl":"https://cdn.3dassets.dev/assets/27093/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27093/v1/poster.webp","blurhash":"U9Awh,Or4mXS.AW=M^j[00wJxAi_s?n%V=jY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32180,"triangles":600,"vertices":1800,"meshes":3,"materials":1,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0166827466647657,0,-0.12349010625002564],"max":[1.0166862621929287,2.400000143051148,0.12349010195849121]},"sizeMeters":[2.033,2.4,0.247],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:58:46.237Z","updatedAt":"2026-10-06T04:03:35.949Z","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/27093/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 GateRollingGrilleFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27093/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/27093/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27093/v1/model.glb\" alt=\"Gate Rolling Grille (Fortified Compound Expansion)\" 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/27093/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/27093/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27094","slug":"fortified-compound-expansion-gate-armoured-leaf-975aa913","title":"Gate Armoured Leaf (Fortified Compound Expansion)","summary":"Gate Armoured Leaf: 1.4 × 2.4 × 0.2 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1.4m wide, 2.4m high, 0.2m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style armour; mat metal. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-armoured-leaf-975aa913","cdnUrl":"https://cdn.3dassets.dev/assets/27094/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-armoured-leaf-975aa913","thumbnailUrl":"https://cdn.3dassets.dev/assets/27094/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27094/v1/poster.webp","blurhash":"U38;iN?b00D$_Nah9Fk800ae?vba?bxaM{R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":64120,"triangles":1264,"vertices":3792,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.7166827369790107,0,-0.15146947818018064],"max":[0.7166801265161352,2.400000143051148,0.15146947233892544]},"sizeMeters":[1.433,2.4,0.303],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:58:46.254Z","updatedAt":"2026-10-05T13:48:10.973Z","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/27094/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 GateArmouredLeafFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27094/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/27094/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27094/v1/model.glb\" alt=\"Gate Armoured Leaf (Fortified Compound Expansion)\" 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/27094/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/27094/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27095","slug":"fortified-compound-expansion-gate-stable-checkpoint-b20b1707","title":"Gate Stable Checkpoint (Fortified Compound Expansion)","summary":"Gate Stable Checkpoint: 1.4 × 2.4 × 0.18 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1.4m wide, 2.4m high, 0.18m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style split; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-stable-checkpoint-b20b1707","cdnUrl":"https://cdn.3dassets.dev/assets/27095/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-stable-checkpoint-b20b1707","thumbnailUrl":"https://cdn.3dassets.dev/assets/27095/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27095/v1/poster.webp","blurhash":"U47cpk-V0zEM}Ys:AXWB+xjHK3X6[@jGAXW;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":83048,"triangles":1252,"vertices":3756,"meshes":5,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.7166827369790107,0,-0.14247862910949316],"max":[0.7166801265161352,2.400000143051148,0.14252683276872022]},"sizeMeters":[1.433,2.4,0.285],"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:58:46.449Z","updatedAt":"2026-10-09T12:00:34.069Z","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/27095/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 GateStableCheckpointFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27095/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/27095/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27095/v1/model.glb\" alt=\"Gate Stable Checkpoint (Fortified Compound Expansion)\" 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/27095/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/27095/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27098","slug":"fortified-compound-expansion-shutter-observation-1fcd5a91","title":"Shutter Observation (Fortified Compound Expansion)","summary":"Shutter Observation: 1.2 × 0.8 × 0.12 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1.2m wide, 0.8m high, 0.12m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style louvre; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-shutter-observation-1fcd5a91","cdnUrl":"https://cdn.3dassets.dev/assets/27098/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-shutter-observation-1fcd5a91","thumbnailUrl":"https://cdn.3dassets.dev/assets/27098/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27098/v1/poster.webp","blurhash":"U17Jwr~qL3~W^gofWFof004nMI8_IpRjNGV@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22356,"triangles":244,"vertices":732,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.6166339150600236,-0.000024433808266388635,-0.09550931239816482],"max":[0.6166435245424509,0.80002445168966,0.0955011838290231]},"sizeMeters":[1.233,0.8,0.191],"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:58:49.715Z","updatedAt":"2026-10-05T13:48:14.975Z","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/27098/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 ShutterObservationFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27098/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/27098/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27098/v1/model.glb\" alt=\"Shutter Observation (Fortified Compound Expansion)\" 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/27098/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/27098/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27096","slug":"fortified-compound-expansion-shutter-firing-aperture-5a3ece77","title":"Shutter Firing Aperture (Fortified Compound Expansion)","summary":"Shutter Firing Aperture: 0.8 × 0.6 × 0.12 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.8m wide, 0.6m high, 0.12m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style window; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-shutter-firing-aperture-5a3ece77","cdnUrl":"https://cdn.3dassets.dev/assets/27096/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-shutter-firing-aperture-5a3ece77","thumbnailUrl":"https://cdn.3dassets.dev/assets/27096/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27096/v1/poster.webp","blurhash":"U27mQq~Xpx_3-Tr@WCn%004mHr8_WEkCbaoL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":36056,"triangles":472,"vertices":1416,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.4166491529587423,0.000015270663617228397,-0.09551159840278009],"max":[0.41664349772036074,0.5999847591387053,0.09550149472653738]},"sizeMeters":[0.833,0.6,0.191],"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:58:49.648Z","updatedAt":"2026-10-05T13:48:16.365Z","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/27096/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 ShutterFiringApertureFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27096/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/27096/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27096/v1/model.glb\" alt=\"Shutter Firing Aperture (Fortified Compound Expansion)\" 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/27096/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/27096/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27097","slug":"fortified-compound-expansion-shutter-service-counter-dc6e675f","title":"Shutter Service Counter (Fortified Compound Expansion)","summary":"Shutter Service Counter: 1.5 × 0.8 × 0.1 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1.5m wide, 0.8m high, 0.1m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style sheet; mat metal. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-shutter-service-counter-dc6e675f","cdnUrl":"https://cdn.3dassets.dev/assets/27097/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-shutter-service-counter-dc6e675f","thumbnailUrl":"https://cdn.3dassets.dev/assets/27097/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27097/v1/poster.webp","blurhash":"U38}6|?b4n?b~qofRjof00D%x]IU00RjofRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":68228,"triangles":1348,"vertices":4044,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.7666338882379334,-0.0000018784552530126675,-0.08152323986002495],"max":[0.766643488779664,0.8000018963366465,0.08152323789307166]},"sizeMeters":[1.533,0.8,0.163],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:58:49.693Z","updatedAt":"2026-10-25T08:00:12.521Z","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/27097/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 ShutterServiceCounterFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27097/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/27097/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27097/v1/model.glb\" alt=\"Shutter Service Counter (Fortified Compound Expansion)\" 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/27097/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/27097/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27099","slug":"fortified-compound-expansion-hatch-watch-floor-c46bd74c","title":"Hatch Watch Floor (Fortified Compound Expansion)","summary":"Hatch Watch Floor: 1 × 0.15 × 1 m nominal survival hatch assembly.","description":"Original weathered survival hatch. Nominal envelope 1m wide, 0.15m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form hatch; style sealed; mat wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-hatch-watch-floor-c46bd74c","cdnUrl":"https://cdn.3dassets.dev/assets/27099/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-hatch-watch-floor-c46bd74c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27099/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27099/v1/poster.webp","blurhash":"U69%|=Wp00xu00M{WB%200oLWVRj~qWB?vx]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7704,"triangles":96,"vertices":288,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5,-0.000014493311768865036,-0.5],"max":[0.5,0.16250542225051556,0.5]},"sizeMeters":[1,0.163,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:58:49.729Z","updatedAt":"2026-10-05T13:48:25.477Z","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/27099/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 HatchWatchFloorFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27099/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/27099/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27099/v1/model.glb\" alt=\"Hatch Watch Floor (Fortified Compound Expansion)\" 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/27099/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/27099/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27102","slug":"fortified-compound-expansion-watch-platform-straight-0a09fe97","title":"Watch Platform Straight (Fortified Compound Expansion)","summary":"Watch Platform Straight: 2 × 2.4 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 2.4m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; support cross; rail u. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-watch-platform-straight-0a09fe97","cdnUrl":"https://cdn.3dassets.dev/assets/27102/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-watch-platform-straight-0a09fe97","thumbnailUrl":"https://cdn.3dassets.dev/assets/27102/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27102/v1/poster.webp","blurhash":"U270Vr|_0NEf}?S45kOAE#Nce:W-,E,Gw1SK","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":153884,"triangles":2460,"vertices":7380,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0599383823413286,0,-1.0099440219546598],"max":[1.0599383823413286,3.4000000953674316,0.999944031491403]},"sizeMeters":[2.12,3.4,2.01],"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:58:53.084Z","updatedAt":"2026-10-25T10:39:44.445Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27102/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WatchPlatformStraightFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27102/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27102/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27102/v1/model.glb\" alt=\"Watch Platform Straight (Fortified Compound Expansion)\" 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/27102/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/27102/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27101","slug":"fortified-compound-expansion-watch-platform-corner-c80cb22c","title":"Watch Platform Corner (Fortified Compound Expansion)","summary":"Watch Platform Corner: 2 × 2.4 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 2.4m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; support piers; rail corner. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-watch-platform-corner-c80cb22c","cdnUrl":"https://cdn.3dassets.dev/assets/27101/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-watch-platform-corner-c80cb22c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27101/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27101/v1/poster.webp","blurhash":"U9Av:@xb0Kf54Tad%goL9Gj?RjRj_Mb0RPoe","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":126388,"triangles":2076,"vertices":6228,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.059999942779541,0,-1.009978451767239],"max":[1,3.4000095248560696,0.9999784613039822]},"sizeMeters":[2.06,3.4,2.01],"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:58:53.050Z","updatedAt":"2026-10-25T11:02:22.121Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27101/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WatchPlatformCornerFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27101/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27101/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27101/v1/model.glb\" alt=\"Watch Platform Corner (Fortified Compound Expansion)\" 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/27101/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/27101/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27100","slug":"fortified-compound-expansion-gatehouse-floor-b49c0410","title":"Gatehouse Floor (Fortified Compound Expansion)","summary":"Gatehouse Floor: 4 × 0.4 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 4m wide, 0.4m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck hatch. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gatehouse-floor-b49c0410","cdnUrl":"https://cdn.3dassets.dev/assets/27100/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-floor-b49c0410","thumbnailUrl":"https://cdn.3dassets.dev/assets/27100/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27100/v1/poster.webp","blurhash":"U16QL|-A0#$N=_=dr@NH03Sx}YNI591IJTX9","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":189060,"triangles":3048,"vertices":9144,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00004272889349862807,-1.00015259254738],"max":[2,0.3999572770669658,1.00015259254738]},"sizeMeters":[4,0.4,2],"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:58:52.984Z","updatedAt":"2026-10-05T13:48:23.938Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27100/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatehouseFloorFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27100/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27100/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27100/v1/model.glb\" alt=\"Gatehouse Floor (Fortified Compound Expansion)\" 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/27100/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/27100/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27103","slug":"fortified-compound-expansion-gatehouse-side-wall-68373001","title":"Gatehouse Side Wall (Fortified Compound Expansion)","summary":"Gatehouse Side Wall: 2 × 2.4 × 0.25 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening slot. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gatehouse-side-wall-68373001","cdnUrl":"https://cdn.3dassets.dev/assets/27103/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-side-wall-68373001","thumbnailUrl":"https://cdn.3dassets.dev/assets/27103/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27103/v1/poster.webp","blurhash":"U170Vs}A021O}l=eN29[1JoI],NM=r-ANL9]","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":137604,"triangles":2196,"vertices":6588,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1724766676444379],"max":[1.000042765651394,2.4000000953674316,0.21747665453141604]},"sizeMeters":[2,2.4,0.39],"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:58:53.340Z","updatedAt":"2026-10-25T14:48:16.388Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27103/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatehouseSideWallFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27103/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27103/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27103/v1/model.glb\" alt=\"Gatehouse Side Wall (Fortified Compound Expansion)\" 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/27103/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/27103/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27105","slug":"fortified-compound-expansion-gatehouse-front-opening-3cadec40","title":"Gatehouse Front Opening (Fortified Compound Expansion)","summary":"Gatehouse Front Opening: 4 × 2.4 × 0.25 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 4m wide, 2.4m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening wide-door. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gatehouse-front-opening-3cadec40","cdnUrl":"https://cdn.3dassets.dev/assets/27105/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-front-opening-3cadec40","thumbnailUrl":"https://cdn.3dassets.dev/assets/27105/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27105/v1/poster.webp","blurhash":"U47JX+$j#U,:}=}ERkWBNa$iR+R*Ipw^-AWX","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":149796,"triangles":2400,"vertices":7200,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.00010981895039785528,-0.16504409924619282],"max":[2,2.4001099143178295,0.16804932750254223]},"sizeMeters":[4,2.4,0.333],"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:58:56.662Z","updatedAt":"2026-10-25T15:23:45.617Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27105/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatehouseFrontOpeningFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27105/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27105/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27105/v1/model.glb\" alt=\"Gatehouse Front Opening (Fortified Compound Expansion)\" 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/27105/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/27105/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27106","slug":"fortified-compound-expansion-gatehouse-rear-door-cc315021","title":"Gatehouse Rear Door (Fortified Compound Expansion)","summary":"Gatehouse Rear Door: 2 × 2.4 × 0.25 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening door. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gatehouse-rear-door-cc315021","cdnUrl":"https://cdn.3dassets.dev/assets/27106/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-rear-door-cc315021","thumbnailUrl":"https://cdn.3dassets.dev/assets/27106/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27106/v1/poster.webp","blurhash":"U16%Zs~A0NE2}=^4EN105SI=WFsBb^xbWFEM","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":104460,"triangles":1644,"vertices":4932,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1649464465702523],"max":[1.000042765651394,2.4000000953674316,0.16799807944460812]},"sizeMeters":[2,2.4,0.333],"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:58:56.502Z","updatedAt":"2026-10-05T13:48:23.519Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27106/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatehouseRearDoorFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27106/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27106/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27106/v1/model.glb\" alt=\"Gatehouse Rear Door (Fortified Compound Expansion)\" 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/27106/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/27106/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27104","slug":"fortified-compound-expansion-gatehouse-overlook-wall-4d3880ed","title":"Gatehouse Overlook Wall (Fortified Compound Expansion)","summary":"Gatehouse Overlook Wall: 2 × 2.4 × 0.25 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening counter. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gatehouse-overlook-wall-4d3880ed","cdnUrl":"https://cdn.3dassets.dev/assets/27104/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-overlook-wall-4d3880ed","thumbnailUrl":"https://cdn.3dassets.dev/assets/27104/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27104/v1/poster.webp","blurhash":"U16?[9}E035m^N=dRSAD1Hsn=xJ9^4-AEg9^","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":137628,"triangles":2196,"vertices":6588,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1724766676444379],"max":[1.000042765651394,2.4000000953674316,0.21747665453141604]},"sizeMeters":[2,2.4,0.39],"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:58:56.573Z","updatedAt":"2026-10-06T20:56:43.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27104/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatehouseOverlookWallFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27104/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27104/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27104/v1/model.glb\" alt=\"Gatehouse Overlook Wall (Fortified Compound Expansion)\" 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/27104/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/27104/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27107","slug":"fortified-compound-expansion-gatehouse-roof-walk-5f866163","title":"Gatehouse Roof Walk (Fortified Compound Expansion)","summary":"Gatehouse Roof Walk: 4 × 0.3 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 4m wide, 0.3m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck planks; rail u. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gatehouse-roof-walk-5f866163","cdnUrl":"https://cdn.3dassets.dev/assets/27107/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-roof-walk-5f866163","thumbnailUrl":"https://cdn.3dassets.dev/assets/27107/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27107/v1/poster.webp","blurhash":"U17Jh9xs0gNv={^4oHI;03so-TNcM{EgEjNx","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":191308,"triangles":3084,"vertices":9252,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2.059999942779541,-0.00011933315559531366,-1.0099470177033518],"max":[2.059999942779541,1.3001192854718795,0.999947027240095]},"sizeMeters":[4.12,1.3,2.01],"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:58:56.453Z","updatedAt":"2026-10-05T13:48:29.945Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27107/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GatehouseRoofWalkFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27107/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27107/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27107/v1/model.glb\" alt=\"Gatehouse Roof Walk (Fortified Compound Expansion)\" 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/27107/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/27107/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27109","slug":"fortified-compound-expansion-checkpoint-roof-9b2b3f8f","title":"Checkpoint Roof (Fortified Compound Expansion)","summary":"Checkpoint Roof: 4 × 1 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 4m wide, 1m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape shed. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-checkpoint-roof-9b2b3f8f","cdnUrl":"https://cdn.3dassets.dev/assets/27109/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-checkpoint-roof-9b2b3f8f","thumbnailUrl":"https://cdn.3dassets.dev/assets/27109/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27109/v1/poster.webp","blurhash":"U15;Ej%00hsmKNs.n*OA02EN^hr]z?r?xYwN","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24352,"triangles":252,"vertices":756,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2.0121266841888428,0.0000981483238421399,-1.0000147420275065],"max":[2.0121266841888428,1.1134090032798567,1.0000147420275065]},"sizeMeters":[4.024,1.113,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:58:59.776Z","updatedAt":"2026-10-05T13:48:32.009Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27109/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CheckpointRoofFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27109/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27109/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27109/v1/model.glb\" alt=\"Checkpoint Roof (Fortified Compound Expansion)\" 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/27109/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/27109/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27108","slug":"fortified-compound-expansion-inspection-step-f821f60e","title":"Inspection Step (Fortified Compound Expansion)","summary":"Inspection Step: 1 × 0.6 × 1 m nominal survival stairs assembly.","description":"Original weathered survival stairs. Nominal envelope 1m wide, 0.6m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form stairs; shape straight. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-inspection-step-f821f60e","cdnUrl":"https://cdn.3dassets.dev/assets/27108/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-inspection-step-f821f60e","thumbnailUrl":"https://cdn.3dassets.dev/assets/27108/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27108/v1/poster.webp","blurhash":"U37dzi^kK*^j.T_3$%Sg00Ki#8D*8w00E*V@","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14004,"triangles":132,"vertices":396,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4999822182010956,-0.0000057011296104581,-0.5276811718940735],"max":[0.4999822182010956,1.5032330751419067,0.5276811718940735]},"sizeMeters":[1,1.503,1.055],"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:58:59.740Z","updatedAt":"2026-10-06T04:04:18.634Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27108/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InspectionStepFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27108/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27108/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27108/v1/model.glb\" alt=\"Inspection Step (Fortified Compound Expansion)\" 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/27108/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/27108/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27110","slug":"fortified-compound-expansion-inspection-drawbridge-ad278097","title":"Inspection Drawbridge (Fortified Compound Expansion)","summary":"Inspection Drawbridge: 2 × 0.3 × 2 m nominal survival ramp assembly.","description":"Original weathered survival ramp. Nominal envelope 2m wide, 0.3m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form ramp; cleats true; rails true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-inspection-drawbridge-ad278097","cdnUrl":"https://cdn.3dassets.dev/assets/27110/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-inspection-drawbridge-ad278097","thumbnailUrl":"https://cdn.3dassets.dev/assets/27110/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27110/v1/poster.webp","blurhash":"U69Z.g-:57M{.mo#sTIn00R*VXMxHXs-D%nj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18752,"triangles":228,"vertices":684,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0299999713897705,0.00000125159567376798,-1.0299999713897705],"max":[1.0299999713897705,1.1741639376524544,1.0299999713897705]},"sizeMeters":[2.06,1.174,2.06],"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:58:59.885Z","updatedAt":"2026-10-05T13:48:33.151Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27110/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InspectionDrawbridgeFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27110/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27110/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27110/v1/model.glb\" alt=\"Inspection Drawbridge (Fortified Compound Expansion)\" 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/27110/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/27110/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27111","slug":"fortified-compound-expansion-perimeter-catwalk-bdd60ae7","title":"Perimeter Catwalk (Fortified Compound Expansion)","summary":"Perimeter Catwalk: 2 × 0.2 × 1 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.2m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck grate; rail back. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-catwalk-bdd60ae7","cdnUrl":"https://cdn.3dassets.dev/assets/27111/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-catwalk-bdd60ae7","thumbnailUrl":"https://cdn.3dassets.dev/assets/27111/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27111/v1/poster.webp","blurhash":"U89jJ,t84.bvH=t7o}I.00MdXTXS?wxFMxX8","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":38580,"triangles":564,"vertices":1692,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.000059949797634017976,-0.5099592530214779],"max":[1,1.2100599879446068,0.4999678410503518]},"sizeMeters":[2,1.21,1.01],"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:59:00.115Z","updatedAt":"2026-10-05T13:48:33.563Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27111/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterCatwalkFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27111/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27111/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27111/v1/model.glb\" alt=\"Perimeter Catwalk (Fortified Compound Expansion)\" 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/27111/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/27111/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27112","slug":"fortified-compound-expansion-perimeter-turn-platform-bf694f2c","title":"Perimeter Turn Platform (Fortified Compound Expansion)","summary":"Perimeter Turn Platform: 2 × 0.2 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck l; rail corner. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-turn-platform-bf694f2c","cdnUrl":"https://cdn.3dassets.dev/assets/27112/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-turn-platform-bf694f2c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27112/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27112/v1/poster.webp","blurhash":"U17]#1}?0gM{={w4rs$f02I:OEW=$xOm9_Ab","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":59564,"triangles":740,"vertices":2220,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.059999942779541,0.000020025501675569046,-1.009978451767239],"max":[1,1.209980012645297,0.9999784613039822]},"sizeMeters":[2.06,1.21,2.01],"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:59:03.231Z","updatedAt":"2026-10-25T09:43:48.036Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27112/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterTurnPlatformFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27112/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27112/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27112/v1/model.glb\" alt=\"Perimeter Turn Platform (Fortified Compound Expansion)\" 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/27112/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/27112/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27114","slug":"fortified-compound-expansion-perimeter-ladder-c1faf6dc","title":"Perimeter Ladder (Fortified Compound Expansion)","summary":"Perimeter Ladder: 0.7 × 2.4 × 0.2 m nominal survival ladder assembly.","description":"Original weathered survival ladder. Nominal envelope 0.7m wide, 2.4m high, 0.2m deep; applied framing, handles or rails can extend beyond this. Construction: form ladder. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-ladder-c1faf6dc","cdnUrl":"https://cdn.3dassets.dev/assets/27114/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-ladder-c1faf6dc","thumbnailUrl":"https://cdn.3dassets.dev/assets/27114/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27114/v1/poster.webp","blurhash":"U17naq?b0000_4xu8_IA00WB?vogjbozofM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16432,"triangles":320,"vertices":960,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3850093234442855,0,-0.03501083546206953],"max":[0.3850093234442855,2.4000000953674316,0.03501083546206953]},"sizeMeters":[0.77,2.4,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:59:03.353Z","updatedAt":"2026-10-05T13:48:36.473Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27114/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterLadderFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27114/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27114/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27114/v1/model.glb\" alt=\"Perimeter Ladder (Fortified Compound Expansion)\" 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/27114/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/27114/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27113","slug":"fortified-compound-expansion-perimeter-caged-ladder-b6899d51","title":"Perimeter Caged Ladder (Fortified Compound Expansion)","summary":"Perimeter Caged Ladder: 0.7 × 3 × 0.6 m nominal survival ladder assembly.","description":"Original weathered survival ladder. Nominal envelope 0.7m wide, 3m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form ladder; cage true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-caged-ladder-b6899d51","cdnUrl":"https://cdn.3dassets.dev/assets/27113/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-caged-ladder-b6899d51","thumbnailUrl":"https://cdn.3dassets.dev/assets/27113/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27113/v1/poster.webp","blurhash":"U484udWB00xu_Noz4TRPD%Rj%3%2%gofIBWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":58640,"triangles":1200,"vertices":3600,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.47650074770348216,0,-0.32996612445448165],"max":[0.47650074770348216,3,0.32996612445448165]},"sizeMeters":[0.953,3,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:59:03.251Z","updatedAt":"2026-10-25T05:51:22.096Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27113/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterCagedLadderFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27113/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27113/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27113/v1/model.glb\" alt=\"Perimeter Caged Ladder (Fortified Compound Expansion)\" 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/27113/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/27113/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27115","slug":"fortified-compound-expansion-perimeter-stair-8e26770f","title":"Perimeter Stair (Fortified Compound Expansion)","summary":"Perimeter Stair: 1 × 2.4 × 3 m nominal survival stairs assembly.","description":"Original weathered survival stairs. Nominal envelope 1m wide, 2.4m high, 3m deep; applied framing, handles or rails can extend beyond this. Construction: form stairs; shape straight. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-stair-8e26770f","cdnUrl":"https://cdn.3dassets.dev/assets/27115/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-stair-8e26770f","thumbnailUrl":"https://cdn.3dassets.dev/assets/27115/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27115/v1/poster.webp","blurhash":"U14xY$=|0KIU.S?bMxDi00Kj^+ml4T00%h_3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20468,"triangles":240,"vertices":720,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.49997897019271187,-0.00007018526505508937,-1.5367048978805542],"max":[0.49997897019271187,3.2974631786346436,1.5367048978805542]},"sizeMeters":[1,3.298,3.073],"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:59:03.422Z","updatedAt":"2026-10-25T08:16:31.636Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27115/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterStairFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27115/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27115/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27115/v1/model.glb\" alt=\"Perimeter Stair (Fortified Compound Expansion)\" 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/27115/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/27115/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27116","slug":"fortified-compound-expansion-perimeter-ramp-5965fdc1","title":"Perimeter Ramp (Fortified Compound Expansion)","summary":"Perimeter Ramp: 1.5 × 0.8 × 3 m nominal survival ramp assembly.","description":"Original weathered survival ramp. Nominal envelope 1.5m wide, 0.8m high, 3m deep; applied framing, handles or rails can extend beyond this. Construction: form ramp; rails true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-ramp-5965fdc1","cdnUrl":"https://cdn.3dassets.dev/assets/27116/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-ramp-5965fdc1","thumbnailUrl":"https://cdn.3dassets.dev/assets/27116/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27116/v1/poster.webp","blurhash":"U596~|^*11NL.T9aIAr=0LDhibobDi-Uoft,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12952,"triangles":108,"vertices":324,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.780058580951491,-5.757995683031147e-7,-1.5299999713897705],"max":[0.780058580951491,1.6725733159899814,1.5299999713897705]},"sizeMeters":[1.56,1.673,3.06],"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:59:06.622Z","updatedAt":"2026-10-25T15:33:08.091Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27116/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterRampFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27116/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27116/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27116/v1/model.glb\" alt=\"Perimeter Ramp (Fortified Compound Expansion)\" 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/27116/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/27116/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27117","slug":"fortified-compound-expansion-courtyard-sentry-shelter-6b46b1d6","title":"Courtyard Sentry Shelter (Fortified Compound Expansion)","summary":"Courtyard Sentry Shelter: 2 × 2.8 × 2 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.8m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof shed; walls back. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-courtyard-sentry-shelter-6b46b1d6","cdnUrl":"https://cdn.3dassets.dev/assets/27117/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-courtyard-sentry-shelter-6b46b1d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/27117/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27117/v1/poster.webp","blurhash":"U16jRNOT0N|3~A$$9[9_0#S1-AI@0#9]=x}r","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":130832,"triangles":1752,"vertices":5256,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0904522116439557,0,-1.0762876557937113],"max":[1.0904522116439557,2.865000009536743,1.0762876557937113]},"sizeMeters":[2.181,2.865,2.153],"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:59:06.837Z","updatedAt":"2026-10-09T12:00:24.421Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27117/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourtyardSentryShelterFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27117/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27117/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27117/v1/model.glb\" alt=\"Courtyard Sentry Shelter (Fortified Compound Expansion)\" 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/27117/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/27117/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27119","slug":"fortified-compound-expansion-barrier-counterweight-afdea4eb","title":"Barrier Counterweight (Fortified Compound Expansion)","summary":"Barrier Counterweight: 0.6 × 0.8 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.6m wide, 0.8m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape winch. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-barrier-counterweight-afdea4eb","cdnUrl":"https://cdn.3dassets.dev/assets/27119/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-barrier-counterweight-afdea4eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/27119/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27119/v1/poster.webp","blurhash":"U38}0%~q009]~W%2E1E200Mx-;RP4.X9wIQ-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26576,"triangles":388,"vertices":1164,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.31500447798256226,0,-0.30002648221961487],"max":[0.31500447798256226,0.7839999794960022,0.30002648221961487]},"sizeMeters":[0.63,0.784,0.6],"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:59:07.078Z","updatedAt":"2026-10-05T13:48:42.772Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27119/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarrierCounterweightFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27119/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27119/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27119/v1/model.glb\" alt=\"Barrier Counterweight (Fortified Compound Expansion)\" 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/27119/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/27119/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27118","slug":"fortified-compound-expansion-gate-winch-pedestal-7db715b4","title":"Gate Winch Pedestal (Fortified Compound Expansion)","summary":"Gate Winch Pedestal: 0.7 × 1.1 × 0.7 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.7m wide, 1.1m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape winch; upright true. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-winch-pedestal-7db715b4","cdnUrl":"https://cdn.3dassets.dev/assets/27118/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-winch-pedestal-7db715b4","thumbnailUrl":"https://cdn.3dassets.dev/assets/27118/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27118/v1/poster.webp","blurhash":"U38||u~q00EL~WxuE1Io00Io-;Vs9]NGZ~wc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31748,"triangles":496,"vertices":1488,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.3674947435223493,0,-0.3499710150014151],"max":[0.3674947435223493,1.100000023841858,0.3499710150014151]},"sizeMeters":[0.735,1.1,0.7],"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:59:06.875Z","updatedAt":"2026-10-05T13:48:44.898Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27118/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateWinchPedestalFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27118/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27118/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27118/v1/model.glb\" alt=\"Gate Winch Pedestal (Fortified Compound Expansion)\" 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/27118/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/27118/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27120","slug":"fortified-compound-expansion-gate-wheel-stop-45c49689","title":"Gate Wheel Stop (Fortified Compound Expansion)","summary":"Gate Wheel Stop: 1 × 0.12 × 0.25 m nominal survival beam assembly.","description":"Original weathered survival beam. Nominal envelope 1m wide, 0.12m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form beam; shape threshold. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-wheel-stop-45c49689","cdnUrl":"https://cdn.3dassets.dev/assets/27120/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-wheel-stop-45c49689","thumbnailUrl":"https://cdn.3dassets.dev/assets/27120/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27120/v1/poster.webp","blurhash":"U89@O}xu8_kB_N?bRjIU00x^.8Mx004nx]%N","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7756,"triangles":24,"vertices":72,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,0.00001571882051948359,-0.15001907630359668],"max":[0.5,0.12501762622736173,0.1499832148197882]},"sizeMeters":[1,0.125,0.3],"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:59:10.232Z","updatedAt":"2026-10-06T04:02:22.767Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27120/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateWheelStopFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27120/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27120/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27120/v1/model.glb\" alt=\"Gate Wheel Stop (Fortified Compound Expansion)\" 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/27120/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/27120/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27122","slug":"fortified-compound-expansion-gate-guide-rail-eb9ae844","title":"Gate Guide Rail (Fortified Compound Expansion)","summary":"Gate Guide Rail: 2 × 0.12 × 0.2 m nominal survival beam assembly.","description":"Original weathered survival beam. Nominal envelope 2m wide, 0.12m high, 0.2m deep; applied framing, handles or rails can extend beyond this. Construction: form beam; shape track. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-guide-rail-eb9ae844","cdnUrl":"https://cdn.3dassets.dev/assets/27122/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-guide-rail-eb9ae844","thumbnailUrl":"https://cdn.3dassets.dev/assets/27122/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27122/v1/poster.webp","blurhash":"U58XRj%MMwtR-=_Nt7Rj00xu?vV@9F00t7-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2728,"triangles":36,"vertices":108,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00006164977332730193,-0.0999786370433668],"max":[1,0.11993835499504428,0.0999786370433668]},"sizeMeters":[2,0.12,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:59:10.634Z","updatedAt":"2026-10-05T07:19:03.791Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27122/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateGuideRailFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27122/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27122/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27122/v1/model.glb\" alt=\"Gate Guide Rail (Fortified Compound Expansion)\" 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/27122/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/27122/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27123","slug":"fortified-compound-expansion-gate-roller-carriage-5a80aa41","title":"Gate Roller Carriage (Fortified Compound Expansion)","summary":"Gate Roller Carriage: 0.5 × 0.25 × 0.25 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.5m wide, 0.25m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape roller. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-roller-carriage-5a80aa41","cdnUrl":"https://cdn.3dassets.dev/assets/27123/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-roller-carriage-5a80aa41","thumbnailUrl":"https://cdn.3dassets.dev/assets/27123/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27123/v1/poster.webp","blurhash":"U6AAdj-=00%g~q-=R+D*00oz%MD%00IUs9n$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26576,"triangles":388,"vertices":1164,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.26249998807907104,0.000019230066076431074,-0.124981301737162],"max":[0.26249998807907104,0.254980765165552,0.124981301737162]},"sizeMeters":[0.525,0.255,0.25],"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:59:10.665Z","updatedAt":"2026-10-05T13:48:45.354Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27123/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateRollerCarriageFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27123/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27123/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27123/v1/model.glb\" alt=\"Gate Roller Carriage (Fortified Compound Expansion)\" 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/27123/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/27123/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27121","slug":"fortified-compound-expansion-gate-latch-post-b9964d30","title":"Gate Latch Post (Fortified Compound Expansion)","summary":"Gate Latch Post: 0.25 × 1.2 × 0.25 m nominal survival post assembly.","description":"Original weathered survival post. Nominal envelope 0.25m wide, 1.2m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form post; shape shore. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-latch-post-b9964d30","cdnUrl":"https://cdn.3dassets.dev/assets/27121/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-latch-post-b9964d30","thumbnailUrl":"https://cdn.3dassets.dev/assets/27121/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27121/v1/poster.webp","blurhash":"U27w~Q-;0000~WjZ4nX8_4of8_Vt~qoL0KW;","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":9324,"triangles":172,"vertices":516,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.1624950383017795,0,-0.1624950383017795],"max":[0.1624950383017795,1.2699999809265137,0.1624950383017795]},"sizeMeters":[0.325,1.27,0.325],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:59:10.592Z","updatedAt":"2026-10-05T13:48:47.035Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27121/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateLatchPostFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27121/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27121/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27121/v1/model.glb\" alt=\"Gate Latch Post (Fortified Compound Expansion)\" 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/27121/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/27121/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27124","slug":"fortified-compound-expansion-gate-crossbar-rack-01dc29bb","title":"Gate Crossbar Rack (Fortified Compound Expansion)","summary":"Gate Crossbar Rack: 1.6 × 0.5 × 0.4 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1.6m wide, 0.5m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape pegs. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-crossbar-rack-01dc29bb","cdnUrl":"https://cdn.3dassets.dev/assets/27124/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-crossbar-rack-01dc29bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/27124/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27124/v1/poster.webp","blurhash":"U267[wyE0KkD$z-;b_IU00VE~WW=9{00Zg?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15360,"triangles":172,"vertices":516,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.800000011920929,-0.00004028592322471991,-0.2125007633352773],"max":[0.800000011920929,0.08004028413508538,0.21253241378137866]},"sizeMeters":[1.6,0.08,0.425],"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:59:13.580Z","updatedAt":"2026-10-06T18:36:23.235Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27124/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateCrossbarRackFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27124/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27124/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27124/v1/model.glb\" alt=\"Gate Crossbar Rack (Fortified Compound Expansion)\" 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/27124/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/27124/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27125","slug":"fortified-compound-expansion-entry-turnstile-721de4f4","title":"Entry Turnstile (Fortified Compound Expansion)","summary":"Entry Turnstile: 1 × 1.2 × 1 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 1m wide, 1.2m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape turnstile. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-entry-turnstile-721de4f4","cdnUrl":"https://cdn.3dassets.dev/assets/27125/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-entry-turnstile-721de4f4","thumbnailUrl":"https://cdn.3dassets.dev/assets/27125/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27125/v1/poster.webp","blurhash":"U57USM_N0000?cxuE0M_00D%%MxuIAMxV@of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10864,"triangles":204,"vertices":612,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3944578543535051,0,-0.4516068174691532],"max":[0.3944578543535051,1.2000000476837158,0.4516068174691532]},"sizeMeters":[0.789,1.2,0.903],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:59:13.992Z","updatedAt":"2026-10-05T13:48:54.674Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27125/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EntryTurnstileFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27125/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27125/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27125/v1/model.glb\" alt=\"Entry Turnstile (Fortified Compound Expansion)\" 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/27125/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/27125/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27126","slug":"fortified-compound-expansion-warning-bell-frame-d57ed756","title":"Warning Bell Frame (Fortified Compound Expansion)","summary":"Warning Bell Frame: 0.7 × 1.4 × 0.5 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.7m wide, 1.4m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape bell. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-warning-bell-frame-d57ed756","cdnUrl":"https://cdn.3dassets.dev/assets/27126/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-warning-bell-frame-d57ed756","thumbnailUrl":"https://cdn.3dassets.dev/assets/27126/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27126/v1/poster.webp","blurhash":"U26%yf=y00D%~Bs:57NG00NG.Sx]McWB%htR","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26232,"triangles":372,"vertices":1116,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.35005340143020897,0,-0.2499679513081213],"max":[0.35005340143020897,1.399999976158142,0.2499679513081213]},"sizeMeters":[0.7,1.4,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:59:13.975Z","updatedAt":"2026-10-25T14:12:41.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27126/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WarningBellFrameFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27126/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27126/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27126/v1/model.glb\" alt=\"Warning Bell Frame (Fortified Compound Expansion)\" 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/27126/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/27126/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27127","slug":"fortified-compound-expansion-signal-flag-mast-06479594","title":"Signal Flag Mast (Fortified Compound Expansion)","summary":"Signal Flag Mast: 0.25 × 3 × 0.25 m nominal survival post assembly.","description":"Original weathered survival post. Nominal envelope 0.25m wide, 3m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form post; shape flag. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-signal-flag-mast-06479594","cdnUrl":"https://cdn.3dassets.dev/assets/27127/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-signal-flag-mast-06479594","thumbnailUrl":"https://cdn.3dassets.dev/assets/27127/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27127/v1/poster.webp","blurhash":"U66j:sWE02ou~9Rk58%1tloeR5Rk9~xX=YEO","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12652,"triangles":96,"vertices":288,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.45628415683262397,0,-0.16248054952461674],"max":[0.45628415683262397,3.0250000953674316,0.16248054952461674]},"sizeMeters":[0.913,3.025,0.325],"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:59:14.099Z","updatedAt":"2026-10-09T12:02:18.287Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27127/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SignalFlagMastFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27127/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27127/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27127/v1/model.glb\" alt=\"Signal Flag Mast (Fortified Compound Expansion)\" 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/27127/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/27127/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27128","slug":"fortified-compound-expansion-watch-scope-mount-0203a918","title":"Watch Scope Mount (Fortified Compound Expansion)","summary":"Watch Scope Mount: 0.5 × 1.3 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.5m wide, 1.3m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape scope. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-watch-scope-mount-0203a918","cdnUrl":"https://cdn.3dassets.dev/assets/27128/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-watch-scope-mount-0203a918","thumbnailUrl":"https://cdn.3dassets.dev/assets/27128/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27128/v1/poster.webp","blurhash":"U38g?J-;004U00V[-=tQ?vWUD%s;_4IB9F?v","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20816,"triangles":396,"vertices":1188,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2500232837967583,0,-0.30997361814360536],"max":[0.2500232837967583,1.0752500295639038,0.30997361814360536]},"sizeMeters":[0.5,1.075,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:59:16.905Z","updatedAt":"2026-10-25T10:49:30.819Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27128/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WatchScopeMountFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27128/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27128/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27128/v1/model.glb\" alt=\"Watch Scope Mount (Fortified Compound Expansion)\" 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/27128/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/27128/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27129","slug":"fortified-compound-expansion-searchlight-plinth-a37970b3","title":"Searchlight Plinth (Fortified Compound Expansion)","summary":"Searchlight Plinth: 0.6 × 1.4 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.6m wide, 1.4m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape lamp. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-searchlight-plinth-a37970b3","cdnUrl":"https://cdn.3dassets.dev/assets/27129/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-searchlight-plinth-a37970b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/27129/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27129/v1/poster.webp","blurhash":"U49j+O_30000%K%2D*9a?woMDiS0IWIUxs.7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":9676,"triangles":164,"vertices":492,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2999775784237231,6.705522803684971e-10,-0.2999775784237231],"max":[0.2999775784237231,1.3300000429153442,0.2999775784237231]},"sizeMeters":[0.6,1.33,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:59:17.278Z","updatedAt":"2026-10-09T11:58:52.924Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27129/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SearchlightPlinthFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27129/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27129/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27129/v1/model.glb\" alt=\"Searchlight Plinth (Fortified Compound Expansion)\" 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/27129/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/27129/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27130","slug":"fortified-compound-expansion-visitor-locker-bank-68855fa7","title":"Visitor Locker Bank (Fortified Compound Expansion)","summary":"Visitor Locker Bank: 1.2 × 1.4 × 0.4 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.2m wide, 1.4m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape lockers; shelves 3. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-visitor-locker-bank-68855fa7","cdnUrl":"https://cdn.3dassets.dev/assets/27130/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-visitor-locker-bank-68855fa7","thumbnailUrl":"https://cdn.3dassets.dev/assets/27130/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27130/v1/poster.webp","blurhash":"U079|XY2010i~l^40j0~7o=a5YM*~R^O9e0i","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21684,"triangles":244,"vertices":732,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.6000213527383302,0,-0.23997864019426182],"max":[0.6000213527383302,1.399999976158142,0.23998277553957725]},"sizeMeters":[1.2,1.4,0.48],"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:59:17.477Z","updatedAt":"2026-10-06T04:02:24.661Z","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/27130/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 VisitorLockerBankFortifiedCompoundExpansion(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27130/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/27130/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27130/v1/model.glb\" alt=\"Visitor Locker Bank (Fortified Compound Expansion)\" 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/27130/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/27130/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27131","slug":"fortified-compound-expansion-weapon-check-rack-72ac7cbf","title":"Weapon Check Rack (Fortified Compound Expansion)","summary":"Weapon Check Rack: 1.4 × 1.5 × 0.5 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1.4m wide, 1.5m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape slots. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-weapon-check-rack-72ac7cbf","cdnUrl":"https://cdn.3dassets.dev/assets/27131/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-weapon-check-rack-72ac7cbf","thumbnailUrl":"https://cdn.3dassets.dev/assets/27131/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27131/v1/poster.webp","blurhash":"U17cmS}s05Vv;9;ktMF?J}Eg9yafj[,?W.63","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22020,"triangles":264,"vertices":792,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.7000106814783166,0,-0.249969481490524],"max":[0.7000106814783166,1.5,0.249969481490524]},"sizeMeters":[1.4,1.5,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:59:17.756Z","updatedAt":"2026-10-13T01:12:27.406Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27131/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeaponCheckRackFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27131/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27131/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27131/v1/model.glb\" alt=\"Weapon Check Rack (Fortified Compound Expansion)\" 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/27131/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/27131/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27132","slug":"fortified-compound-expansion-inspection-counter-e4119c3c","title":"Inspection Counter (Fortified Compound Expansion)","summary":"Inspection Counter: 1.6 × 1 × 0.7 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.6m wide, 1m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape counter. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-inspection-counter-e4119c3c","cdnUrl":"https://cdn.3dassets.dev/assets/27132/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-inspection-counter-e4119c3c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27132/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27132/v1/poster.webp","blurhash":"U47]z~xY9]$$}r=dI;NH5lxFsVNISdt3s.WV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11980,"triangles":96,"vertices":288,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.00003356291034323222,-0.36253548316946543],"max":[0.800000011920929,0.9999664370896568,0.36253548316946543]},"sizeMeters":[1.6,1,0.725],"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:59:20.352Z","updatedAt":"2026-10-05T13:51:10.664Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27132/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InspectionCounterFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27132/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27132/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27132/v1/model.glb\" alt=\"Inspection Counter (Fortified Compound Expansion)\" 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/27132/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/27132/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27134","slug":"fortified-compound-expansion-perimeter-drain-3a1fb42d","title":"Perimeter Drain (Fortified Compound Expansion)","summary":"Perimeter Drain: 2 × 0.2 × 0.3 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 2m wide, 0.2m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; shape trough. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-perimeter-drain-3a1fb42d","cdnUrl":"https://cdn.3dassets.dev/assets/27134/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-drain-3a1fb42d","thumbnailUrl":"https://cdn.3dassets.dev/assets/27134/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27134/v1/poster.webp","blurhash":"U48z_gtR4-t7.8~qbaIn00xv_3Ri9F00t8-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2728,"triangles":36,"vertices":108,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000021364446749314037,-0.1500289925840022],"max":[1,0.1999786385334829,0.1500289925840022]},"sizeMeters":[2,0.2,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:59:19.574Z","updatedAt":"2026-10-05T13:51:10.282Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27134/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PerimeterDrainFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27134/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27134/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27134/v1/model.glb\" alt=\"Perimeter Drain (Fortified Compound Expansion)\" 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/27134/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/27134/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27133","slug":"fortified-compound-expansion-wall-corner-buttress-aada099b","title":"Wall Corner Buttress (Fortified Compound Expansion)","summary":"Wall Corner Buttress: 0.6 × 1.2 × 0.6 m nominal survival bracket assembly.","description":"Original weathered survival bracket. Nominal envelope 0.6m wide, 1.2m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form bracket; shape knee. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-wall-corner-buttress-aada099b","cdnUrl":"https://cdn.3dassets.dev/assets/27133/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-wall-corner-buttress-aada099b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27133/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27133/v1/poster.webp","blurhash":"UC8g:C-;4TD%_4a#9Fj=xvRjM_t7xvofRiRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":4548,"triangles":72,"vertices":216,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.332639559102487,0,-0.3122776087709905],"max":[0.332639559102487,1.2000000476837158,0.3122776087709905]},"sizeMeters":[0.665,1.2,0.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:59:19.532Z","updatedAt":"2026-10-06T04:04:08.686Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27133/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallCornerButtressFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27133/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27133/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27133/v1/model.glb\" alt=\"Wall Corner Buttress (Fortified Compound Expansion)\" 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/27133/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/27133/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27135","slug":"fortified-compound-expansion-palisade-repair-brace-39eda00b","title":"Palisade Repair Brace (Fortified Compound Expansion)","summary":"Palisade Repair Brace: 2 × 1 × 0.16 m nominal survival truss assembly.","description":"Original weathered survival truss. Nominal envelope 2m wide, 1m high, 0.16m deep; applied framing, handles or rails can extend beyond this. Construction: form truss; shape king. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-palisade-repair-brace-39eda00b","cdnUrl":"https://cdn.3dassets.dev/assets/27135/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-palisade-repair-brace-39eda00b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27135/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27135/v1/poster.webp","blurhash":"U16?[Do|0j=y0z}YN[E30M0z,qSztRSeXQs:","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11028,"triangles":72,"vertices":216,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0565685033798218,-0.00006426167625617207,-0.09021734393421162],"max":[1.0565685033798218,1.1366328079714223,0.09025770699460448]},"sizeMeters":[2.113,1.137,0.18],"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:59:19.747Z","updatedAt":"2026-10-05T13:51:15.069Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27135/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PalisadeRepairBraceFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27135/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27135/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27135/v1/model.glb\" alt=\"Palisade Repair Brace (Fortified Compound Expansion)\" 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/27135/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/27135/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27136","slug":"fortified-compound-expansion-gate-key-cabinet-de9883e1","title":"Gate Key Cabinet (Fortified Compound Expansion)","summary":"Gate Key Cabinet: 0.5 × 0.7 × 0.2 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.5m wide, 0.7m high, 0.2m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape cubby; shelves 3. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-gate-key-cabinet-de9883e1","cdnUrl":"https://cdn.3dassets.dev/assets/27136/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-key-cabinet-de9883e1","thumbnailUrl":"https://cdn.3dassets.dev/assets/27136/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27136/v1/poster.webp","blurhash":"U06@7q}u000{~l,[9dF;BzEzD=-T.5=yIb0|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15036,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.25001067722066006,0,-0.11048931574599184],"max":[0.25001067722066006,0.699999988079071,0.11048968680000365]},"sizeMeters":[0.5,0.7,0.221],"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:59:21.225Z","updatedAt":"2026-10-25T08:00:20.667Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27136/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GateKeyCabinetFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27136/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27136/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27136/v1/model.glb\" alt=\"Gate Key Cabinet (Fortified Compound Expansion)\" 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/27136/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/27136/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27137","slug":"fortified-compound-expansion-checkpoint-notice-frame-727150a2","title":"Checkpoint Notice Frame (Fortified Compound Expansion)","summary":"Checkpoint Notice Frame: 1 × 0.8 × 0.1 m nominal survival panel assembly.","description":"Original weathered survival panel. Nominal envelope 1m wide, 0.8m high, 0.1m deep; applied framing, handles or rails can extend beyond this. Construction: form panel; shape notice. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-checkpoint-notice-frame-727150a2","cdnUrl":"https://cdn.3dassets.dev/assets/27137/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-checkpoint-notice-frame-727150a2","thumbnailUrl":"https://cdn.3dassets.dev/assets/27137/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27137/v1/poster.webp","blurhash":"U68|bH$*00nOn5$*xuIo00Vt_Nxu?HrrD%tl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18248,"triangles":192,"vertices":576,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.00002135699616873099,-0.06398932044361486],"max":[0.5012000203132629,0.8012213910237933,0.06402477383845287]},"sizeMeters":[1.001,0.801,0.128],"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:59:21.362Z","updatedAt":"2026-10-06T04:04:12.759Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27137/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CheckpointNoticeFrameFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27137/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27137/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27137/v1/model.glb\" alt=\"Checkpoint Notice Frame (Fortified Compound Expansion)\" 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/27137/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/27137/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27138","slug":"fortified-compound-expansion-assembled-s-03a4a3fe-starter-scene","title":"Assembled Survivor Site (Fortified Compound Expansion)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-assembled-s-03a4a3fe-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/27138/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-assembled-s-03a4a3fe-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/27138/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27138/v1/poster.webp","blurhash":"U17J,{9Z00u3].9v0}^Q04-obqrE%#nN+H%f","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":182964,"triangles":6804,"vertices":6940,"meshes":14,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.172476667644438,0,-2.172476667644438],"max":[2.000042765651394,3.5704107022781697,2.923783079353342]},"sizeMeters":[4.173,3.57,5.096],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":15,"publishedAt":"2026-09-07T20:59:21.502Z","updatedAt":"2026-10-25T09:21:33.801Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27138/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssembledSurvivorSiteFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27138/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27138/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27138/v1/model.glb\" alt=\"Assembled Survivor Site (Fortified Compound Expansion)\" 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/27138/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/27138/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27139","slug":"fortified-compound-expansion-construction-and-service--338967ca","title":"Construction and Service Corner (Fortified Compound Expansion)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/fortified-compound-expansion-construction-and-service--338967ca","cdnUrl":"https://cdn.3dassets.dev/assets/27139/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-construction-and-service--338967ca","thumbnailUrl":"https://cdn.3dassets.dev/assets/27139/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27139/v1/poster.webp","blurhash":"U27md2Di00.Sw|JC9u$302%LxuVY?vVXRO-=","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"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":136976,"triangles":4328,"vertices":4821,"meshes":14,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.172476667644438,0,-2.172476667644438],"max":[2.000042765651394,3.5704107022781697,2.923783079353342]},"sizeMeters":[4.173,3.57,5.096],"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:59:22.360Z","updatedAt":"2026-10-05T13:51:15.842Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27139/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConstructionAndServiceCornerFortifiedCompoundExpansion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27139/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27139/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27139/v1/model.glb\" alt=\"Construction and Service Corner (Fortified Compound Expansion)\" 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/27139/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/27139/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"24174","slug":"modular-survival-base-builder-roof-gable-span-c2b9490e","title":"Roof Gable Span (Modular Survival Base Builder)","summary":"Roof Gable Span: 2 × 1 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape gable. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/modular-survival-base-builder-roof-gable-span-c2b9490e","cdnUrl":"https://cdn.3dassets.dev/assets/24174/v1/model.glb","downloadUrl":"https://3dassets.dev/download/modular-survival-base-builder-roof-gable-span-c2b9490e","thumbnailUrl":"https://cdn.3dassets.dev/assets/24174/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/24174/v1/poster.webp","blurhash":"U37wE9N?00=xuPMyH?x]0MMx-VtmQRw[?vxu","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29156,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0353553295135498,-0.00006119661831482937,-1.0011999607086182],"max":[1.0353553295135498,1.1704107022781698,0.9999661279065923]},"sizeMeters":[2.071,1.17,2.001],"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:21:30.605Z","updatedAt":"2026-10-05T11:05:39.274Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/24174/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofGableSpanModularSurvivalBaseBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/24174/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/24174/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/24174/v1/model.glb\" alt=\"Roof Gable Span (Modular Survival Base 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/24174/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/24174/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"24147","slug":"modular-survival-base-builder-floor-stairwell-frame-c66472dc","title":"Floor Stairwell Frame (Modular Survival Base Builder)","summary":"Floor Stairwell Frame: 2 × 0.2 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck stairwell. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/modular-survival-base-builder-floor-stairwell-frame-c66472dc","cdnUrl":"https://cdn.3dassets.dev/assets/24147/v1/model.glb","downloadUrl":"https://3dassets.dev/download/modular-survival-base-builder-floor-stairwell-frame-c66472dc","thumbnailUrl":"https://cdn.3dassets.dev/assets/24147/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/24147/v1/poster.webp","blurhash":"U06QP3-~05zb^}sl5URl01ER~8F@DRS~[Xrv","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"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":73868,"triangles":1128,"vertices":3384,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.000016324124314195942,-1],"max":[1,0.2099836693191749,1]},"sizeMeters":[2,0.21,2],"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:21:23.871Z","updatedAt":"2026-10-05T11:05:14.009Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/24147/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorStairwellFrameModularSurvivalBaseBuilder(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/24147/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/24147/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/24147/v1/model.glb\" alt=\"Floor Stairwell Frame (Modular Survival Base 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/24147/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/24147/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}