{"data":{"id":62,"slug":"bunker-shelter-construction","title":"Underground Bunker and Survivor Hideout","summary":"Modular underground bunker walls, floors and ceilings, blast doors and escape hatches, air filtration ducting, bunks, lockers and stores for a sealed survivor hideout.","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/bunker-shelter-construction","coverUrl":"https://cdn.3dassets.dev/assets/23398/v1/poster.webp","assetCount":78,"aiGenerated":true,"aiGeneratedAssetCount":78,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":4401764,"totalTriangles":102772,"starterScene":{"id":"23398","slug":"bunker-shelter-construction-assembled-su-61d10772-starter-scene","title":"Assembled Survivor Site (Underground Bunker and Survivor Hideout)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/bunker-shelter-construction-assembled-su-61d10772-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/23398/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-assembled-su-61d10772-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/23398/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23398/v1/poster.webp","blurhash":"U5FY#{8{00SiD+00%0x[00t6RP%1~o~qIot7","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":309860,"triangles":18092,"vertices":16241,"meshes":19,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-2.1899960401435323,-0.000003814813684499541,-2.1674367570424495],"max":[2.000042765651394,2.869988707182918,2.9999572820323217]},"sizeMeters":[4.19,2.87,5.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":28,"publishedAt":"2026-09-07T20:09:39.680Z","updatedAt":"2026-10-25T09:17:18.391Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23398/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssembledSurvivorSiteUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23398/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23398/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23398/v1/model.glb\" alt=\"Assembled Survivor Site (Underground Bunker and Survivor Hideout)\" 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/23398/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/23398/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"23284","slug":"bunker-shelter-construction-shelter-door-wall-15ab185d","title":"Shelter Door Wall (Underground Bunker and Survivor Hideout)","summary":"Shelter Door Wall: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening door; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-door-wall-15ab185d","cdnUrl":"https://cdn.3dassets.dev/assets/23284/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-door-wall-15ab185d","thumbnailUrl":"https://cdn.3dassets.dev/assets/23284/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23284/v1/poster.webp","blurhash":"U8Gbu2?b00of~p_3D*0100WBobRjt7%MWD9F","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":262160,"triangles":5424,"vertices":16272,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.18999604014353214],"max":[1.000042765651394,2.4000000953674316,0.19799808063670102]},"sizeMeters":[2,2.4,0.388],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:09:21.710Z","updatedAt":"2026-10-25T12:30:37.954Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23284/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterDoorWallUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23284/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23284/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23284/v1/model.glb\" alt=\"Shelter Door Wall (Underground Bunker and Survivor Hideout)\" 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/23284/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/23284/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23289","slug":"bunker-shelter-construction-shelter-wide-access-1321671e","title":"Shelter Wide Access (Underground Bunker and Survivor Hideout)","summary":"Shelter Wide Access: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening wide-door; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-wide-access-1321671e","cdnUrl":"https://cdn.3dassets.dev/assets/23289/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-wide-access-1321671e","thumbnailUrl":"https://cdn.3dassets.dev/assets/23289/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23289/v1/poster.webp","blurhash":"UCFYx;%M00xt~p?a9G9F4oj[M{M{V[%2xtD%","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":174044,"triangles":3588,"vertices":10764,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.18999604014353214],"max":[1.000042765651394,2.4000000953674316,0.19799808063670102]},"sizeMeters":[2,2.4,0.388],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:21.949Z","updatedAt":"2026-10-10T07:48:27.744Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23289/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterWideAccessUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23289/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23289/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23289/v1/model.glb\" alt=\"Shelter Wide Access (Underground Bunker and Survivor Hideout)\" 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/23289/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/23289/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23290","slug":"bunker-shelter-construction-shelter-vent-wall-28b6df1f","title":"Shelter Vent Wall (Underground Bunker and Survivor Hideout)","summary":"Shelter Vent Wall: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening vent; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-vent-wall-28b6df1f","cdnUrl":"https://cdn.3dassets.dev/assets/23290/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-vent-wall-28b6df1f","thumbnailUrl":"https://cdn.3dassets.dev/assets/23290/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23290/v1/poster.webp","blurhash":"U7F~dNxu00IA.7?bIU0100kC~pja%g-;M{4o","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":333024,"triangles":6900,"vertices":20700,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.19302625954878772],"max":[1.000042765651394,2.4000000953674316,0.24702624977362597]},"sizeMeters":[2,2.4,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:09:22.023Z","updatedAt":"2026-10-25T13:34:42.219Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23290/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterVentWallUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23290/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23290/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23290/v1/model.glb\" alt=\"Shelter Vent Wall (Underground Bunker and Survivor Hideout)\" 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/23290/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/23290/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23288","slug":"bunker-shelter-construction-shelter-cable-wall-a536602a","title":"Shelter Cable Wall (Underground Bunker and Survivor Hideout)","summary":"Shelter Cable Wall: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening slot; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-cable-wall-a536602a","cdnUrl":"https://cdn.3dassets.dev/assets/23288/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-cable-wall-a536602a","thumbnailUrl":"https://cdn.3dassets.dev/assets/23288/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23288/v1/poster.webp","blurhash":"U7F~dNxv00D%.7?bIU0000kC~pja%g-;M{4o","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":364136,"triangles":7548,"vertices":22644,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.19302625954878772],"max":[1.000042765651394,2.4000000953674316,0.24702624977362597]},"sizeMeters":[2,2.4,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:21.811Z","updatedAt":"2026-10-10T07:48:26.248Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23288/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterCableWallUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23288/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23288/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23288/v1/model.glb\" alt=\"Shelter Cable Wall (Underground Bunker and Survivor Hideout)\" 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/23288/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/23288/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23291","slug":"bunker-shelter-construction-shelter-serving-wall-2e529cca","title":"Shelter Serving Wall (Underground Bunker and Survivor Hideout)","summary":"Shelter Serving Wall: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening counter; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-serving-wall-2e529cca","cdnUrl":"https://cdn.3dassets.dev/assets/23291/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-serving-wall-2e529cca","thumbnailUrl":"https://cdn.3dassets.dev/assets/23291/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23291/v1/poster.webp","blurhash":"U4Fr-Ix]00D%?u_3IU0000tQ~pRj~q_39F00","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":259892,"triangles":5376,"vertices":16128,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.19302625954878772],"max":[1.000042765651394,2.4000000953674316,0.24702624977362597]},"sizeMeters":[2,2.4,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:22.076Z","updatedAt":"2026-10-10T07:48:14.939Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23291/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterServingWallUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23291/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23291/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23291/v1/model.glb\" alt=\"Shelter Serving Wall (Underground Bunker and Survivor Hideout)\" 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/23291/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/23291/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23287","slug":"bunker-shelter-construction-shelter-storage-wall-2cc36e84","title":"Shelter Storage Wall (Underground Bunker and Survivor Hideout)","summary":"Shelter Storage Wall: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening shelf; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-storage-wall-2cc36e84","cdnUrl":"https://cdn.3dassets.dev/assets/23287/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-storage-wall-2cc36e84","thumbnailUrl":"https://cdn.3dassets.dev/assets/23287/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23287/v1/poster.webp","blurhash":"U3EME?Ro00%L_M~qD%00K6%g004n~q~q9F00","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":227180,"triangles":4548,"vertices":13644,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.19302625954878772],"max":[1.000042765651394,2.4000000953674316,0.24702624977362597]},"sizeMeters":[2,2.4,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:21.756Z","updatedAt":"2026-10-10T07:48:24.838Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23287/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterStorageWallUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23287/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23287/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23287/v1/model.glb\" alt=\"Shelter Storage Wall (Underground Bunker and Survivor Hideout)\" 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/23287/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/23287/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23286","slug":"bunker-shelter-construction-shelter-emergency-crawl-ee952308","title":"Shelter Emergency Crawl (Underground Bunker and Survivor Hideout)","summary":"Shelter Emergency Crawl: 2 × 2.4 × 0.3 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; opening crawl; pattern masonry; mat ivory. 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/bunker-shelter-construction-shelter-emergency-crawl-ee952308","cdnUrl":"https://cdn.3dassets.dev/assets/23286/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-emergency-crawl-ee952308","thumbnailUrl":"https://cdn.3dassets.dev/assets/23286/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23286/v1/poster.webp","blurhash":"U8H2Zd?b00IU~p_3D*0100Rj?aayWB%MxuD%","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":293876,"triangles":6084,"vertices":18252,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.18999604014353214],"max":[1.000042765651394,2.4000000953674316,0.19799808063670102]},"sizeMeters":[2,2.4,0.388],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:21.741Z","updatedAt":"2026-10-25T09:52:50.417Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23286/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterEmergencyCrawlUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23286/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23286/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23286/v1/model.glb\" alt=\"Shelter Emergency Crawl (Underground Bunker and Survivor Hideout)\" 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/23286/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/23286/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23285","slug":"bunker-shelter-construction-shelter-floor-slab-19c7cea2","title":"Shelter Floor Slab (Underground Bunker and Survivor Hideout)","summary":"Shelter Floor Slab: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck stone; mat ivory. 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/bunker-shelter-construction-shelter-floor-slab-19c7cea2","cdnUrl":"https://cdn.3dassets.dev/assets/23285/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-floor-slab-19c7cea2","thumbnailUrl":"https://cdn.3dassets.dev/assets/23285/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23285/v1/poster.webp","blurhash":"U7EV$s?b00Rj_3WXIVof00D*~qWB00t3x@Rj","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":17704,"triangles":348,"vertices":1044,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.2500038148136845,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:21.729Z","updatedAt":"2026-10-10T07:48:36.557Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23285/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterFloorSlabUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23285/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23285/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23285/v1/model.glb\" alt=\"Shelter Floor Slab (Underground Bunker and Survivor Hideout)\" 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/23285/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/23285/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23292","slug":"bunker-shelter-construction-shelter-drain-floor-ce677eeb","title":"Shelter Drain Floor (Underground Bunker and Survivor Hideout)","summary":"Shelter Drain Floor: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck drain; mat ivory. 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/bunker-shelter-construction-shelter-drain-floor-ce677eeb","cdnUrl":"https://cdn.3dassets.dev/assets/23292/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-drain-floor-ce677eeb","thumbnailUrl":"https://cdn.3dassets.dev/assets/23292/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23292/v1/poster.webp","blurhash":"U6D]o1?b00j;?bayRjt700D*~qM|00ofWCM{","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":23700,"triangles":444,"vertices":1332,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.31000770529587207,1]},"sizeMeters":[2,0.31,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:23.318Z","updatedAt":"2026-10-25T08:02:11.218Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23292/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterDrainFloorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23292/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23292/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23292/v1/model.glb\" alt=\"Shelter Drain Floor (Underground Bunker and Survivor Hideout)\" 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/23292/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/23292/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23295","slug":"bunker-shelter-construction-shelter-grated-floor-557eb746","title":"Shelter Grated Floor (Underground Bunker and Survivor Hideout)","summary":"Shelter Grated Floor: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck grate; mat ivory. 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/bunker-shelter-construction-shelter-grated-floor-557eb746","cdnUrl":"https://cdn.3dassets.dev/assets/23295/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-grated-floor-557eb746","thumbnailUrl":"https://cdn.3dassets.dev/assets/23295/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23295/v1/poster.webp","blurhash":"U29tS{_N009EyFofngnm00D$?wohMHa$NcR#","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":21828,"triangles":420,"vertices":1260,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00005660945089218383,-1],"max":[1,0.2499383576772533,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:09:23.459Z","updatedAt":"2026-10-10T07:47:57.038Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23295/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterGratedFloorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23295/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23295/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23295/v1/model.glb\" alt=\"Shelter Grated Floor (Underground Bunker and Survivor Hideout)\" 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/23295/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/23295/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23294","slug":"bunker-shelter-construction-shelter-service-floor-a954cd6a","title":"Shelter Service Floor (Underground Bunker and Survivor Hideout)","summary":"Shelter Service Floor: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck channel; mat ivory. 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/bunker-shelter-construction-shelter-service-floor-a954cd6a","cdnUrl":"https://cdn.3dassets.dev/assets/23294/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-service-floor-a954cd6a","thumbnailUrl":"https://cdn.3dassets.dev/assets/23294/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23294/v1/poster.webp","blurhash":"U6E39o-=00R*_Ma#Myoc00IT_3Rj00oeozRl","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":54004,"triangles":1104,"vertices":3312,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.2500038148136845,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:23.447Z","updatedAt":"2026-10-25T13:28:01.930Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23294/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterServiceFloorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23294/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23294/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23294/v1/model.glb\" alt=\"Shelter Service Floor (Underground Bunker and Survivor Hideout)\" 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/23294/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/23294/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23293","slug":"bunker-shelter-construction-shelter-hatch-floor-873712aa","title":"Shelter Hatch Floor (Underground Bunker and Survivor Hideout)","summary":"Shelter Hatch Floor: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck hatch; mat ivory. 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/bunker-shelter-construction-shelter-hatch-floor-873712aa","cdnUrl":"https://cdn.3dassets.dev/assets/23293/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-hatch-floor-873712aa","thumbnailUrl":"https://cdn.3dassets.dev/assets/23293/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23293/v1/poster.webp","blurhash":"U5E39o-=00og~qWBMyt700IT~qM_00xuWXIU","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":95468,"triangles":1968,"vertices":5904,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.2500038148136845,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:24.448Z","updatedAt":"2026-10-10T07:48:13.503Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23293/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterHatchFloorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23293/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23293/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23293/v1/model.glb\" alt=\"Shelter Hatch Floor (Underground Bunker and Survivor Hideout)\" 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/23293/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/23293/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23296","slug":"bunker-shelter-construction-shelter-stair-opening-55d7865e","title":"Shelter Stair Opening (Underground Bunker and Survivor Hideout)","summary":"Shelter Stair Opening: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck stairwell; mat ivory. 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/bunker-shelter-construction-shelter-stair-opening-55d7865e","cdnUrl":"https://cdn.3dassets.dev/assets/23296/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-stair-opening-55d7865e","thumbnailUrl":"https://cdn.3dassets.dev/assets/23296/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23296/v1/poster.webp","blurhash":"U5D]k[-=00xb~pRjMyxa00IU^+IU00%MWVIU","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":64372,"triangles":1320,"vertices":3960,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.2500038148136845,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:24.586Z","updatedAt":"2026-10-25T11:14:14.393Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23296/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterStairOpeningUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23296/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23296/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23296/v1/model.glb\" alt=\"Shelter Stair Opening (Underground Bunker and Survivor Hideout)\" 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/23296/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/23296/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23297","slug":"bunker-shelter-construction-shelter-corner-floor-a1845d87","title":"Shelter Corner Floor (Underground Bunker and Survivor Hideout)","summary":"Shelter Corner Floor: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck l; mat ivory. 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/bunker-shelter-construction-shelter-corner-floor-a1845d87","cdnUrl":"https://cdn.3dassets.dev/assets/23297/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-corner-floor-a1845d87","thumbnailUrl":"https://cdn.3dassets.dev/assets/23297/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23297/v1/poster.webp","blurhash":"U7D]k]~q00M{?bofMyoe004n~pof01Rkx[WC","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":13488,"triangles":260,"vertices":780,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.2500038148136845,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:23.673Z","updatedAt":"2026-10-25T10:30:28.536Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23297/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterCornerFloorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23297/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23297/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23297/v1/model.glb\" alt=\"Shelter Corner Floor (Underground Bunker and Survivor Hideout)\" 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/23297/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/23297/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23298","slug":"bunker-shelter-construction-shelter-triangular-transit-a28ef023","title":"Shelter Triangular Transition (Underground Bunker and Survivor Hideout)","summary":"Shelter Triangular Transition: 2 × 0.25 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck triangle; mat ivory. 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/bunker-shelter-construction-shelter-triangular-transit-a28ef023","cdnUrl":"https://cdn.3dassets.dev/assets/23298/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-triangular-transit-a28ef023","thumbnailUrl":"https://cdn.3dassets.dev/assets/23298/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23298/v1/poster.webp","blurhash":"U8D,1K~p00IU%gt7RiRj009F_3j=9FM|ozt7","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":12948,"triangles":248,"vertices":744,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000003814813684499541,-1],"max":[1,0.2500038148136845,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:23.686Z","updatedAt":"2026-10-06T07:43:46.423Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23298/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterTriangularTransitionUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23298/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23298/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23298/v1/model.glb\" alt=\"Shelter Triangular Transition (Underground Bunker and Survivor Hideout)\" 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/23298/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/23298/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23299","slug":"bunker-shelter-construction-flat-ceiling-a09289be","title":"Flat Ceiling (Underground Bunker and Survivor Hideout)","summary":"Flat Ceiling: 2 × 0.6 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 0.6m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape flat; 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/bunker-shelter-construction-flat-ceiling-a09289be","cdnUrl":"https://cdn.3dassets.dev/assets/23299/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-flat-ceiling-a09289be","thumbnailUrl":"https://cdn.3dassets.dev/assets/23299/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23299/v1/poster.webp","blurhash":"U69@YNt700t7-;WBM{t700NG~qWB4ns:xuR*","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":26144,"triangles":348,"vertices":1044,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0011999607086182,0.000011290879930639375,-1],"max":[1.0011999607086182,0.2199887071829184,1]},"sizeMeters":[2.002,0.22,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:23.892Z","updatedAt":"2026-10-06T07:43:45.489Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23299/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlatCeilingUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23299/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23299/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23299/v1/model.glb\" alt=\"Flat Ceiling (Underground Bunker and Survivor Hideout)\" 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/23299/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/23299/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23300","slug":"bunker-shelter-construction-vault-ceiling-bc952ebf","title":"Vault Ceiling (Underground Bunker and Survivor Hideout)","summary":"Vault Ceiling: 2 × 0.6 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 0.6m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape barrel; 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/bunker-shelter-construction-vault-ceiling-bc952ebf","cdnUrl":"https://cdn.3dassets.dev/assets/23300/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-vault-ceiling-bc952ebf","thumbnailUrl":"https://cdn.3dassets.dev/assets/23300/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23300/v1/poster.webp","blurhash":"U69%*WDi00.8.SRjR5sp00x]_NRP00s:x^kW","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":44008,"triangles":648,"vertices":1944,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0488381385803223,0.000043810849136349805,-1],"max":[1.0488381385803223,0.6757763343235107,1]},"sizeMeters":[2.098,0.676,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:24.954Z","updatedAt":"2026-10-06T00:58:35.660Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23300/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VaultCeilingUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23300/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23300/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23300/v1/model.glb\" alt=\"Vault Ceiling (Underground Bunker and Survivor Hideout)\" 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/23300/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/23300/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23301","slug":"bunker-shelter-construction-ceiling-access-bay-4c4a616f","title":"Ceiling Access Bay (Underground Bunker and Survivor Hideout)","summary":"Ceiling Access Bay: 2 × 0.6 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 0.6m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape skylight; 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/bunker-shelter-construction-ceiling-access-bay-4c4a616f","cdnUrl":"https://cdn.3dassets.dev/assets/23301/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-ceiling-access-bay-4c4a616f","thumbnailUrl":"https://cdn.3dassets.dev/assets/23301/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23301/v1/poster.webp","blurhash":"U39j+P-;00M{E1NGenxG00M|_NRj?I%2x]S#","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":42888,"triangles":696,"vertices":2088,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0011999607086182,0.00003358228135252883,-1],"max":[1.0011999607086182,0.5999664415605054,1]},"sizeMeters":[2.002,0.6,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:25.113Z","updatedAt":"2026-10-06T02:34:06.152Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23301/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CeilingAccessBayUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23301/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23301/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23301/v1/model.glb\" alt=\"Ceiling Access Bay (Underground Bunker and Survivor Hideout)\" 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/23301/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/23301/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23302","slug":"bunker-shelter-construction-ribbed-shelter-ceiling-ba3eb678","title":"Ribbed Shelter Ceiling (Underground Bunker and Survivor Hideout)","summary":"Ribbed Shelter Ceiling: 2 × 0.6 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 0.6m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape pergola; 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/bunker-shelter-construction-ribbed-shelter-ceiling-ba3eb678","cdnUrl":"https://cdn.3dassets.dev/assets/23302/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-ribbed-shelter-ceiling-ba3eb678","thumbnailUrl":"https://cdn.3dassets.dev/assets/23302/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23302/v1/poster.webp","blurhash":"U58XLS%300Na_NofMdR*00NF-;WU00R*o~og","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":74260,"triangles":1296,"vertices":3888,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.00005035516810637103,-1],"max":[1,0.20005035777580957,1]},"sizeMeters":[2,0.2,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:26.209Z","updatedAt":"2026-10-06T05:35:45.932Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23302/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RibbedShelterCeilingUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23302/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23302/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23302/v1/model.glb\" alt=\"Ribbed Shelter Ceiling (Underground Bunker and Survivor Hideout)\" 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/23302/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/23302/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23303","slug":"bunker-shelter-construction-pressure-door-2d7a2ef3","title":"Pressure Door (Underground Bunker and Survivor Hideout)","summary":"Pressure Door: 0.94 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.14m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style sealed; 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/bunker-shelter-construction-pressure-door-2d7a2ef3","cdnUrl":"https://cdn.3dassets.dev/assets/23303/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-pressure-door-2d7a2ef3","thumbnailUrl":"https://cdn.3dassets.dev/assets/23303/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23303/v1/poster.webp","blurhash":"U47_A*%M00D%~qjF4nX7Rjf6tRkC_3t7D%Rj","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":61948,"triangles":1204,"vertices":3612,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4866644190834081,0,-0.10946378605716808],"max":[0.4865731910574378,2.099999856948852,0.10946377860658749]},"sizeMeters":[0.973,2.1,0.219],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:25.395Z","updatedAt":"2026-10-06T07:43:46.741Z","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/23303/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 PressureDoorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23303/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/23303/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23303/v1/model.glb\" alt=\"Pressure Door (Underground Bunker and Survivor Hideout)\" 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/23303/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/23303/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23304","slug":"bunker-shelter-construction-inspection-door-2285e07f","title":"Inspection Door (Underground Bunker and Survivor Hideout)","summary":"Inspection Door: 0.94 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.14m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style window; 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/bunker-shelter-construction-inspection-door-2285e07f","cdnUrl":"https://cdn.3dassets.dev/assets/23304/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-inspection-door-2285e07f","thumbnailUrl":"https://cdn.3dassets.dev/assets/23304/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23304/v1/poster.webp","blurhash":"U48qg8%#00Dh_4f88_W.MdVto}o|~qt74nM{","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":30700,"triangles":568,"vertices":1704,"meshes":3,"materials":1,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.48666441884509554,0,-0.10946378729993958],"max":[0.4865751031112664,2.09999988079071,0.10946377984935898]},"sizeMeters":[0.973,2.1,0.219],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:25.450Z","updatedAt":"2026-10-06T05:24:49.534Z","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/23304/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 InspectionDoorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23304/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/23304/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23304/v1/model.glb\" alt=\"Inspection Door (Underground Bunker and Survivor Hideout)\" 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/23304/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/23304/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23305","slug":"bunker-shelter-construction-vented-utility-door-b3a8d21f","title":"Vented Utility Door (Underground Bunker and Survivor Hideout)","summary":"Vented Utility Door: 0.94 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.14m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style vent; 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/bunker-shelter-construction-vented-utility-door-b3a8d21f","cdnUrl":"https://cdn.3dassets.dev/assets/23305/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-vented-utility-door-b3a8d21f","thumbnailUrl":"https://cdn.3dassets.dev/assets/23305/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23305/v1/poster.webp","blurhash":"U597w:%h00Di~qjb4nWBDiV@x]o|-;t7M{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":34748,"triangles":652,"vertices":1956,"meshes":3,"materials":1,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.48666441884509554,0,-0.10946378729993958],"max":[0.4865751031112664,2.09999988079071,0.10946377984935898]},"sizeMeters":[0.973,2.1,0.219],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":16,"publishedAt":"2026-09-07T20:09:25.507Z","updatedAt":"2026-10-25T11:16:30.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/23305/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 VentedUtilityDoorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23305/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/23305/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23305/v1/model.glb\" alt=\"Vented Utility Door (Underground Bunker and Survivor Hideout)\" 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/23305/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/23305/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23306","slug":"bunker-shelter-construction-mesh-store-door-4062aeb5","title":"Mesh Store Door (Underground Bunker and Survivor Hideout)","summary":"Mesh Store Door: 0.94 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.14m 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/bunker-shelter-construction-mesh-store-door-4062aeb5","cdnUrl":"https://cdn.3dassets.dev/assets/23306/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-mesh-store-door-4062aeb5","thumbnailUrl":"https://cdn.3dassets.dev/assets/23306/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23306/v1/poster.webp","blurhash":"U28EVj.T008wrFRQOqtQ00Vt~qo|$kt7XSR%","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":19952,"triangles":344,"vertices":1032,"meshes":3,"materials":1,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4866644189404629,0,-0.10946378849610716],"max":[0.4865751081987695,2.0999999037384987,0.10946378104552656]},"sizeMeters":[0.973,2.1,0.219],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:09:26.076Z","updatedAt":"2026-10-08T04:32:43.606Z","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/23306/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 MeshStoreDoorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23306/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/23306/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23306/v1/model.glb\" alt=\"Mesh Store Door (Underground Bunker and Survivor Hideout)\" 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/23306/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/23306/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23307","slug":"bunker-shelter-construction-double-latch-door-c70dd151","title":"Double Latch Door (Underground Bunker and Survivor Hideout)","summary":"Double Latch Door: 0.94 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.14m 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/bunker-shelter-construction-double-latch-door-c70dd151","cdnUrl":"https://cdn.3dassets.dev/assets/23307/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-double-latch-door-c70dd151","thumbnailUrl":"https://cdn.3dassets.dev/assets/23307/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23307/v1/poster.webp","blurhash":"U48qZ[-;009F~qWV4nf5IARjtRt7_3t6DiRj","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":48616,"triangles":940,"vertices":2820,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4866644190834081,0,-0.10946378605716808],"max":[0.48668223529684257,2.099999856948852,0.10946377860658749]},"sizeMeters":[0.973,2.1,0.219],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:26.191Z","updatedAt":"2026-10-11T20:21:42.249Z","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/23307/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 DoubleLatchDoorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23307/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/23307/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23307/v1/model.glb\" alt=\"Double Latch Door (Underground Bunker and Survivor Hideout)\" 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/23307/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/23307/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23308","slug":"bunker-shelter-construction-sanitation-door-91248414","title":"Sanitation Door (Underground Bunker and Survivor Hideout)","summary":"Sanitation Door: 0.94 × 2.1 × 0.14 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.14m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style slats; 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/bunker-shelter-construction-sanitation-door-91248414","cdnUrl":"https://cdn.3dassets.dev/assets/23308/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-sanitation-door-91248414","thumbnailUrl":"https://cdn.3dassets.dev/assets/23308/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23308/v1/poster.webp","blurhash":"U38#1w?v004TrtV[Nuoy00M{~q%2xGt6X8R*","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":20912,"triangles":364,"vertices":1092,"meshes":3,"materials":1,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4866644189404629,0,-0.10946378849610716],"max":[0.4865751081987695,2.0999999037384987,0.10946378104552656]},"sizeMeters":[0.973,2.1,0.219],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:26.672Z","updatedAt":"2026-10-08T07:20:17.764Z","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/23308/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 SanitationDoorUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23308/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/23308/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23308/v1/model.glb\" alt=\"Sanitation Door (Underground Bunker and Survivor Hideout)\" 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/23308/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/23308/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23309","slug":"bunker-shelter-construction-entry-dogleg-screen-2c09be4b","title":"Entry Dogleg Screen (Underground Bunker and Survivor Hideout)","summary":"Entry Dogleg Screen: 2 × 2.4 × 0.2 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.2m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern cross; mat metal. 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/bunker-shelter-construction-entry-dogleg-screen-2c09be4b","cdnUrl":"https://cdn.3dassets.dev/assets/23309/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-entry-dogleg-screen-2c09be4b","thumbnailUrl":"https://cdn.3dassets.dev/assets/23309/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23309/v1/poster.webp","blurhash":"U28;lW%200bw~q?bDiDinnxaE0My~W?v9Z00","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":42580,"triangles":864,"vertices":2592,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.0345511463966361,0,-0.11755477581810417],"max":[1.0345511463966361,2.4576168060302734,0.138054772659058]},"sizeMeters":[2.069,2.458,0.256],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:26.866Z","updatedAt":"2026-10-25T08:46:38.388Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23309/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EntryDoglegScreenUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23309/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23309/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23309/v1/model.glb\" alt=\"Entry Dogleg Screen (Underground Bunker and Survivor Hideout)\" 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/23309/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/23309/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23311","slug":"bunker-shelter-construction-entry-blast-baffle-c5e8e4db","title":"Entry Blast Baffle (Underground Bunker and Survivor Hideout)","summary":"Entry Blast Baffle: 2 × 2.4 × 0.4 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 2.4m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape solid; mat ivory. 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/bunker-shelter-construction-entry-blast-baffle-c5e8e4db","cdnUrl":"https://cdn.3dassets.dev/assets/23311/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-entry-blast-baffle-c5e8e4db","thumbnailUrl":"https://cdn.3dassets.dev/assets/23311/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23311/v1/poster.webp","blurhash":"U9HLbq~V009F?H^+Rj0100NG?bkCx[%fRj9F","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":6260,"triangles":108,"vertices":324,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1999572820323218],"max":[1.000042765651394,2.4000000953674316,0.1999572820323218]},"sizeMeters":[2,2.4,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:27.164Z","updatedAt":"2026-10-06T05:25:07.557Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23311/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EntryBlastBaffleUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23311/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23311/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23311/v1/model.glb\" alt=\"Entry Blast Baffle (Underground Bunker and Survivor Hideout)\" 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/23311/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/23311/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23310","slug":"bunker-shelter-construction-escape-ladder-15b127a8","title":"Escape Ladder (Underground Bunker and Survivor Hideout)","summary":"Escape Ladder: 0.6 × 3 × 0.2 m nominal survival ladder assembly.","description":"Original weathered survival ladder. Nominal envelope 0.6m wide, 3m 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/bunker-shelter-construction-escape-ladder-15b127a8","cdnUrl":"https://cdn.3dassets.dev/assets/23310/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-escape-ladder-15b127a8","thumbnailUrl":"https://cdn.3dassets.dev/assets/23310/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23310/v1/poster.webp","blurhash":"U17BG*-=0000?da$9Ej:IBj^%MW9o#a$adoH","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":19432,"triangles":384,"vertices":1152,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3349101229895932,0,-0.03497421185949278],"max":[0.3349101229895932,3,0.03497421185949278]},"sizeMeters":[0.67,3,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:27.139Z","updatedAt":"2026-10-06T02:34:03.180Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23310/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EscapeLadderUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23310/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23310/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23310/v1/model.glb\" alt=\"Escape Ladder (Underground Bunker and Survivor Hideout)\" 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/23310/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/23310/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23312","slug":"bunker-shelter-construction-escape-hatch-578306a6","title":"Escape Hatch (Underground Bunker and Survivor Hideout)","summary":"Escape Hatch: 0.9 × 0.16 × 0.9 m nominal survival hatch assembly.","description":"Original weathered survival hatch. Nominal envelope 0.9m wide, 0.16m high, 0.9m deep; applied framing, handles or rails can extend beyond this. Construction: form hatch; style sealed. 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/bunker-shelter-construction-escape-hatch-578306a6","cdnUrl":"https://cdn.3dassets.dev/assets/23312/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-escape-hatch-578306a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/23312/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23312/v1/poster.webp","blurhash":"U59tW7M{00xu00Rjs:%M00t7kCRj~qM{.8%M","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":7744,"triangles":96,"vertices":288,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.44999998807907104,0.00001709069599073465,-0.44999998807907104],"max":[0.44999998807907104,0.17100174994204312,0.44999998807907104]},"sizeMeters":[0.9,0.171,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:27.180Z","updatedAt":"2026-10-06T02:34:32.769Z","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/23312/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 EscapeHatchUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23312/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/23312/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23312/v1/model.glb\" alt=\"Escape Hatch (Underground Bunker and Survivor Hideout)\" 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/23312/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/23312/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23313","slug":"bunker-shelter-construction-shelter-stair-landing-bed355dd","title":"Shelter Stair Landing (Underground Bunker and Survivor Hideout)","summary":"Shelter Stair Landing: 2 × 0.3 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.3m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck grate; 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/bunker-shelter-construction-shelter-stair-landing-bed355dd","cdnUrl":"https://cdn.3dassets.dev/assets/23313/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-stair-landing-bed355dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/23313/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23313/v1/poster.webp","blurhash":"U78;3}xa4mnjiHV[tSt600WCyER*.TozIUWB","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":70304,"triangles":1092,"vertices":3276,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.059999942779541,0.0000064030999531450306,-1.009978451767239],"max":[1,1.299993549216331,1]},"sizeMeters":[2.06,1.3,2.01],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:28.806Z","updatedAt":"2026-10-25T15:41:25.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23313/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterStairLandingUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23313/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23313/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23313/v1/model.glb\" alt=\"Shelter Stair Landing (Underground Bunker and Survivor Hideout)\" 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/23313/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/23313/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23314","slug":"bunker-shelter-construction-air-intake-stack-5abd544e","title":"Air Intake Stack (Underground Bunker and Survivor Hideout)","summary":"Air Intake Stack: 0.5 × 2 × 0.5 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 0.5m wide, 2m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; shape chimney. 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/bunker-shelter-construction-air-intake-stack-5abd544e","cdnUrl":"https://cdn.3dassets.dev/assets/23314/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-air-intake-stack-5abd544e","thumbnailUrl":"https://cdn.3dassets.dev/assets/23314/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23314/v1/poster.webp","blurhash":"U5D0Jr_20000Iuaf${tP00Rj~pxu%MfPIUbH","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":5012,"triangles":96,"vertices":288,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.375,0,-0.375],"max":[0.375,2.310014925459414,0.375]},"sizeMeters":[0.75,2.31,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:27.849Z","updatedAt":"2026-10-25T10:01:14.395Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23314/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirIntakeStackUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23314/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23314/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23314/v1/model.glb\" alt=\"Air Intake Stack (Underground Bunker and Survivor Hideout)\" 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/23314/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/23314/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23315","slug":"bunker-shelter-construction-exhaust-cowl-09c75db5","title":"Exhaust Cowl (Underground Bunker and Survivor Hideout)","summary":"Exhaust Cowl: 0.5 × 0.7 × 0.5 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 0.5m wide, 0.7m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; shape cowl. 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/bunker-shelter-construction-exhaust-cowl-09c75db5","cdnUrl":"https://cdn.3dassets.dev/assets/23315/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-exhaust-cowl-09c75db5","thumbnailUrl":"https://cdn.3dassets.dev/assets/23315/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23315/v1/poster.webp","blurhash":"UDB|Z_%M00RP~qozITfkV@RjRjt8ogjaRjV@","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":5672,"triangles":96,"vertices":288,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2499892501066765,0,-0.2499892501066765],"max":[0.2499892501066765,0.6050000190734863,0.2499892501066765]},"sizeMeters":[0.5,0.605,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T20:09:27.933Z","updatedAt":"2026-10-06T07:43:47.120Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23315/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExhaustCowlUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23315/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23315/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23315/v1/model.glb\" alt=\"Exhaust Cowl (Underground Bunker and Survivor Hideout)\" 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/23315/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/23315/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23316","slug":"bunker-shelter-construction-air-duct-elbow-625f4196","title":"Air Duct Elbow (Underground Bunker and Survivor Hideout)","summary":"Air Duct Elbow: 0.7 × 0.35 × 0.7 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 0.7m wide, 0.35m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; shape elbow. 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/bunker-shelter-construction-air-duct-elbow-625f4196","cdnUrl":"https://cdn.3dassets.dev/assets/23316/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-air-duct-elbow-625f4196","thumbnailUrl":"https://cdn.3dassets.dev/assets/23316/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23316/v1/poster.webp","blurhash":"U9BN7w-;4noL_NofRjof00IU-;of00RjxuRj","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":74800,"triangles":1536,"vertices":4608,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2224559634923935,-0.0000032611960046613486,-0.2224559634923935],"max":[0.2224559634923935,0.2800032623880976,0.2224559634923935]},"sizeMeters":[0.445,0.28,0.445],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:09:28.419Z","updatedAt":"2026-10-25T13:36:20.655Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23316/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirDuctElbowUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23316/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23316/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23316/v1/model.glb\" alt=\"Air Duct Elbow (Underground Bunker and Survivor Hideout)\" 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/23316/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/23316/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23317","slug":"bunker-shelter-construction-air-duct-tee-ea6a7f6c","title":"Air Duct Tee (Underground Bunker and Survivor Hideout)","summary":"Air Duct Tee: 1 × 0.35 × 0.7 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 1m wide, 0.35m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; shape tee. 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/bunker-shelter-construction-air-duct-tee-ea6a7f6c","cdnUrl":"https://cdn.3dassets.dev/assets/23317/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-air-duct-tee-ea6a7f6c","thumbnailUrl":"https://cdn.3dassets.dev/assets/23317/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23317/v1/poster.webp","blurhash":"U59@bV%2009F_3?bIUM{00%g_Nay4m8_.8ba","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":10228,"triangles":192,"vertices":576,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.000026856884385334512,-0.24501785332804346],"max":[0.5,0.2799731443077076,0.24501785332804346]},"sizeMeters":[1,0.28,0.49],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:09:28.520Z","updatedAt":"2026-10-25T11:07:33.637Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23317/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirDuctTeeUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23317/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23317/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23317/v1/model.glb\" alt=\"Air Duct Tee (Underground Bunker and Survivor Hideout)\" 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/23317/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/23317/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23318","slug":"bunker-shelter-construction-air-duct-straight-1bf71826","title":"Air Duct Straight (Underground Bunker and Survivor Hideout)","summary":"Air Duct Straight: 2 × 0.35 × 0.35 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 2m wide, 0.35m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; 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/bunker-shelter-construction-air-duct-straight-1bf71826","cdnUrl":"https://cdn.3dassets.dev/assets/23318/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-air-duct-straight-1bf71826","thumbnailUrl":"https://cdn.3dassets.dev/assets/23318/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23318/v1/poster.webp","blurhash":"U58z_hxcDjxu-=_NfANG00xu_4M{9F00xu-;","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":5616,"triangles":96,"vertices":288,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00001892117785187719,-0.1400189214758751],"max":[1,0.2800189217738983,0.1400189214758751]},"sizeMeters":[2,0.28,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:09:28.786Z","updatedAt":"2026-10-25T10:24:45.146Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23318/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirDuctStraightUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23318/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23318/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23318/v1/model.glb\" alt=\"Air Duct Straight (Underground Bunker and Survivor Hideout)\" 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/23318/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/23318/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23319","slug":"bunker-shelter-construction-air-filter-cabinet-72fb397e","title":"Air Filter Cabinet (Underground Bunker and Survivor Hideout)","summary":"Air Filter Cabinet: 0.8 × 1.3 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.8m wide, 1.3m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape filter. 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/bunker-shelter-construction-air-filter-cabinet-72fb397e","cdnUrl":"https://cdn.3dassets.dev/assets/23319/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-air-filter-cabinet-72fb397e","thumbnailUrl":"https://cdn.3dassets.dev/assets/23319/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23319/v1/poster.webp","blurhash":"U89@hk%M00NG_NofDifj%3bHIARjx]ofRPV@","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":13472,"triangles":228,"vertices":684,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000335556872797,0,-0.32122103378181693],"max":[0.4000335556872797,1.2999999523162842,0.32126029334555584]},"sizeMeters":[0.8,1.3,0.642],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:29.961Z","updatedAt":"2026-10-25T13:30:59.865Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23319/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirFilterCabinetUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23319/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23319/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23319/v1/model.glb\" alt=\"Air Filter Cabinet (Underground Bunker and Survivor Hideout)\" 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/23319/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/23319/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23320","slug":"bunker-shelter-construction-hand-crank-blower-f4593933","title":"Hand Crank Blower (Underground Bunker and Survivor Hideout)","summary":"Hand Crank Blower: 0.7 × 1 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.7m wide, 1m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape fan. 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/bunker-shelter-construction-hand-crank-blower-f4593933","cdnUrl":"https://cdn.3dassets.dev/assets/23320/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-hand-crank-blower-f4593933","thumbnailUrl":"https://cdn.3dassets.dev/assets/23320/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23320/v1/poster.webp","blurhash":"UAATvI-;00IU~qt7DiWBjGaeM_WB%MozM{Rj","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":33424,"triangles":644,"vertices":1932,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.43749809259315775,0,-0.36002685628833886],"max":[0.43749809259315775,1,0.36002685628833886]},"sizeMeters":[0.875,1,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:28.971Z","updatedAt":"2026-10-06T04:56:38.441Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23320/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandCrankBlowerUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23320/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23320/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23320/v1/model.glb\" alt=\"Hand Crank Blower (Underground Bunker and Survivor Hideout)\" 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/23320/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/23320/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23321","slug":"bunker-shelter-construction-intake-grille-7e39f968","title":"Intake Grille (Underground Bunker and Survivor Hideout)","summary":"Intake Grille: 0.6 × 0.6 × 0.15 m nominal survival panel assembly.","description":"Original weathered survival panel. Nominal envelope 0.6m wide, 0.6m high, 0.15m deep; applied framing, handles or rails can extend beyond this. Construction: form panel; shape louvre. 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/bunker-shelter-construction-intake-grille-7e39f968","cdnUrl":"https://cdn.3dassets.dev/assets/23321/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-intake-grille-7e39f968","thumbnailUrl":"https://cdn.3dassets.dev/assets/23321/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23321/v1/poster.webp","blurhash":"U6BM}9_1008y?[%LMxIV9HNa%et6tkx@RQD*","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":18356,"triangles":216,"vertices":648,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3012128493366601,0,-0.0926889364775013],"max":[0.30000001192092896,0.6011999845504761,0.09150060065627047]},"sizeMeters":[0.601,0.601,0.184],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:29.535Z","updatedAt":"2026-10-06T02:37:31.201Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23321/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IntakeGrilleUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23321/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23321/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23321/v1/model.glb\" alt=\"Intake Grille (Underground Bunker and Survivor Hideout)\" 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/23321/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/23321/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23322","slug":"bunker-shelter-construction-cable-tray-494c3b93","title":"Cable Tray (Underground Bunker and Survivor Hideout)","summary":"Cable Tray: 2 × 0.12 × 0.3 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 2m wide, 0.12m 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/bunker-shelter-construction-cable-tray-494c3b93","cdnUrl":"https://cdn.3dassets.dev/assets/23322/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-cable-tray-494c3b93","thumbnailUrl":"https://cdn.3dassets.dev/assets/23322/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23322/v1/poster.webp","blurhash":"U48z}nxu4nt7-;~qfiIT00tQ_3M{8_00t7?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":2708,"triangles":36,"vertices":108,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00006164601078410131,-0.1500289925840022],"max":[1,0.11993835123250107,0.1500289925840022]},"sizeMeters":[2,0.12,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:29.769Z","updatedAt":"2026-10-25T13:40:45.154Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23322/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CableTrayUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23322/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23322/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23322/v1/model.glb\" alt=\"Cable Tray (Underground Bunker and Survivor Hideout)\" 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/23322/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/23322/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23323","slug":"bunker-shelter-construction-pipe-service-rack-4e920874","title":"Pipe Service Rack (Underground Bunker and Survivor Hideout)","summary":"Pipe Service Rack: 1 × 1.5 × 0.4 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1m wide, 1.5m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape pipes. 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/bunker-shelter-construction-pipe-service-rack-4e920874","cdnUrl":"https://cdn.3dassets.dev/assets/23323/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-pipe-service-rack-4e920874","thumbnailUrl":"https://cdn.3dassets.dev/assets/23323/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23323/v1/poster.webp","blurhash":"U47^Md}@000e-CxGR%R%9EI:t-xvoeWVNbbH","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":17272,"triangles":192,"vertices":576,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.500030518509476,0,-0.20803704947050386],"max":[0.500030518509476,1.5,0.20803704947050386]},"sizeMeters":[1,1.5,0.416],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:09:31.186Z","updatedAt":"2026-10-25T16:54:49.077Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23323/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PipeServiceRackUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23323/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23323/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23323/v1/model.glb\" alt=\"Pipe Service Rack (Underground Bunker and Survivor Hideout)\" 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/23323/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/23323/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23324","slug":"bunker-shelter-construction-bunk-single-frame-24541bab","title":"Bunk Single Frame (Underground Bunker and Survivor Hideout)","summary":"Bunk Single Frame: 0.8 × 0.5 × 2 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 0.8m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape cot. 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/bunker-shelter-construction-bunk-single-frame-24541bab","cdnUrl":"https://cdn.3dassets.dev/assets/23324/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-bunk-single-frame-24541bab","thumbnailUrl":"https://cdn.3dassets.dev/assets/23324/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23324/v1/poster.webp","blurhash":"U48z-}.R01R*_K9aDk-o004V_1-o01_1~pMf","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":13740,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4011848951279562,0.000039489760689737086,-1.027500033378601],"max":[0.4011848951279562,0.7799604816290808,1.027500033378601]},"sizeMeters":[0.802,0.78,2.055],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:30.188Z","updatedAt":"2026-10-06T04:13:59.972Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23324/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BunkSingleFrameUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23324/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23324/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23324/v1/model.glb\" alt=\"Bunk Single Frame (Underground Bunker and Survivor Hideout)\" 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/23324/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/23324/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23325","slug":"bunker-shelter-construction-bunk-double-tier-91951c54","title":"Bunk Double Tier (Underground Bunker and Survivor Hideout)","summary":"Bunk Double Tier: 0.8 × 1.8 × 2 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 0.8m wide, 1.8m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape bunk. 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/bunker-shelter-construction-bunk-double-tier-91951c54","cdnUrl":"https://cdn.3dassets.dev/assets/23325/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-bunk-double-tier-91951c54","thumbnailUrl":"https://cdn.3dassets.dev/assets/23325/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23325/v1/poster.webp","blurhash":"U59tMr_N009E_MIU8{%29IRj%JofayIBMy%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":36888,"triangles":592,"vertices":1776,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.41993039512989355,-0.00002607083187466941,-1.059999942779541],"max":[0.41993039512989355,2.0700260040746725,1.059999942779541]},"sizeMeters":[0.84,2.07,2.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:30.496Z","updatedAt":"2026-10-25T09:44:55.667Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23325/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BunkDoubleTierUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23325/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23325/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23325/v1/model.glb\" alt=\"Bunk Double Tier (Underground Bunker and Survivor Hideout)\" 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/23325/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/23325/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23326","slug":"bunker-shelter-construction-bunk-folding-wall-eec0011c","title":"Bunk Folding Wall (Underground Bunker and Survivor Hideout)","summary":"Bunk Folding Wall: 0.7 × 0.6 × 1.9 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 0.7m wide, 0.6m high, 1.9m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape fold. 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/bunker-shelter-construction-bunk-folding-wall-eec0011c","cdnUrl":"https://cdn.3dassets.dev/assets/23326/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-bunk-folding-wall-eec0011c","thumbnailUrl":"https://cdn.3dassets.dev/assets/23326/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23326/v1/poster.webp","blurhash":"UB8;e_xaDkkB_KMzIVxt4oD*oyx@02of%ekB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12952,"triangles":96,"vertices":288,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3511452156547064,-0.0000610338810995148,-0.9750000238418579],"max":[0.3511452156547064,0.5900453056802566,0.9750000238418579]},"sizeMeters":[0.702,0.59,1.95],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:30.582Z","updatedAt":"2026-10-06T02:45:28.386Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23326/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BunkFoldingWallUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23326/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23326/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23326/v1/model.glb\" alt=\"Bunk Folding Wall (Underground Bunker and Survivor Hideout)\" 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/23326/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/23326/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23327","slug":"bunker-shelter-construction-sleep-pod-privacy-frame-0a513025","title":"Sleep Pod Privacy Frame (Underground Bunker and Survivor Hideout)","summary":"Sleep Pod Privacy Frame: 0.9 × 1.4 × 2 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 0.9m wide, 1.4m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape privacy. 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/bunker-shelter-construction-sleep-pod-privacy-frame-0a513025","cdnUrl":"https://cdn.3dassets.dev/assets/23327/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-sleep-pod-privacy-frame-0a513025","thumbnailUrl":"https://cdn.3dassets.dev/assets/23327/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23327/v1/poster.webp","blurhash":"U5BNM-%e4VR._LE2R*oy00IADkRQxbVuMfoc","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":14908,"triangles":132,"vertices":396,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.47001557844738817,-0.00003359420328163942,-1.027500033378601],"max":[0.47001557844738817,1.4000335882428179,1.027500033378601]},"sizeMeters":[0.94,1.4,2.055],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:30.693Z","updatedAt":"2026-10-06T07:43:51.623Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23327/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SleepPodPrivacyFrameUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23327/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23327/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23327/v1/model.glb\" alt=\"Sleep Pod Privacy Frame (Underground Bunker and Survivor Hideout)\" 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/23327/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/23327/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23336","slug":"bunker-shelter-construction-locker-personal-da5f5394","title":"Locker Personal (Underground Bunker and Survivor Hideout)","summary":"Locker Personal: 0.6 × 1.8 × 0.5 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.6m wide, 1.8m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape lockers; shelves 2. 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/bunker-shelter-construction-locker-personal-da5f5394","cdnUrl":"https://cdn.3dassets.dev/assets/23336/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-locker-personal-da5f5394","thumbnailUrl":"https://cdn.3dassets.dev/assets/23336/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23336/v1/poster.webp","blurhash":"U15|s5}Z030z-To2Iqj?KfOXRV#m%KkCM}ae","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":20228,"triangles":220,"vertices":660,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.29996336984231303,0,-0.2899740666519858],"max":[0.29996336984231303,1.7999999523162842,0.28997667572175223]},"sizeMeters":[0.6,1.8,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:32.228Z","updatedAt":"2026-10-25T13:48:29.241Z","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/23336/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 LockerPersonalUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23336/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/23336/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23336/v1/model.glb\" alt=\"Locker Personal (Underground Bunker and Survivor Hideout)\" 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/23336/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/23336/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23337","slug":"bunker-shelter-construction-supply-shelving-9dfac48b","title":"Supply Shelving (Underground Bunker and Survivor Hideout)","summary":"Supply Shelving: 1.4 × 1.8 × 0.5 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.4m wide, 1.8m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape shelves; shelves 4. 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/bunker-shelter-construction-supply-shelving-9dfac48b","cdnUrl":"https://cdn.3dassets.dev/assets/23337/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-supply-shelving-9dfac48b","thumbnailUrl":"https://cdn.3dassets.dev/assets/23337/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23337/v1/poster.webp","blurhash":"U17JkG^i039v^it7NIRjSwShWGw1%L-URoEM","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":15028,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7000427073684673,0,-0.26047405902259124],"max":[0.7000427073684673,1.7999999523162842,0.26050800343667724]},"sizeMeters":[1.4,1.8,0.521],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:31.564Z","updatedAt":"2026-10-06T07:43:51.381Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23337/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SupplyShelvingUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23337/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23337/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23337/v1/model.glb\" alt=\"Supply Shelving (Underground Bunker and Survivor Hideout)\" 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/23337/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/23337/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23338","slug":"bunker-shelter-construction-under-bunk-drawer-8f6059ae","title":"Under Bunk Drawer (Underground Bunker and Survivor Hideout)","summary":"Under Bunk Drawer: 0.7 × 0.25 × 0.8 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.7m wide, 0.25m high, 0.8m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape drawer. 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/bunker-shelter-construction-under-bunk-drawer-8f6059ae","cdnUrl":"https://cdn.3dassets.dev/assets/23338/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-under-bunk-drawer-8f6059ae","thumbnailUrl":"https://cdn.3dassets.dev/assets/23338/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23338/v1/poster.webp","blurhash":"U17A6y?a0$M|^hRmRnxY019aw^n%5S%0V@9]","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":14404,"triangles":140,"vertices":420,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.3499984792899099,-0.000016024080358806314,-0.42750000953674316],"max":[0.3499984792899099,0.25001602408035883,0.42751657717546343]},"sizeMeters":[0.7,0.25,0.855],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:31.763Z","updatedAt":"2026-10-06T07:43:51.914Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23338/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UnderBunkDrawerUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23338/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23338/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23338/v1/model.glb\" alt=\"Under Bunk Drawer (Underground Bunker and Survivor Hideout)\" 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/23338/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/23338/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23339","slug":"bunker-shelter-construction-footlocker-open-50d20066","title":"Footlocker Open (Underground Bunker and Survivor Hideout)","summary":"Footlocker Open: 0.9 × 0.45 × 0.5 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.9m wide, 0.45m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape chest. 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/bunker-shelter-construction-footlocker-open-50d20066","cdnUrl":"https://cdn.3dassets.dev/assets/23339/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-footlocker-open-50d20066","thumbnailUrl":"https://cdn.3dassets.dev/assets/23339/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23339/v1/poster.webp","blurhash":"U28yef=x0O=d};0~5U=w0}5lI=r?Fv=xwNxD","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":15084,"triangles":120,"vertices":360,"meshes":3,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.44999998807907104,-0.00003433332225097341,-0.28302265896823087],"max":[0.44999998807907104,0.9500289804470661,0.28299700255018095]},"sizeMeters":[0.9,0.95,0.566],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:32.074Z","updatedAt":"2026-10-06T07:43:50.739Z","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/23339/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 FootlockerOpenUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23339/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/23339/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23339/v1/model.glb\" alt=\"Footlocker Open (Underground Bunker and Survivor Hideout)\" 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/23339/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/23339/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23340","slug":"bunker-shelter-construction-meal-preparation-counter-678848de","title":"Meal Preparation Counter (Underground Bunker and Survivor Hideout)","summary":"Meal Preparation Counter: 1.6 × 0.9 × 0.6 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.6m wide, 0.9m high, 0.6m 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/bunker-shelter-construction-meal-preparation-counter-678848de","cdnUrl":"https://cdn.3dassets.dev/assets/23340/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-meal-preparation-counter-678848de","thumbnailUrl":"https://cdn.3dassets.dev/assets/23340/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23340/v1/poster.webp","blurhash":"U47,JX$$EM$6}==wNHNH1b$%w{I;Nts,wfV]","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":12020,"triangles":96,"vertices":288,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.000035077659968851815,-0.31253395649891086],"max":[0.800000011920929,0.8999648984981732,0.31253395649891086]},"sizeMeters":[1.6,0.9,0.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:32.261Z","updatedAt":"2026-10-06T05:27:27.313Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23340/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MealPreparationCounterUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23340/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23340/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23340/v1/model.glb\" alt=\"Meal Preparation Counter (Underground Bunker and Survivor Hideout)\" 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/23340/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/23340/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23342","slug":"bunker-shelter-construction-foldaway-dining-table-22ffb8dd","title":"Foldaway Dining Table (Underground Bunker and Survivor Hideout)","summary":"Foldaway Dining Table: 1.2 × 0.75 × 0.6 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.2m wide, 0.75m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape fold. 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/bunker-shelter-construction-foldaway-dining-table-22ffb8dd","cdnUrl":"https://cdn.3dassets.dev/assets/23342/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-foldaway-dining-table-22ffb8dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/23342/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23342/v1/poster.webp","blurhash":"U46QeqVrFxr=}qxZJ8V@0z%LnOOE0~Sfwcbw","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":9468,"triangles":48,"vertices":144,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.00002538355031958539,-0.32001218139155724],"max":[0.6012000441551208,0.5070419072441816,0.32004577061347567]},"sizeMeters":[1.201,0.507,0.64],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:32.528Z","updatedAt":"2026-10-25T13:44:31.810Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23342/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldawayDiningTableUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23342/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23342/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23342/v1/model.glb\" alt=\"Foldaway Dining Table (Underground Bunker and Survivor Hideout)\" 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/23342/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/23342/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23341","slug":"bunker-shelter-construction-ration-pass-through-abf94665","title":"Ration Pass Through (Underground Bunker and Survivor Hideout)","summary":"Ration Pass Through: 1 × 0.9 × 0.4 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1m wide, 0.9m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape cubby; shelves 2. 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/bunker-shelter-construction-ration-pass-through-abf94665","cdnUrl":"https://cdn.3dassets.dev/assets/23341/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-ration-pass-through-abf94665","thumbnailUrl":"https://cdn.3dassets.dev/assets/23341/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23341/v1/poster.webp","blurhash":"U68yP4}EMz;j-A$PsAn%AWE}E%JRSfkCODJ7","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":14288,"triangles":132,"vertices":396,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.000010693399245531587,-0.210472532268588],"max":[0.5,0.9000106695573876,0.2104994539691818]},"sizeMeters":[1,0.9,0.421],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:32.435Z","updatedAt":"2026-10-06T07:43:52.353Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23341/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RationPassThroughUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23341/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23341/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23341/v1/model.glb\" alt=\"Ration Pass Through (Underground Bunker and Survivor Hideout)\" 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/23341/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/23341/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23350","slug":"bunker-shelter-construction-mess-bench-2e68e691","title":"Mess Bench (Underground Bunker and Survivor Hideout)","summary":"Mess Bench: 1.5 × 0.45 × 0.4 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 1.5m wide, 0.45m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape bench. 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/bunker-shelter-construction-mess-bench-2e68e691","cdnUrl":"https://cdn.3dassets.dev/assets/23350/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-mess-bench-2e68e691","thumbnailUrl":"https://cdn.3dassets.dev/assets/23350/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23350/v1/poster.webp","blurhash":"U37KPLtl56$Q~p^kI;Ip00-o-pEM009Z$ejE","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":11600,"triangles":84,"vertices":252,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7512000203132629,-0.00000815833686679257,-0.22496797995953394],"max":[0.7512000203132629,0.39500816906570285,0.22496797995953394]},"sizeMeters":[1.502,0.395,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:32.926Z","updatedAt":"2026-10-25T08:50:57.465Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23350/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MessBenchUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23350/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23350/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23350/v1/model.glb\" alt=\"Mess Bench (Underground Bunker and Survivor Hideout)\" 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/23350/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/23350/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23352","slug":"bunker-shelter-construction-chemical-toilet-0735780c","title":"Chemical Toilet (Underground Bunker and Survivor Hideout)","summary":"Chemical Toilet: 0.5 × 0.65 × 0.65 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 0.5m wide, 0.65m high, 0.65m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape toilet. 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/bunker-shelter-construction-chemical-toilet-0735780c","cdnUrl":"https://cdn.3dassets.dev/assets/23352/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-chemical-toilet-0735780c","thumbnailUrl":"https://cdn.3dassets.dev/assets/23352/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23352/v1/poster.webp","blurhash":"UCD0AQRj00f8_39GIU~p9GM{x[-:aet6IoM{","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":31940,"triangles":628,"vertices":1884,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2300193036909008,0,-0.30836912998529714],"max":[0.2300193036909008,0.7475000023841858,0.30836912998529714]},"sizeMeters":[0.46,0.748,0.617],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:33.286Z","updatedAt":"2026-10-25T15:09:39.806Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23352/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChemicalToiletUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23352/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23352/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23352/v1/model.glb\" alt=\"Chemical Toilet (Underground Bunker and Survivor Hideout)\" 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/23352/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/23352/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23353","slug":"bunker-shelter-construction-squat-toilet-platform-c1490bbc","title":"Squat Toilet Platform (Underground Bunker and Survivor Hideout)","summary":"Squat Toilet Platform: 0.8 × 0.15 × 0.9 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 0.8m wide, 0.15m high, 0.9m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape squat. 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/bunker-shelter-construction-squat-toilet-platform-c1490bbc","cdnUrl":"https://cdn.3dassets.dev/assets/23353/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-squat-toilet-platform-c1490bbc","thumbnailUrl":"https://cdn.3dassets.dev/assets/23353/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23353/v1/poster.webp","blurhash":"U4E3Cv~q00WB_3IUM{-;004nE1M{9E-;D*IU","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":10608,"triangles":168,"vertices":504,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000106708816524,0.000016027184104178138,-0.44999998807907104],"max":[0.4000106708816524,0.1499839787763603,0.44999998807907104]},"sizeMeters":[0.8,0.15,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:33.466Z","updatedAt":"2026-10-25T15:45:23.649Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23353/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SquatToiletPlatformUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23353/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23353/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23353/v1/model.glb\" alt=\"Squat Toilet Platform (Underground Bunker and Survivor Hideout)\" 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/23353/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/23353/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23356","slug":"bunker-shelter-construction-handwash-station-3e410107","title":"Handwash Station (Underground Bunker and Survivor Hideout)","summary":"Handwash Station: 0.7 × 1 × 0.5 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 0.7m wide, 1m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape sink. 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/bunker-shelter-construction-handwash-station-3e410107","cdnUrl":"https://cdn.3dassets.dev/assets/23356/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-handwash-station-3e410107","thumbnailUrl":"https://cdn.3dassets.dev/assets/23356/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23356/v1/poster.webp","blurhash":"UDB|Nd%M00M{~pt79GM{00Rj-:bH00Rk?aof","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":22068,"triangles":408,"vertices":1224,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0,-0.25001067722066006],"max":[0.3499999940395355,1.2070541381835938,0.25001067722066006]},"sizeMeters":[0.7,1.207,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:35.165Z","updatedAt":"2026-10-06T02:19:38.513Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23356/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandwashStationUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23356/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23356/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23356/v1/model.glb\" alt=\"Handwash Station (Underground Bunker and Survivor Hideout)\" 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/23356/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/23356/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23354","slug":"bunker-shelter-construction-utility-wash-tub-c2cb9d80","title":"Utility Wash Tub (Underground Bunker and Survivor Hideout)","summary":"Utility Wash Tub: 1 × 0.75 × 0.65 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 1m wide, 0.75m high, 0.65m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape tub. 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/bunker-shelter-construction-utility-wash-tub-c2cb9d80","cdnUrl":"https://cdn.3dassets.dev/assets/23354/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-utility-wash-tub-c2cb9d80","thumbnailUrl":"https://cdn.3dassets.dev/assets/23354/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23354/v1/poster.webp","blurhash":"UYFFpextD*t6~pxuM|WBD%t6fPRkD%f6RjWB","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":9684,"triangles":152,"vertices":456,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.0000022829277462332875,-0.3249916074098941],"max":[0.5,0.7499832088593237,0.3249916074098941]},"sizeMeters":[1,0.75,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:34.959Z","updatedAt":"2026-10-06T07:43:56.154Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23354/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityWashTubUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23354/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23354/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23354/v1/model.glb\" alt=\"Utility Wash Tub (Underground Bunker and Survivor Hideout)\" 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/23354/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/23354/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23355","slug":"bunker-shelter-construction-shower-tray-53c9c02b","title":"Shower Tray (Underground Bunker and Survivor Hideout)","summary":"Shower Tray: 0.9 × 0.15 × 0.9 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 0.9m wide, 0.15m high, 0.9m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape shower. 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/bunker-shelter-construction-shower-tray-53c9c02b","cdnUrl":"https://cdn.3dassets.dev/assets/23355/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shower-tray-53c9c02b","thumbnailUrl":"https://cdn.3dassets.dev/assets/23355/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23355/v1/poster.webp","blurhash":"U4DcXN~q00oh?bRjM{%L009F4.D%M_x]D%9G","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":9948,"triangles":156,"vertices":468,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0.000016027184104178138,-0.44999998807907104],"max":[0.44999998807907104,0.1499839787763603,0.44999998807907104]},"sizeMeters":[0.9,0.15,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:34.055Z","updatedAt":"2026-10-05T20:32:39.930Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23355/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShowerTrayUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23355/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23355/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23355/v1/model.glb\" alt=\"Shower Tray (Underground Bunker and Survivor Hideout)\" 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/23355/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/23355/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23357","slug":"bunker-shelter-construction-shower-curtain-frame-4d85dba5","title":"Shower Curtain Frame (Underground Bunker and Survivor Hideout)","summary":"Shower Curtain Frame: 1 × 2.2 × 1 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 1m wide, 2.2m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof open; walls canvas. 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/bunker-shelter-construction-shower-curtain-frame-4d85dba5","cdnUrl":"https://cdn.3dassets.dev/assets/23357/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shower-curtain-frame-4d85dba5","thumbnailUrl":"https://cdn.3dassets.dev/assets/23357/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23357/v1/poster.webp","blurhash":"U28gToVs00.7[WS}F1R700R*.js:?YoeM#jG","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":140408,"triangles":2304,"vertices":6912,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5837100176059662,0,-0.5737282934342225],"max":[0.5837499831464943,1.652400016784668,0.5737282934342225]},"sizeMeters":[1.167,1.652,1.147],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:34.248Z","updatedAt":"2026-10-25T11:37:51.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23357/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShowerCurtainFrameUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23357/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23357/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23357/v1/model.glb\" alt=\"Shower Curtain Frame (Underground Bunker and Survivor Hideout)\" 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/23357/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/23357/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23358","slug":"bunker-shelter-construction-waste-bin-foot-pedal-f50124e7","title":"Waste Bin Foot Pedal (Underground Bunker and Survivor Hideout)","summary":"Waste Bin Foot Pedal: 0.45 × 0.7 × 0.45 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.45m wide, 0.7m high, 0.45m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape bin. 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/bunker-shelter-construction-waste-bin-foot-pedal-f50124e7","cdnUrl":"https://cdn.3dassets.dev/assets/23358/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-waste-bin-foot-pedal-f50124e7","thumbnailUrl":"https://cdn.3dassets.dev/assets/23358/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23358/v1/poster.webp","blurhash":"U17mTw~W0000:hD%Fz^,BpF{RP;1^KofF3kC","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":14168,"triangles":120,"vertices":360,"meshes":3,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.2250160183854749,0,-0.2587660160012891],"max":[0.2250160183854749,0.699999988079071,0.2587548018915127]},"sizeMeters":[0.45,0.7,0.518],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:34.290Z","updatedAt":"2026-10-25T12:57:18.667Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23358/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WasteBinFootPedalUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23358/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23358/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23358/v1/model.glb\" alt=\"Waste Bin Foot Pedal (Underground Bunker and Survivor Hideout)\" 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/23358/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/23358/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23367","slug":"bunker-shelter-construction-greywater-sump-a020574f","title":"Greywater Sump (Underground Bunker and Survivor Hideout)","summary":"Greywater Sump: 0.8 × 0.5 × 0.8 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 0.8m wide, 0.5m high, 0.8m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape sump. 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/bunker-shelter-construction-greywater-sump-a020574f","cdnUrl":"https://cdn.3dassets.dev/assets/23367/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-greywater-sump-a020574f","thumbnailUrl":"https://cdn.3dassets.dev/assets/23367/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23367/v1/poster.webp","blurhash":"U4EyYy~q00xb_3IVWB-:009F4.D%D$?b9Z4o","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":9396,"triangles":144,"vertices":432,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,-0.000015259254965385716,-0.4000000059604645],"max":[0.4000000059604645,0.2000152622351976,0.4000000059604645]},"sizeMeters":[0.8,0.2,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:09:34.764Z","updatedAt":"2026-10-06T07:43:59.569Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23367/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GreywaterSumpUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23367/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23367/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23367/v1/model.glb\" alt=\"Greywater Sump (Underground Bunker and Survivor Hideout)\" 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/23367/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/23367/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23368","slug":"bunker-shelter-construction-laundry-wringer-49093cf0","title":"Laundry Wringer (Underground Bunker and Survivor Hideout)","summary":"Laundry Wringer: 0.8 × 1 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.8m wide, 1m high, 0.6m 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/bunker-shelter-construction-laundry-wringer-49093cf0","cdnUrl":"https://cdn.3dassets.dev/assets/23368/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-laundry-wringer-49093cf0","thumbnailUrl":"https://cdn.3dassets.dev/assets/23368/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23368/v1/poster.webp","blurhash":"U58|^n-;00I:~W%MJ7E200t7%MIA9GozrrMw","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":26544,"triangles":388,"vertices":1164,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4199934978780811,0,-0.3000265499035476],"max":[0.4199934978780811,0.9539999961853027,0.3000265499035476]},"sizeMeters":[0.84,0.954,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:34.978Z","updatedAt":"2026-10-25T14:51:34.014Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23368/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaundryWringerUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23368/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23368/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23368/v1/model.glb\" alt=\"Laundry Wringer (Underground Bunker and Survivor Hideout)\" 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/23368/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/23368/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23369","slug":"bunker-shelter-construction-drying-lines-frame-8cdcb400","title":"Drying Lines Frame (Underground Bunker and Survivor Hideout)","summary":"Drying Lines Frame: 1.5 × 1.7 × 0.6 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1.5m wide, 1.7m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape lines. 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/bunker-shelter-construction-drying-lines-frame-8cdcb400","cdnUrl":"https://cdn.3dassets.dev/assets/23369/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-drying-lines-frame-8cdcb400","thumbnailUrl":"https://cdn.3dassets.dev/assets/23369/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23369/v1/poster.webp","blurhash":"U39GQ@GX0059T0$%I:NG00;4*It5#8oexuJ7","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":23436,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7499725543776347,0,-0.3000045861913232],"max":[0.7499725543776347,1.7000000476837158,0.3000045861913232]},"sizeMeters":[1.5,1.7,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:35.195Z","updatedAt":"2026-10-25T15:02:46.553Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23369/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DryingLinesFrameUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23369/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23369/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23369/v1/model.glb\" alt=\"Drying Lines Frame (Underground Bunker and Survivor Hideout)\" 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/23369/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/23369/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23370","slug":"bunker-shelter-construction-wall-first-aid-recess-2ae87062","title":"Wall First Aid Recess (Underground Bunker and Survivor Hideout)","summary":"Wall First Aid Recess: 0.6 × 0.7 × 0.25 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.6m wide, 0.7m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape cubby; shelves 2. 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/bunker-shelter-construction-wall-first-aid-recess-2ae87062","cdnUrl":"https://cdn.3dassets.dev/assets/23370/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-wall-first-aid-recess-2ae87062","thumbnailUrl":"https://cdn.3dassets.dev/assets/23370/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23370/v1/poster.webp","blurhash":"U17TIE~A02EN}=%0IrI:O9NaIaRT-n-VRp5S","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":14348,"triangles":132,"vertices":396,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.3000106763691651,0,-0.13548397458117706],"max":[0.3000106763691651,0.699999988079071,0.13548968530988753]},"sizeMeters":[0.6,0.7,0.271],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:35.808Z","updatedAt":"2026-10-05T21:28:21.854Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23370/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallFirstAidRecessUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23370/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23370/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23370/v1/model.glb\" alt=\"Wall First Aid Recess (Underground Bunker and Survivor Hideout)\" 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/23370/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/23370/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23371","slug":"bunker-shelter-construction-emergency-lamp-mount-cde19c91","title":"Emergency Lamp Mount (Underground Bunker and Survivor Hideout)","summary":"Emergency Lamp Mount: 0.3 × 0.5 × 0.25 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.3m wide, 0.5m high, 0.25m 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/bunker-shelter-construction-emergency-lamp-mount-cde19c91","cdnUrl":"https://cdn.3dassets.dev/assets/23371/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-emergency-lamp-mount-cde19c91","thumbnailUrl":"https://cdn.3dassets.dev/assets/23371/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23371/v1/poster.webp","blurhash":"U4AwPC~q0000-n-;9Z4oM|M{xt%M9cD*?G_2","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":9696,"triangles":164,"vertices":492,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14999313124145847,6.705522803684971e-10,-0.1250015241804481],"max":[0.14999313124145847,0.4749999940395355,0.1250015241804481]},"sizeMeters":[0.3,0.475,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:35.970Z","updatedAt":"2026-10-25T07:00:29.469Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23371/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmergencyLampMountUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23371/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23371/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23371/v1/model.glb\" alt=\"Emergency Lamp Mount (Underground Bunker and Survivor Hideout)\" 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/23371/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/23371/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23372","slug":"bunker-shelter-construction-shelter-bell-8364f6fc","title":"Shelter Bell (Underground Bunker and Survivor Hideout)","summary":"Shelter Bell: 0.4 × 0.65 × 0.3 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.4m wide, 0.65m high, 0.3m 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/bunker-shelter-construction-shelter-bell-8364f6fc","cdnUrl":"https://cdn.3dassets.dev/assets/23372/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-bell-8364f6fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/23372/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23372/v1/poster.webp","blurhash":"U36@G|xa01Mx}?o39vWTD$NG%g%MivWBo~xu","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":26196,"triangles":372,"vertices":1116,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.20001677784363986,0,-0.14997786857947426],"max":[0.20001677784363986,0.6499999761581421,0.14997786857947426]},"sizeMeters":[0.4,0.65,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:36.034Z","updatedAt":"2026-10-06T07:43:59.573Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23372/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterBellUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23372/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23372/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23372/v1/model.glb\" alt=\"Shelter Bell (Underground Bunker and Survivor Hideout)\" 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/23372/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/23372/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23378","slug":"bunker-shelter-construction-manual-pump-mount-f57fafdb","title":"Manual Pump Mount (Underground Bunker and Survivor Hideout)","summary":"Manual Pump Mount: 0.4 × 1 × 0.4 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.4m wide, 1m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape pump. 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/bunker-shelter-construction-manual-pump-mount-f57fafdb","cdnUrl":"https://cdn.3dassets.dev/assets/23378/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-manual-pump-mount-f57fafdb","thumbnailUrl":"https://cdn.3dassets.dev/assets/23378/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23378/v1/poster.webp","blurhash":"U16kkr_N000000Md?^.S00E1_N~C%2niSLXm","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":13176,"triangles":252,"vertices":756,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.16473535704184167,0,-0.16423059298928344],"max":[0.16473535704184167,0.9188668727874756,0.16423059298928344]},"sizeMeters":[0.329,0.919,0.328],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:36.598Z","updatedAt":"2026-10-25T07:18:16.855Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23378/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ManualPumpMountUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23378/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23378/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23378/v1/model.glb\" alt=\"Manual Pump Mount (Underground Bunker and Survivor Hideout)\" 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/23378/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/23378/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23380","slug":"bunker-shelter-construction-door-seal-storage-063ae64b","title":"Door Seal Storage (Underground Bunker and Survivor Hideout)","summary":"Door Seal Storage: 0.6 × 0.8 × 0.25 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 0.6m wide, 0.8m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape rings. 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/bunker-shelter-construction-door-seal-storage-063ae64b","cdnUrl":"https://cdn.3dassets.dev/assets/23380/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-door-seal-storage-063ae64b","thumbnailUrl":"https://cdn.3dassets.dev/assets/23380/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23380/v1/poster.webp","blurhash":"U06Z??~900My~T=x585R0LM#S*JB}T,@145T","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":58784,"triangles":1056,"vertices":3168,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.299984745215383,0,-0.14498733697904712],"max":[0.299984745215383,0.8360000252723694,0.14498733697904712]},"sizeMeters":[0.6,0.836,0.29],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:36.663Z","updatedAt":"2026-10-25T17:17:58.662Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23380/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DoorSealStorageUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23380/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23380/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23380/v1/model.glb\" alt=\"Door Seal Storage (Underground Bunker and Survivor Hideout)\" 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/23380/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/23380/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23382","slug":"bunker-shelter-construction-utility-valve-wheel-69bf80b6","title":"Utility Valve Wheel (Underground Bunker and Survivor Hideout)","summary":"Utility Valve Wheel: 0.4 × 0.6 × 0.3 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.4m wide, 0.6m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape valve. 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/bunker-shelter-construction-utility-valve-wheel-69bf80b6","cdnUrl":"https://cdn.3dassets.dev/assets/23382/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-utility-valve-wheel-69bf80b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/23382/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23382/v1/poster.webp","blurhash":"U28qZ[?v004T00V??vkXM{M{xu-;RRt8%fNF","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":14720,"triangles":284,"vertices":852,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2000186100568975,6.705522803684971e-10,-0.14999770643688365],"max":[0.2000186100568975,0.7099999785423279,0.14999770643688365]},"sizeMeters":[0.4,0.71,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:36.779Z","updatedAt":"2026-10-06T11:19:47.809Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23382/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityValveWheelUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23382/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23382/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23382/v1/model.glb\" alt=\"Utility Valve Wheel (Underground Bunker and Survivor Hideout)\" 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/23382/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/23382/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23384","slug":"bunker-shelter-construction-floor-cable-bridge-1ca9a400","title":"Floor Cable Bridge (Underground Bunker and Survivor Hideout)","summary":"Floor Cable Bridge: 0.6 × 0.15 × 0.4 m nominal survival ramp assembly.","description":"Original weathered survival ramp. Nominal envelope 0.6m wide, 0.15m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form ramp; cleats 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/bunker-shelter-construction-floor-cable-bridge-1ca9a400","cdnUrl":"https://cdn.3dassets.dev/assets/23384/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-floor-cable-bridge-1ca9a400","thumbnailUrl":"https://cdn.3dassets.dev/assets/23384/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23384/v1/poster.webp","blurhash":"UDA,zlxa00Rj_Nj]IARi00WCx]RP8^s:bbRk","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":15332,"triangles":156,"vertices":468,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000003730930701995039,-0.21755425529542266],"max":[0.3012000024318695,0.2843085242370021,0.21755425529542266]},"sizeMeters":[0.601,0.284,0.435],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:36.968Z","updatedAt":"2026-10-25T15:47:47.389Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23384/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorCableBridgeUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23384/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23384/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23384/v1/model.glb\" alt=\"Floor Cable Bridge (Underground Bunker and Survivor Hideout)\" 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/23384/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/23384/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23383","slug":"bunker-shelter-construction-dehumidifier-cabinet-3c18ca1f","title":"Dehumidifier Cabinet (Underground Bunker and Survivor Hideout)","summary":"Dehumidifier Cabinet: 0.6 × 1 × 0.5 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.6m wide, 1m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape filter; 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/bunker-shelter-construction-dehumidifier-cabinet-3c18ca1f","cdnUrl":"https://cdn.3dassets.dev/assets/23383/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-dehumidifier-cabinet-3c18ca1f","thumbnailUrl":"https://cdn.3dassets.dev/assets/23383/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23383/v1/poster.webp","blurhash":"U9BDf]IU00IU_4jsDiWqafx[9FWBx]ofRPWA","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":13432,"triangles":228,"vertices":684,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3000274666585284,0,-0.27127903073213905],"max":[0.3000274666585284,1,0.27127903073213905]},"sizeMeters":[0.6,1,0.543],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:36.845Z","updatedAt":"2026-10-25T15:43:24.523Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23383/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DehumidifierCabinetUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23383/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23383/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23383/v1/model.glb\" alt=\"Dehumidifier Cabinet (Underground Bunker and Survivor Hideout)\" 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/23383/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/23383/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23386","slug":"bunker-shelter-construction-wall-tool-foldout-2d9df556","title":"Wall Tool Foldout (Underground Bunker and Survivor Hideout)","summary":"Wall Tool Foldout: 0.8 × 0.7 × 0.3 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.8m wide, 0.7m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape fold. 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/bunker-shelter-construction-wall-tool-foldout-2d9df556","cdnUrl":"https://cdn.3dassets.dev/assets/23386/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-wall-tool-foldout-2d9df556","thumbnailUrl":"https://cdn.3dassets.dev/assets/23386/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23386/v1/poster.webp","blurhash":"U66@ZmROS%jF}q%1R.RjE0-Vi_X99]nhnOkX","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":9444,"triangles":48,"vertices":144,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4000000059604645,-0.000023418257375229512,-0.16999294150909586],"max":[0.40119999647140503,0.46906859185098126,0.17001678324331096]},"sizeMeters":[0.801,0.469,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:37.583Z","updatedAt":"2026-10-25T17:20:58.901Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23386/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallToolFoldoutUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23386/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23386/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23386/v1/model.glb\" alt=\"Wall Tool Foldout (Underground Bunker and Survivor Hideout)\" 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/23386/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/23386/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23388","slug":"bunker-shelter-construction-maintenance-hoist-eb394640","title":"Maintenance Hoist (Underground Bunker and Survivor Hideout)","summary":"Maintenance Hoist: 0.8 × 1.7 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.8m wide, 1.7m 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/bunker-shelter-construction-maintenance-hoist-eb394640","cdnUrl":"https://cdn.3dassets.dev/assets/23388/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-maintenance-hoist-eb394640","thumbnailUrl":"https://cdn.3dassets.dev/assets/23388/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23388/v1/poster.webp","blurhash":"U284xk~q0000_N-;DO4n0KV[-BM_uO-pvg4n","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":38644,"triangles":624,"vertices":1872,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.42002281604893105,0,-0.314970781124118],"max":[0.42002281604893105,1.7350000143051147,0.314970781124118]},"sizeMeters":[0.84,1.735,0.63],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:37.790Z","updatedAt":"2026-10-06T07:44:01.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23388/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MaintenanceHoistUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23388/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23388/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23388/v1/model.glb\" alt=\"Maintenance Hoist (Underground Bunker and Survivor Hideout)\" 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/23388/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/23388/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23389","slug":"bunker-shelter-construction-shelter-map-board-ffd8eaec","title":"Shelter Map Board (Underground Bunker and Survivor Hideout)","summary":"Shelter Map Board: 1.2 × 0.8 × 0.1 m nominal survival panel assembly.","description":"Original weathered survival panel. Nominal envelope 1.2m 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/bunker-shelter-construction-shelter-map-board-ffd8eaec","cdnUrl":"https://cdn.3dassets.dev/assets/23389/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-shelter-map-board-ffd8eaec","thumbnailUrl":"https://cdn.3dassets.dev/assets/23389/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23389/v1/poster.webp","blurhash":"U68|hX-U00slnO-VxuIV00Vt~qt7?Hn4IAyD","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":18236,"triangles":192,"vertices":576,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.00002442474265845762,-0.06402594315304055],"max":[0.6012000441551208,0.8012244468487173,0.06400969238444118]},"sizeMeters":[1.201,0.801,0.128],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:09:37.806Z","updatedAt":"2026-10-06T07:44:03.681Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23389/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShelterMapBoardUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23389/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23389/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23389/v1/model.glb\" alt=\"Shelter Map Board (Underground Bunker and Survivor Hideout)\" 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/23389/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/23389/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23395","slug":"bunker-shelter-construction-entrance-boot-scraper-153de7bb","title":"Entrance Boot Scraper (Underground Bunker and Survivor Hideout)","summary":"Entrance Boot Scraper: 0.6 × 0.25 × 0.4 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 0.6m wide, 0.25m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape brush. 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/bunker-shelter-construction-entrance-boot-scraper-153de7bb","cdnUrl":"https://cdn.3dassets.dev/assets/23395/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-entrance-boot-scraper-153de7bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/23395/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23395/v1/poster.webp","blurhash":"U28M?O.502ix~o%2ICMy01OF.6My01Ri%{kq","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":62632,"triangles":1132,"vertices":3396,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.30000001192092896,-7.679298209550822e-7,-0.20799585774772372],"max":[0.30000001192092896,0.2511943718681956,0.20799585774772372]},"sizeMeters":[0.6,0.251,0.416],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:09:38.484Z","updatedAt":"2026-10-13T00:44:43.900Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23395/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EntranceBootScraperUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23395/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23395/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23395/v1/model.glb\" alt=\"Entrance Boot Scraper (Underground Bunker and Survivor Hideout)\" 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/23395/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/23395/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23394","slug":"bunker-shelter-construction-sealed-equipment-cabinet-e6a66dc1","title":"Sealed Equipment Cabinet (Underground Bunker and Survivor Hideout)","summary":"Sealed Equipment Cabinet: 1 × 1.5 × 0.6 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1m wide, 1.5m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape sealed; 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/bunker-shelter-construction-sealed-equipment-cabinet-e6a66dc1","cdnUrl":"https://cdn.3dassets.dev/assets/23394/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-sealed-equipment-cabinet-e6a66dc1","thumbnailUrl":"https://cdn.3dassets.dev/assets/23394/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23394/v1/poster.webp","blurhash":"U16s=_^O030$--oLM#W.b:X5IujIcBxGn7I;","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":18068,"triangles":176,"vertices":528,"meshes":3,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.500030518509476,0,-0.33995879166755716],"max":[0.500030518509476,1.5,0.3399949777307125]},"sizeMeters":[1,1.5,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:39.387Z","updatedAt":"2026-10-25T10:08:45.889Z","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/23394/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 SealedEquipmentCabinetUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/23394/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/23394/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23394/v1/model.glb\" alt=\"Sealed Equipment Cabinet (Underground Bunker and Survivor Hideout)\" 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/23394/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/23394/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"23396","slug":"bunker-shelter-construction-wall-corner-seat-9b349b46","title":"Wall Corner Seat (Underground Bunker and Survivor Hideout)","summary":"Wall Corner Seat: 0.8 × 0.5 × 0.8 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 0.8m wide, 0.5m high, 0.8m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape corner. 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/bunker-shelter-construction-wall-corner-seat-9b349b46","cdnUrl":"https://cdn.3dassets.dev/assets/23396/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-wall-corner-seat-9b349b46","thumbnailUrl":"https://cdn.3dassets.dev/assets/23396/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23396/v1/poster.webp","blurhash":"U69@Fd.R01Q.~nS#D+sB00Dj.Pt701Vu-:jX","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":13756,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.40119313506581367,-0.000028693323918693725,-0.42750000953674316],"max":[0.40000443150347254,0.7500286933239186,0.42750000953674316]},"sizeMeters":[0.801,0.75,0.855],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:09:39.581Z","updatedAt":"2026-10-25T13:14:37.519Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23396/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallCornerSeatUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23396/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23396/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23396/v1/model.glb\" alt=\"Wall Corner Seat (Underground Bunker and Survivor Hideout)\" 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/23396/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/23396/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23398","slug":"bunker-shelter-construction-assembled-su-61d10772-starter-scene","title":"Assembled Survivor Site (Underground Bunker and Survivor Hideout)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/bunker-shelter-construction-assembled-su-61d10772-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/23398/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-assembled-su-61d10772-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/23398/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23398/v1/poster.webp","blurhash":"U5FY#{8{00SiD+00%0x[00t6RP%1~o~qIot7","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":309860,"triangles":18092,"vertices":16241,"meshes":19,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-2.1899960401435323,-0.000003814813684499541,-2.1674367570424495],"max":[2.000042765651394,2.869988707182918,2.9999572820323217]},"sizeMeters":[4.19,2.87,5.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":28,"publishedAt":"2026-09-07T20:09:39.680Z","updatedAt":"2026-10-25T09:17:18.391Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23398/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssembledSurvivorSiteUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23398/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23398/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23398/v1/model.glb\" alt=\"Assembled Survivor Site (Underground Bunker and Survivor Hideout)\" 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/23398/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/23398/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23399","slug":"bunker-shelter-construction-construction-and-service-c-e15ec170","title":"Construction and Service Corner (Underground Bunker and Survivor Hideout)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/bunker-shelter-construction-construction-and-service-c-e15ec170","cdnUrl":"https://cdn.3dassets.dev/assets/23399/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-construction-and-service-c-e15ec170","thumbnailUrl":"https://cdn.3dassets.dev/assets/23399/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23399/v1/poster.webp","blurhash":"U5G91}0000IoIX0K%1xu00?a^+%M?a~WE1j]","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":321752,"triangles":14540,"vertices":13520,"meshes":19,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.193026259548788,-0.000003814813684499541,-2.1674367570424495],"max":[2.000042765651394,2.869988707182918,2.9999572820323217]},"sizeMeters":[4.193,2.87,5.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":13,"publishedAt":"2026-09-07T20:09:38.798Z","updatedAt":"2026-10-25T10:15:22.093Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23399/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConstructionAndServiceCornerUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23399/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23399/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23399/v1/model.glb\" alt=\"Construction and Service Corner (Underground Bunker and Survivor Hideout)\" 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/23399/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/23399/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}