{"data":{"id":61,"slug":"fortified-compound-expansion","title":"Fortified Compound Expansion","summary":"Fortified Compound Expansion: 58 distinct designs plus explicitly tracked variants and two composed scenes.","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/9806/v1/poster.webp","assetCount":60,"aiGenerated":true,"aiGeneratedAssetCount":60,"aiModels":["GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":3381716,"totalTriangles":59772,"starterScene":{"id":"9806","slug":"fortified-compound-expansion-assembled-s-3d828fd5-starter-scene","title":"Assembled Survivor Site (Fortified Compound Expansion)","summary":"Composed example for Fortified Compound Expansion.","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-3d828fd5-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/9806/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-assembled-s-3d828fd5-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/9806/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9806/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":182948,"triangles":6804,"vertices":6940,"meshes":14,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.172476667644438,0,-2.172476667644438],"max":[2.000042765651394,3.5704107039189483,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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:12.189Z","updatedAt":"2026-09-06T14:32:12.975Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9806/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/9806/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9806/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9806/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/9806/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/9806/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"9628","slug":"fortified-compound-expansion-palisade-spiked-8da5a933","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-8da5a933","cdnUrl":"https://cdn.3dassets.dev/assets/9628/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-palisade-spiked-8da5a933","thumbnailUrl":"https://cdn.3dassets.dev/assets/9628/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9628/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":50872,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:33.805Z","updatedAt":"2026-09-06T14:31:34.390Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9628/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/9628/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9628/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9628/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/9628/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/9628/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9633","slug":"fortified-compound-expansion-palisade-offset-slots-02208684","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-02208684","cdnUrl":"https://cdn.3dassets.dev/assets/9633/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-palisade-offset-slots-02208684","thumbnailUrl":"https://cdn.3dassets.dev/assets/9633/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9633/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":37696,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:34.421Z","updatedAt":"2026-09-06T14:31:34.844Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9633/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/9633/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9633/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9633/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/9633/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/9633/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9629","slug":"fortified-compound-expansion-earth-filled-wall-cb77759c","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-cb77759c","cdnUrl":"https://cdn.3dassets.dev/assets/9629/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-earth-filled-wall-cb77759c","thumbnailUrl":"https://cdn.3dassets.dev/assets/9629/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9629/v1/poster.webp","blurhash":"U5C60@~B0001^j-UIW9u0MIp?G%LxtxaRkEM","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":46544,"triangles":804,"vertices":2412,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.0120548313507411,0,-0.22500687560560167],"max":[1.0120548313507411,2.4000000953674316,0.22500687560560167]},"sizeMeters":[2.024,2.4,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:33.732Z","updatedAt":"2026-09-06T14:31:34.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9629/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/9629/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9629/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9629/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/9629/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/9629/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9630","slug":"fortified-compound-expansion-gabion-wire-wall-06867f7a","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-06867f7a","cdnUrl":"https://cdn.3dassets.dev/assets/9630/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gabion-wire-wall-06867f7a","thumbnailUrl":"https://cdn.3dassets.dev/assets/9630/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9630/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":345164,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:34.141Z","updatedAt":"2026-09-06T14:31:34.602Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9630/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/9630/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9630/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9630/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/9630/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/9630/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9640","slug":"fortified-compound-expansion-sheet-armour-perimeter-ba3cfaf5","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-ba3cfaf5","cdnUrl":"https://cdn.3dassets.dev/assets/9640/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-sheet-armour-perimeter-ba3cfaf5","thumbnailUrl":"https://cdn.3dassets.dev/assets/9640/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9640/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":6284,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:36.124Z","updatedAt":"2026-09-06T14:31:36.892Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9640/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/9640/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9640/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9640/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/9640/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/9640/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9641","slug":"fortified-compound-expansion-braced-timber-perimeter-e199527a","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-e199527a","cdnUrl":"https://cdn.3dassets.dev/assets/9641/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-braced-timber-perimeter-e199527a","thumbnailUrl":"https://cdn.3dassets.dev/assets/9641/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9641/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":27864,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:36.143Z","updatedAt":"2026-09-06T14:31:36.944Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9641/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/9641/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9641/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9641/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/9641/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/9641/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9642","slug":"fortified-compound-expansion-observation-slit-wall-288e41f6","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-288e41f6","cdnUrl":"https://cdn.3dassets.dev/assets/9642/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-observation-slit-wall-288e41f6","thumbnailUrl":"https://cdn.3dassets.dev/assets/9642/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9642/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":32176,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:36.400Z","updatedAt":"2026-09-06T14:31:37.197Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9642/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/9642/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9642/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9642/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/9642/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/9642/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9643","slug":"fortified-compound-expansion-overhang-climb-guard-36aa4c5d","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-36aa4c5d","cdnUrl":"https://cdn.3dassets.dev/assets/9643/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-overhang-climb-guard-36aa4c5d","thumbnailUrl":"https://cdn.3dassets.dev/assets/9643/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9643/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":55968,"triangles":936,"vertices":2808,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0000428833254096,0,-0.23906042671076827],"max":[1.0000428833254096,2.7239999771118164,0.23897099966885285]},"sizeMeters":[2,2.724,0.478],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:36.640Z","updatedAt":"2026-09-06T14:31:37.374Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9643/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/9643/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9643/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9643/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/9643/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/9643/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9652","slug":"fortified-compound-expansion-vehicle-denial-rail-ccb4cf79","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-ccb4cf79","cdnUrl":"https://cdn.3dassets.dev/assets/9652/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-vehicle-denial-rail-ccb4cf79","thumbnailUrl":"https://cdn.3dassets.dev/assets/9652/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9652/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":27848,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:38.973Z","updatedAt":"2026-09-06T14:31:39.535Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9652/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/9652/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9652/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9652/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/9652/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/9652/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9653","slug":"fortified-compound-expansion-low-observation-parapet-f4b7a82b","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-f4b7a82b","cdnUrl":"https://cdn.3dassets.dev/assets/9653/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-low-observation-parapet-f4b7a82b","thumbnailUrl":"https://cdn.3dassets.dev/assets/9653/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9653/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":12672,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:39.087Z","updatedAt":"2026-09-06T14:31:39.615Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9653/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/9653/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9653/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9653/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/9653/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/9653/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9654","slug":"fortified-compound-expansion-gate-single-wicket-cd8a2691","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-cd8a2691","cdnUrl":"https://cdn.3dassets.dev/assets/9654/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-single-wicket-cd8a2691","thumbnailUrl":"https://cdn.3dassets.dev/assets/9654/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9654/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":62388,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:39.119Z","updatedAt":"2026-09-06T14:31:39.921Z","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/9654/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/9654/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/9654/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9654/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/9654/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/9654/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9655","slug":"fortified-compound-expansion-gate-vehicle-leaf-f7f6f0c6","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-f7f6f0c6","cdnUrl":"https://cdn.3dassets.dev/assets/9655/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-vehicle-leaf-f7f6f0c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/9655/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9655/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":108404,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:39.518Z","updatedAt":"2026-09-06T14:31:39.957Z","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/9655/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/9655/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/9655/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9655/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/9655/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/9655/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9664","slug":"fortified-compound-expansion-gate-observation-leaf-cee88582","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-cee88582","cdnUrl":"https://cdn.3dassets.dev/assets/9664/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-observation-leaf-cee88582","thumbnailUrl":"https://cdn.3dassets.dev/assets/9664/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9664/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":41804,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:41.369Z","updatedAt":"2026-09-06T14:31:42.083Z","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/9664/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/9664/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/9664/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9664/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/9664/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/9664/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9665","slug":"fortified-compound-expansion-gate-rolling-grille-053994e8","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-053994e8","cdnUrl":"https://cdn.3dassets.dev/assets/9665/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-rolling-grille-053994e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/9665/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9665/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":32184,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:41.553Z","updatedAt":"2026-09-06T14:31:42.525Z","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/9665/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/9665/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/9665/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9665/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/9665/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/9665/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9667","slug":"fortified-compound-expansion-gate-armoured-leaf-83a8c504","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-83a8c504","cdnUrl":"https://cdn.3dassets.dev/assets/9667/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-armoured-leaf-83a8c504","thumbnailUrl":"https://cdn.3dassets.dev/assets/9667/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9667/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":64124,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:41.768Z","updatedAt":"2026-09-06T14:31:42.643Z","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/9667/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/9667/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/9667/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9667/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/9667/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/9667/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9668","slug":"fortified-compound-expansion-gate-stable-checkpoint-53daa165","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-53daa165","cdnUrl":"https://cdn.3dassets.dev/assets/9668/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-stable-checkpoint-53daa165","thumbnailUrl":"https://cdn.3dassets.dev/assets/9668/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9668/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":83056,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:42.017Z","updatedAt":"2026-09-06T14:31:42.749Z","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/9668/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/9668/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/9668/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9668/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/9668/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/9668/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9676","slug":"fortified-compound-expansion-shutter-observation-47adf061","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-47adf061","cdnUrl":"https://cdn.3dassets.dev/assets/9676/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-shutter-observation-47adf061","thumbnailUrl":"https://cdn.3dassets.dev/assets/9676/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9676/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":22360,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:44.437Z","updatedAt":"2026-09-06T14:31:44.743Z","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/9676/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/9676/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/9676/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9676/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/9676/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/9676/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9684","slug":"fortified-compound-expansion-shutter-firing-aperture-0c6c67da","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-0c6c67da","cdnUrl":"https://cdn.3dassets.dev/assets/9684/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-shutter-firing-aperture-0c6c67da","thumbnailUrl":"https://cdn.3dassets.dev/assets/9684/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9684/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":36060,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:45.345Z","updatedAt":"2026-09-06T14:31:46.025Z","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/9684/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/9684/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/9684/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9684/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/9684/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/9684/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9677","slug":"fortified-compound-expansion-shutter-service-counter-a5a95277","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-a5a95277","cdnUrl":"https://cdn.3dassets.dev/assets/9677/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-shutter-service-counter-a5a95277","thumbnailUrl":"https://cdn.3dassets.dev/assets/9677/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9677/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":68232,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:45.145Z","updatedAt":"2026-09-06T14:31:45.419Z","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/9677/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/9677/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/9677/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9677/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/9677/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/9677/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9682","slug":"fortified-compound-expansion-hatch-watch-floor-97f10be6","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-97f10be6","cdnUrl":"https://cdn.3dassets.dev/assets/9682/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-hatch-watch-floor-97f10be6","thumbnailUrl":"https://cdn.3dassets.dev/assets/9682/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9682/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":7708,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:45.115Z","updatedAt":"2026-09-06T14:31:45.998Z","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/9682/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/9682/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/9682/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9682/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/9682/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/9682/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9687","slug":"fortified-compound-expansion-watch-platform-straight-59cb3033","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-59cb3033","cdnUrl":"https://cdn.3dassets.dev/assets/9687/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-watch-platform-straight-59cb3033","thumbnailUrl":"https://cdn.3dassets.dev/assets/9687/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9687/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":153892,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:46.406Z","updatedAt":"2026-09-06T14:31:47.314Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9687/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/9687/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9687/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9687/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/9687/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/9687/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9688","slug":"fortified-compound-expansion-watch-platform-corner-f42c6382","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-f42c6382","cdnUrl":"https://cdn.3dassets.dev/assets/9688/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-watch-platform-corner-f42c6382","thumbnailUrl":"https://cdn.3dassets.dev/assets/9688/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9688/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":126392,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:47.294Z","updatedAt":"2026-09-06T14:31:48.024Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9688/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/9688/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9688/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9688/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/9688/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/9688/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9696","slug":"fortified-compound-expansion-gatehouse-floor-952219e5","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-952219e5","cdnUrl":"https://cdn.3dassets.dev/assets/9696/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-floor-952219e5","thumbnailUrl":"https://cdn.3dassets.dev/assets/9696/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9696/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":189068,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:47.768Z","updatedAt":"2026-09-06T14:31:48.619Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9696/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/9696/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9696/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9696/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/9696/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/9696/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9694","slug":"fortified-compound-expansion-gatehouse-side-wall-c4b2daa2","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-c4b2daa2","cdnUrl":"https://cdn.3dassets.dev/assets/9694/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-side-wall-c4b2daa2","thumbnailUrl":"https://cdn.3dassets.dev/assets/9694/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9694/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":137608,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:47.745Z","updatedAt":"2026-09-06T14:31:48.587Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9694/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/9694/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9694/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9694/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/9694/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/9694/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9699","slug":"fortified-compound-expansion-gatehouse-front-opening-fd961eee","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-fd961eee","cdnUrl":"https://cdn.3dassets.dev/assets/9699/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-front-opening-fd961eee","thumbnailUrl":"https://cdn.3dassets.dev/assets/9699/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9699/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":149800,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:48.852Z","updatedAt":"2026-09-06T14:31:49.854Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9699/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/9699/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9699/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9699/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/9699/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/9699/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9701","slug":"fortified-compound-expansion-gatehouse-rear-door-41df9562","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-41df9562","cdnUrl":"https://cdn.3dassets.dev/assets/9701/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-rear-door-41df9562","thumbnailUrl":"https://cdn.3dassets.dev/assets/9701/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9701/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":104464,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:49.835Z","updatedAt":"2026-09-06T14:31:50.630Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9701/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/9701/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9701/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9701/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/9701/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/9701/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9706","slug":"fortified-compound-expansion-gatehouse-overlook-wall-61e934fd","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-61e934fd","cdnUrl":"https://cdn.3dassets.dev/assets/9706/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-overlook-wall-61e934fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/9706/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9706/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":137632,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:50.250Z","updatedAt":"2026-09-06T14:31:51.174Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9706/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/9706/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9706/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9706/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/9706/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/9706/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9707","slug":"fortified-compound-expansion-gatehouse-roof-walk-cf209ae0","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-cf209ae0","cdnUrl":"https://cdn.3dassets.dev/assets/9707/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gatehouse-roof-walk-cf209ae0","thumbnailUrl":"https://cdn.3dassets.dev/assets/9707/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9707/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":191312,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:50.461Z","updatedAt":"2026-09-06T14:31:51.216Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9707/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/9707/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9707/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9707/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/9707/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/9707/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9711","slug":"fortified-compound-expansion-checkpoint-roof-999ddaa4","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-999ddaa4","cdnUrl":"https://cdn.3dassets.dev/assets/9711/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-checkpoint-roof-999ddaa4","thumbnailUrl":"https://cdn.3dassets.dev/assets/9711/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9711/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":24356,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:51.606Z","updatedAt":"2026-09-06T14:31:52.340Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9711/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/9711/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9711/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9711/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/9711/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/9711/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9714","slug":"fortified-compound-expansion-inspection-step-7bb7e0a0","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-7bb7e0a0","cdnUrl":"https://cdn.3dassets.dev/assets/9714/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-inspection-step-7bb7e0a0","thumbnailUrl":"https://cdn.3dassets.dev/assets/9714/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9714/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":14008,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:52.987Z","updatedAt":"2026-09-06T14:31:53.163Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9714/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/9714/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9714/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9714/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/9714/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/9714/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9721","slug":"fortified-compound-expansion-inspection-drawbridge-35092382","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-35092382","cdnUrl":"https://cdn.3dassets.dev/assets/9721/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-inspection-drawbridge-35092382","thumbnailUrl":"https://cdn.3dassets.dev/assets/9721/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9721/v1/poster.webp","blurhash":"U69Z.h-:5QM{.mo#sAIn00S1VXMxHXs,D%nl","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":18756,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:53.418Z","updatedAt":"2026-09-06T14:31:54.281Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9721/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/9721/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9721/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9721/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/9721/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/9721/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9718","slug":"fortified-compound-expansion-perimeter-catwalk-a7ebadef","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-a7ebadef","cdnUrl":"https://cdn.3dassets.dev/assets/9718/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-catwalk-a7ebadef","thumbnailUrl":"https://cdn.3dassets.dev/assets/9718/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9718/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":38588,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:53.013Z","updatedAt":"2026-09-06T14:31:53.952Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9718/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/9718/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9718/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9718/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/9718/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/9718/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9722","slug":"fortified-compound-expansion-perimeter-turn-platform-f1b5f614","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-f1b5f614","cdnUrl":"https://cdn.3dassets.dev/assets/9722/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-turn-platform-f1b5f614","thumbnailUrl":"https://cdn.3dassets.dev/assets/9722/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9722/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":59568,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:54.220Z","updatedAt":"2026-09-06T14:31:54.970Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9722/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/9722/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9722/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9722/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/9722/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/9722/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9726","slug":"fortified-compound-expansion-perimeter-ladder-df971cde","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-df971cde","cdnUrl":"https://cdn.3dassets.dev/assets/9726/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-ladder-df971cde","thumbnailUrl":"https://cdn.3dassets.dev/assets/9726/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9726/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":16436,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:54.825Z","updatedAt":"2026-09-06T14:31:55.777Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9726/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/9726/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9726/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9726/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/9726/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/9726/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9730","slug":"fortified-compound-expansion-perimeter-caged-ladder-2ffd49b5","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-2ffd49b5","cdnUrl":"https://cdn.3dassets.dev/assets/9730/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-caged-ladder-2ffd49b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/9730/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9730/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":58644,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:55.542Z","updatedAt":"2026-09-06T14:31:56.514Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9730/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/9730/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9730/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9730/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/9730/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/9730/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9732","slug":"fortified-compound-expansion-perimeter-stair-9f65f535","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-9f65f535","cdnUrl":"https://cdn.3dassets.dev/assets/9732/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-stair-9f65f535","thumbnailUrl":"https://cdn.3dassets.dev/assets/9732/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9732/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":20472,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:55.885Z","updatedAt":"2026-09-06T14:31:56.834Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9732/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/9732/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9732/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9732/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/9732/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/9732/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9734","slug":"fortified-compound-expansion-perimeter-ramp-df6735b7","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-df6735b7","cdnUrl":"https://cdn.3dassets.dev/assets/9734/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-ramp-df6735b7","thumbnailUrl":"https://cdn.3dassets.dev/assets/9734/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9734/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":12956,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:56.689Z","updatedAt":"2026-09-06T14:31:57.598Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9734/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/9734/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9734/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9734/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/9734/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/9734/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9738","slug":"fortified-compound-expansion-courtyard-sentry-shelter-17455beb","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-17455beb","cdnUrl":"https://cdn.3dassets.dev/assets/9738/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-courtyard-sentry-shelter-17455beb","thumbnailUrl":"https://cdn.3dassets.dev/assets/9738/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9738/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":130836,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:57.600Z","updatedAt":"2026-09-06T14:31:58.486Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9738/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/9738/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9738/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9738/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/9738/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/9738/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9743","slug":"fortified-compound-expansion-barrier-counterweight-8e35fd76","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-8e35fd76","cdnUrl":"https://cdn.3dassets.dev/assets/9743/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-barrier-counterweight-8e35fd76","thumbnailUrl":"https://cdn.3dassets.dev/assets/9743/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9743/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":26584,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:58.258Z","updatedAt":"2026-09-06T14:31:59.147Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9743/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/9743/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9743/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9743/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/9743/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/9743/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9746","slug":"fortified-compound-expansion-gate-winch-pedestal-9c2db96b","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-9c2db96b","cdnUrl":"https://cdn.3dassets.dev/assets/9746/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-winch-pedestal-9c2db96b","thumbnailUrl":"https://cdn.3dassets.dev/assets/9746/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9746/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":31752,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:58.597Z","updatedAt":"2026-09-06T14:31:59.417Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9746/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/9746/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9746/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9746/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/9746/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/9746/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9747","slug":"fortified-compound-expansion-gate-wheel-stop-879001bf","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-879001bf","cdnUrl":"https://cdn.3dassets.dev/assets/9747/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-wheel-stop-879001bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/9747/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9747/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":7760,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:31:59.366Z","updatedAt":"2026-09-06T14:32:00.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9747/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/9747/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9747/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9747/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/9747/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/9747/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9751","slug":"fortified-compound-expansion-gate-guide-rail-6ce4399b","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-6ce4399b","cdnUrl":"https://cdn.3dassets.dev/assets/9751/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-guide-rail-6ce4399b","thumbnailUrl":"https://cdn.3dassets.dev/assets/9751/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9751/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":2732,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:00.119Z","updatedAt":"2026-09-06T14:32:01.115Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9751/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/9751/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9751/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9751/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/9751/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/9751/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9755","slug":"fortified-compound-expansion-gate-roller-carriage-555ca61c","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-555ca61c","cdnUrl":"https://cdn.3dassets.dev/assets/9755/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-roller-carriage-555ca61c","thumbnailUrl":"https://cdn.3dassets.dev/assets/9755/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9755/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":26580,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:00.906Z","updatedAt":"2026-09-06T14:32:01.727Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9755/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/9755/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9755/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9755/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/9755/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/9755/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9758","slug":"fortified-compound-expansion-gate-latch-post-226531b9","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-226531b9","cdnUrl":"https://cdn.3dassets.dev/assets/9758/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-latch-post-226531b9","thumbnailUrl":"https://cdn.3dassets.dev/assets/9758/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9758/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":9328,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:01.083Z","updatedAt":"2026-09-06T14:32:01.907Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9758/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/9758/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9758/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9758/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/9758/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/9758/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9760","slug":"fortified-compound-expansion-gate-crossbar-rack-5010b9bb","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-5010b9bb","cdnUrl":"https://cdn.3dassets.dev/assets/9760/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-crossbar-rack-5010b9bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/9760/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9760/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":15368,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:02.666Z","updatedAt":"2026-09-06T14:32:03.001Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9760/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/9760/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9760/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9760/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/9760/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/9760/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9762","slug":"fortified-compound-expansion-entry-turnstile-5d5df0ed","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-5d5df0ed","cdnUrl":"https://cdn.3dassets.dev/assets/9762/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-entry-turnstile-5d5df0ed","thumbnailUrl":"https://cdn.3dassets.dev/assets/9762/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9762/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":10868,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:02.570Z","updatedAt":"2026-09-06T14:32:02.635Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9762/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/9762/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9762/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9762/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/9762/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/9762/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9769","slug":"fortified-compound-expansion-warning-bell-frame-939527f3","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-939527f3","cdnUrl":"https://cdn.3dassets.dev/assets/9769/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-warning-bell-frame-939527f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/9769/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9769/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":26236,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:03.419Z","updatedAt":"2026-09-06T14:32:04.453Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9769/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/9769/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9769/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9769/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/9769/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/9769/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9768","slug":"fortified-compound-expansion-signal-flag-mast-2ae4e07e","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-2ae4e07e","cdnUrl":"https://cdn.3dassets.dev/assets/9768/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-signal-flag-mast-2ae4e07e","thumbnailUrl":"https://cdn.3dassets.dev/assets/9768/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9768/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":12660,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:03.446Z","updatedAt":"2026-09-06T14:32:04.443Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9768/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/9768/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9768/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9768/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/9768/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/9768/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9772","slug":"fortified-compound-expansion-watch-scope-mount-1c16d17c","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-1c16d17c","cdnUrl":"https://cdn.3dassets.dev/assets/9772/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-watch-scope-mount-1c16d17c","thumbnailUrl":"https://cdn.3dassets.dev/assets/9772/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9772/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":20820,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:04.145Z","updatedAt":"2026-09-06T14:32:05.158Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9772/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/9772/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9772/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9772/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/9772/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/9772/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9773","slug":"fortified-compound-expansion-searchlight-plinth-d19e16e0","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-d19e16e0","cdnUrl":"https://cdn.3dassets.dev/assets/9773/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-searchlight-plinth-d19e16e0","thumbnailUrl":"https://cdn.3dassets.dev/assets/9773/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9773/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":9680,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:04.816Z","updatedAt":"2026-09-06T14:32:05.678Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9773/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/9773/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9773/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9773/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/9773/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/9773/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9780","slug":"fortified-compound-expansion-visitor-locker-bank-d00d3150","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-d00d3150","cdnUrl":"https://cdn.3dassets.dev/assets/9780/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-visitor-locker-bank-d00d3150","thumbnailUrl":"https://cdn.3dassets.dev/assets/9780/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9780/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":21688,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:06.439Z","updatedAt":"2026-09-06T14:32:07.037Z","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/9780/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/9780/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/9780/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9780/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/9780/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/9780/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"9782","slug":"fortified-compound-expansion-weapon-check-rack-badf837e","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-badf837e","cdnUrl":"https://cdn.3dassets.dev/assets/9782/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-weapon-check-rack-badf837e","thumbnailUrl":"https://cdn.3dassets.dev/assets/9782/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9782/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":22024,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:06.234Z","updatedAt":"2026-09-06T14:32:07.132Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9782/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/9782/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9782/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9782/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/9782/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/9782/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9785","slug":"fortified-compound-expansion-inspection-counter-41186094","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-41186094","cdnUrl":"https://cdn.3dassets.dev/assets/9785/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-inspection-counter-41186094","thumbnailUrl":"https://cdn.3dassets.dev/assets/9785/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9785/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":11984,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:07.006Z","updatedAt":"2026-09-06T14:32:07.792Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9785/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/9785/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9785/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9785/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/9785/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/9785/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9786","slug":"fortified-compound-expansion-perimeter-drain-c4967ca0","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-c4967ca0","cdnUrl":"https://cdn.3dassets.dev/assets/9786/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-perimeter-drain-c4967ca0","thumbnailUrl":"https://cdn.3dassets.dev/assets/9786/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9786/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":2732,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:07.223Z","updatedAt":"2026-09-06T14:32:07.291Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9786/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/9786/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9786/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9786/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/9786/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/9786/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9794","slug":"fortified-compound-expansion-wall-corner-buttress-ab80f3ce","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-ab80f3ce","cdnUrl":"https://cdn.3dassets.dev/assets/9794/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-wall-corner-buttress-ab80f3ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/9794/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9794/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":4552,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:09.204Z","updatedAt":"2026-09-06T14:32:09.805Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9794/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/9794/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9794/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9794/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/9794/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/9794/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9793","slug":"fortified-compound-expansion-palisade-repair-brace-50e7c83c","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-50e7c83c","cdnUrl":"https://cdn.3dassets.dev/assets/9793/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-palisade-repair-brace-50e7c83c","thumbnailUrl":"https://cdn.3dassets.dev/assets/9793/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9793/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":11032,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:08.968Z","updatedAt":"2026-09-06T14:32:09.776Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9793/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/9793/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9793/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9793/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/9793/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/9793/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9795","slug":"fortified-compound-expansion-gate-key-cabinet-7cd71440","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-7cd71440","cdnUrl":"https://cdn.3dassets.dev/assets/9795/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-gate-key-cabinet-7cd71440","thumbnailUrl":"https://cdn.3dassets.dev/assets/9795/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9795/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":15044,"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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:09.485Z","updatedAt":"2026-09-06T14:32:10.017Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9795/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/9795/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9795/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9795/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/9795/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/9795/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9797","slug":"fortified-compound-expansion-checkpoint-notice-frame-952b9a03","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-952b9a03","cdnUrl":"https://cdn.3dassets.dev/assets/9797/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-checkpoint-notice-frame-952b9a03","thumbnailUrl":"https://cdn.3dassets.dev/assets/9797/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9797/v1/poster.webp","blurhash":"U68|bI%100nOV@$*xtIo00M|_NtR.7nhD%o~","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":18188,"triangles":192,"vertices":576,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.00002135699616873099,-0.06398931895381707],"max":[0.5,0.8000213689170976,0.06402477383845287]},"sizeMeters":[1,0.8,0.128],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:09.667Z","updatedAt":"2026-09-06T14:32:10.358Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9797/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/9797/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9797/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9797/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/9797/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/9797/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9806","slug":"fortified-compound-expansion-assembled-s-3d828fd5-starter-scene","title":"Assembled Survivor Site (Fortified Compound Expansion)","summary":"Composed example for Fortified Compound Expansion.","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-3d828fd5-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/9806/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-assembled-s-3d828fd5-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/9806/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9806/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":182948,"triangles":6804,"vertices":6940,"meshes":14,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.172476667644438,0,-2.172476667644438],"max":[2.000042765651394,3.5704107039189483,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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:12.189Z","updatedAt":"2026-09-06T14:32:12.975Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9806/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/9806/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9806/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9806/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/9806/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/9806/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"9807","slug":"fortified-compound-expansion-construction-and-service--92b87505","title":"Construction and Service Corner (Fortified Compound Expansion)","summary":"Composed example for Fortified Compound Expansion.","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--92b87505","cdnUrl":"https://cdn.3dassets.dev/assets/9807/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fortified-compound-expansion-construction-and-service--92b87505","thumbnailUrl":"https://cdn.3dassets.dev/assets/9807/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/9807/v1/poster.webp","blurhash":"U27md2Di00.Sw|JC9u$M02%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":136960,"triangles":4328,"vertices":4821,"meshes":14,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.172476667644438,0,-2.172476667644438],"max":[2.000042765651394,3.5704107039189483,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":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:32:12.349Z","updatedAt":"2026-09-06T14:32:13.016Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/9807/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/9807/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/9807/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/9807/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/9807/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/9807/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}