{"data":{"id":63,"slug":"rural-scavenging-settlements","title":"Rural Scavenging Settlements","summary":"Rural Scavenging Settlements: 76 distinct designs plus explicitly tracked variants and two composed scenes.","description":"Original CC0 survival construction assets in the weathered-survival-v1 family. Itemised scope, states and honest static limitations in blueprint.json.","url":"https://3dassets.dev/packs/rural-scavenging-settlements","coverUrl":"https://cdn.3dassets.dev/assets/10348/v1/poster.webp","assetCount":90,"aiGenerated":true,"aiGeneratedAssetCount":90,"aiModels":["GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":7406812,"totalTriangles":139012,"starterScene":{"id":"10348","slug":"rural-scavenging-settlements-assembled-s-7b8444cb-starter-scene","title":"Assembled Survivor Site (Rural Scavenging Settlements)","summary":"Composed example for Rural Scavenging Settlements.","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/rural-scavenging-settlements-assembled-s-7b8444cb-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/10348/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-assembled-s-7b8444cb-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/10348/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10348/v1/poster.webp","blurhash":"UABW6.0058-:IpRktQt700~pRPIUs;xtRPRj","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":324592,"triangles":13728,"vertices":12770,"meshes":20,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-2.1602347909114505,-0.00005490947519892764,-2.1274453006359852],"max":[2.000042765651394,4.267064666054264,2.883498641926328]},"sizeMeters":[4.16,4.267,5.011],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:22.233Z","updatedAt":"2026-09-06T14:34:22.862Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10348/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssembledSurvivorSiteRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10348/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10348/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10348/v1/model.glb\" alt=\"Assembled Survivor Site (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10348/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10348/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"10092","slug":"rural-scavenging-settlements-cottage-solid-wall-3a315b31","title":"Cottage Solid Wall (Rural Scavenging Settlements)","summary":"Cottage Solid Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern batten; mat wood; opening null. 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/rural-scavenging-settlements-cottage-solid-wall-3a315b31","cdnUrl":"https://cdn.3dassets.dev/assets/10092/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-solid-wall-3a315b31","thumbnailUrl":"https://cdn.3dassets.dev/assets/10092/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10092/v1/poster.webp","blurhash":"U06s+$[@012:%1^hVu0O1Gi~||X#nT=^n%0i","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":95820,"triangles":1500,"vertices":4500,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.12744530063598533],"max":[1.000042765651394,2.4000000953674316,0.1499980802194685]},"sizeMeters":[2,2.4,0.277],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:20.383Z","updatedAt":"2026-09-06T14:33:21.217Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10092/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageSolidWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10092/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10092/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10092/v1/model.glb\" alt=\"Cottage Solid Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10092/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10092/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10091","slug":"rural-scavenging-settlements-cottage-entry-wall-ed268861","title":"Cottage Entry Wall (Rural Scavenging Settlements)","summary":"Cottage Entry Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern batten; mat wood; opening door. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-cottage-entry-wall-ed268861","cdnUrl":"https://cdn.3dassets.dev/assets/10091/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-entry-wall-ed268861","thumbnailUrl":"https://cdn.3dassets.dev/assets/10091/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10091/v1/poster.webp","blurhash":"U15;8V%20Nad}?-V9_9]FwkWxGRjtQxaWEEf","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":112384,"triangles":1776,"vertices":5328,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1500045837370678],"max":[1.000042765651394,2.4000000953674316,0.1500045837370678]},"sizeMeters":[2,2.4,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:20.287Z","updatedAt":"2026-09-06T14:33:21.116Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10091/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageEntryWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10091/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10091/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10091/v1/model.glb\" alt=\"Cottage Entry Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10091/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10091/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10089","slug":"rural-scavenging-settlements-cottage-window-wall-d35c3a11","title":"Cottage Window Wall (Rural Scavenging Settlements)","summary":"Cottage Window Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern batten; mat wood; opening window. 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/rural-scavenging-settlements-cottage-window-wall-d35c3a11","cdnUrl":"https://cdn.3dassets.dev/assets/10089/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-window-wall-d35c3a11","thumbnailUrl":"https://cdn.3dassets.dev/assets/10089/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10089/v1/poster.webp","blurhash":"U16%QT^404AD=_-AV]EN9]so$*Nb=x-AI=9^","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":134728,"triangles":2148,"vertices":6444,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:20.367Z","updatedAt":"2026-09-06T14:33:20.992Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10089/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageWindowWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10089/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10089/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10089/v1/model.glb\" alt=\"Cottage Window Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10089/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10089/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10090","slug":"rural-scavenging-settlements-cottage-double-window-wal-7b6a1392","title":"Cottage Double Window Wall (Rural Scavenging Settlements)","summary":"Cottage Double Window Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern batten; mat wood; opening double-window. 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/rural-scavenging-settlements-cottage-double-window-wal-7b6a1392","cdnUrl":"https://cdn.3dassets.dev/assets/10090/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-double-window-wal-7b6a1392","thumbnailUrl":"https://cdn.3dassets.dev/assets/10090/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10090/v1/poster.webp","blurhash":"U16s]1^N049d[c,@OmFs6es.+$RS=w-AI=9^","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":152052,"triangles":2436,"vertices":7308,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:20.266Z","updatedAt":"2026-09-06T14:33:21.022Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10090/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageDoubleWindowWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10090/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10090/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10090/v1/model.glb\" alt=\"Cottage Double Window Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10090/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10090/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10101","slug":"rural-scavenging-settlements-cottage-vent-wall-928951c4","title":"Cottage Vent Wall (Rural Scavenging Settlements)","summary":"Cottage Vent Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern batten; mat wood; opening vent. 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/rural-scavenging-settlements-cottage-vent-wall-928951c4","cdnUrl":"https://cdn.3dassets.dev/assets/10101/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-vent-wall-928951c4","thumbnailUrl":"https://cdn.3dassets.dev/assets/10101/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10101/v1/poster.webp","blurhash":"U16?=2^4035,^O-ARkEN5lso-BR+-T$%NKEN","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":120316,"triangles":1908,"vertices":5724,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:23.080Z","updatedAt":"2026-09-06T14:33:23.711Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10101/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageVentWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10101/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10101/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10101/v1/model.glb\" alt=\"Cottage Vent Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10101/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10101/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10102","slug":"rural-scavenging-settlements-cottage-service-wall-9ab8567a","title":"Cottage Service Wall (Rural Scavenging Settlements)","summary":"Cottage Service Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern batten; mat wood; opening counter. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-cottage-service-wall-9ab8567a","cdnUrl":"https://cdn.3dassets.dev/assets/10102/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-service-wall-9ab8567a","thumbnailUrl":"https://cdn.3dassets.dev/assets/10102/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10102/v1/poster.webp","blurhash":"U06?_G}r025T~9}YQ=0~05s:~RaM^6}YKJ0~","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":149136,"triangles":2388,"vertices":7164,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:23.002Z","updatedAt":"2026-09-06T14:33:23.808Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10102/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageServiceWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10102/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10102/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10102/v1/model.glb\" alt=\"Cottage Service Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10102/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10102/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10105","slug":"rural-scavenging-settlements-stone-cottage-solid-wall-1f90aa8b","title":"Stone Cottage Solid Wall (Rural Scavenging Settlements)","summary":"Stone Cottage Solid Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern masonry; mat ivory; opening null. 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/rural-scavenging-settlements-stone-cottage-solid-wall-1f90aa8b","cdnUrl":"https://cdn.3dassets.dev/assets/10105/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-solid-wall-1f90aa8b","thumbnailUrl":"https://cdn.3dassets.dev/assets/10105/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10105/v1/poster.webp","blurhash":"U7Gbn*ET00RO.8?aE10100xn~qkD%L%fNG9F","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":307136,"triangles":6360,"vertices":19080,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.12744530063598533],"max":[1.000042765651394,2.4000000953674316,0.1499980802194685]},"sizeMeters":[2,2.4,0.277],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:23.276Z","updatedAt":"2026-09-06T14:33:23.991Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10105/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCottageSolidWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10105/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10105/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10105/v1/model.glb\" alt=\"Stone Cottage Solid Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10105/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10105/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10103","slug":"rural-scavenging-settlements-stone-cottage-entry-wall-eed52e82","title":"Stone Cottage Entry Wall (Rural Scavenging Settlements)","summary":"Stone Cottage Entry Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern masonry; mat ivory; opening door. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-stone-cottage-entry-wall-eed52e82","cdnUrl":"https://cdn.3dassets.dev/assets/10103/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-entry-wall-eed52e82","thumbnailUrl":"https://cdn.3dassets.dev/assets/10103/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10103/v1/poster.webp","blurhash":"U6Eo=3-;00IV~p?b9G0000WB?HRjtQ-;af4n","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":262208,"triangles":5424,"vertices":16272,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1500045837370678],"max":[1.000042765651394,2.4000000953674316,0.1500045837370678]},"sizeMeters":[2,2.4,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:23.056Z","updatedAt":"2026-09-06T14:33:23.864Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10103/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCottageEntryWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10103/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10103/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10103/v1/model.glb\" alt=\"Stone Cottage Entry Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10103/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10103/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10113","slug":"rural-scavenging-settlements-stone-cottage-window-wall-b9a2ae65","title":"Stone Cottage Window Wall (Rural Scavenging Settlements)","summary":"Stone Cottage Window Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern masonry; mat ivory; opening window. 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/rural-scavenging-settlements-stone-cottage-window-wall-b9a2ae65","cdnUrl":"https://cdn.3dassets.dev/assets/10113/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-window-wall-b9a2ae65","thumbnailUrl":"https://cdn.3dassets.dev/assets/10113/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10113/v1/poster.webp","blurhash":"U6F=]m?b00IB_2_3M|0000WB~pWE.7?aD*4n","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":280664,"triangles":5808,"vertices":17424,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:25.474Z","updatedAt":"2026-09-06T14:33:26.473Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10113/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCottageWindowWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10113/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10113/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10113/v1/model.glb\" alt=\"Stone Cottage Window Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10113/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10113/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10114","slug":"rural-scavenging-settlements-stone-cottage-double-wind-082f6584","title":"Stone Cottage Double Window Wall (Rural Scavenging Settlements)","summary":"Stone Cottage Double Window Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern masonry; mat ivory; opening double-window. 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/rural-scavenging-settlements-stone-cottage-double-wind-082f6584","cdnUrl":"https://cdn.3dassets.dev/assets/10114/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-double-wind-082f6584","thumbnailUrl":"https://cdn.3dassets.dev/assets/10114/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10114/v1/poster.webp","blurhash":"U6F=?e?b00D*_2_2M|0000WA~pj^?b?aE14n","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":336000,"triangles":6960,"vertices":20880,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:26.358Z","updatedAt":"2026-09-06T14:33:26.663Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10114/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCottageDoubleWindowWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10114/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10114/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10114/v1/model.glb\" alt=\"Stone Cottage Double Window Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10114/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10114/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10115","slug":"rural-scavenging-settlements-stone-cottage-vent-wall-6ecf8bcc","title":"Stone Cottage Vent Wall (Rural Scavenging Settlements)","summary":"Stone Cottage Vent Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern masonry; mat ivory; opening vent. 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/rural-scavenging-settlements-stone-cottage-vent-wall-6ecf8bcc","cdnUrl":"https://cdn.3dassets.dev/assets/10115/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-vent-wall-6ecf8bcc","thumbnailUrl":"https://cdn.3dassets.dev/assets/10115/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10115/v1/poster.webp","blurhash":"U8G91{-=00D*?a?bRj4n00WB~pfS%M-:M{9G","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":333068,"triangles":6900,"vertices":20700,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:25.858Z","updatedAt":"2026-09-06T14:33:26.666Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10115/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCottageVentWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10115/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10115/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10115/v1/model.glb\" alt=\"Stone Cottage Vent Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10115/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10115/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10116","slug":"rural-scavenging-settlements-stone-cottage-service-wal-b9c9d9ea","title":"Stone Cottage Service Wall (Rural Scavenging Settlements)","summary":"Stone Cottage Service Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern masonry; mat ivory; opening counter. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-stone-cottage-service-wal-b9c9d9ea","cdnUrl":"https://cdn.3dassets.dev/assets/10116/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-service-wal-b9c9d9ea","thumbnailUrl":"https://cdn.3dassets.dev/assets/10116/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10116/v1/poster.webp","blurhash":"U5F$U@?c00D*_2_3R+0000WU~pRl_3?b9G00","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":259932,"triangles":5376,"vertices":16128,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:26.379Z","updatedAt":"2026-09-06T14:33:26.932Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10116/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCottageServiceWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10116/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10116/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10116/v1/model.glb\" alt=\"Stone Cottage Service Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10116/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10116/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10125","slug":"rural-scavenging-settlements-utility-shed-solid-wall-b57f2f04","title":"Utility Shed Solid Wall (Rural Scavenging Settlements)","summary":"Utility Shed Solid Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern corrugated; mat metal; opening null. 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/rural-scavenging-settlements-utility-shed-solid-wall-b57f2f04","cdnUrl":"https://cdn.3dassets.dev/assets/10125/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-solid-wall-b57f2f04","thumbnailUrl":"https://cdn.3dassets.dev/assets/10125/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10125/v1/poster.webp","blurhash":"U39%^*x]00IU_N%gD$DiIAt7xvV@%g-;Mx8_","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":73128,"triangles":1500,"vertices":4500,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.12747493801420143],"max":[1.000042765651394,2.4000000953674316,0.1499749463588517]},"sizeMeters":[2,2.4,0.277],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:30.606Z","updatedAt":"2026-09-06T14:33:31.118Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10125/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityShedSolidWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10125/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10125/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10125/v1/model.glb\" alt=\"Utility Shed Solid Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10125/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10125/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10126","slug":"rural-scavenging-settlements-utility-shed-entry-wall-132b6547","title":"Utility Shed Entry Wall (Rural Scavenging Settlements)","summary":"Utility Shed Entry Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern corrugated; mat metal; opening door. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-utility-shed-entry-wall-132b6547","cdnUrl":"https://cdn.3dassets.dev/assets/10126/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-entry-wall-132b6547","thumbnailUrl":"https://cdn.3dassets.dev/assets/10126/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10126/v1/poster.webp","blurhash":"U58z}oxu00WB_Nx]9FD$aej[V@Rjx]x]RjD%","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":86356,"triangles":1776,"vertices":5328,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.1500045837370678],"max":[1.000042765651394,2.4000000953674316,0.1500045837370678]},"sizeMeters":[2,2.4,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:28.487Z","updatedAt":"2026-09-06T14:33:29.346Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10126/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityShedEntryWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10126/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10126/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10126/v1/model.glb\" alt=\"Utility Shed Entry Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10126/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10126/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10127","slug":"rural-scavenging-settlements-utility-shed-window-wall-b2ea6197","title":"Utility Shed Window Wall (Rural Scavenging Settlements)","summary":"Utility Shed Window Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern corrugated; mat metal; opening window. 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/rural-scavenging-settlements-utility-shed-window-wall-b2ea6197","cdnUrl":"https://cdn.3dassets.dev/assets/10127/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-window-wall-b2ea6197","thumbnailUrl":"https://cdn.3dassets.dev/assets/10127/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10127/v1/poster.webp","blurhash":"U49j[o%M00M{~q%MD%D%9Foz%LV@.8%MIAD$","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":104240,"triangles":2148,"vertices":6444,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:28.815Z","updatedAt":"2026-09-06T14:33:29.373Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10127/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityShedWindowWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10127/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10127/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10127/v1/model.glb\" alt=\"Utility Shed Window Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10127/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10127/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10128","slug":"rural-scavenging-settlements-utility-shed-double-windo-9966d4dd","title":"Utility Shed Double Window Wall (Rural Scavenging Settlements)","summary":"Utility Shed Double Window Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern corrugated; mat metal; opening double-window. 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/rural-scavenging-settlements-utility-shed-double-windo-9966d4dd","cdnUrl":"https://cdn.3dassets.dev/assets/10128/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-double-windo-9966d4dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/10128/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10128/v1/poster.webp","blurhash":"U49tZG%M00NF?w%MIAD%IAbIo|n$.8%MIT9F","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":118092,"triangles":2436,"vertices":7308,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:28.947Z","updatedAt":"2026-09-06T14:33:29.549Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10128/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityShedDoubleWindowWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10128/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10128/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10128/v1/model.glb\" alt=\"Utility Shed Double Window Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10128/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10128/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10138","slug":"rural-scavenging-settlements-utility-shed-vent-wall-2ef4ab8a","title":"Utility Shed Vent Wall (Rural Scavenging Settlements)","summary":"Utility Shed Vent Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern corrugated; mat metal; opening vent. 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/rural-scavenging-settlements-utility-shed-vent-wall-2ef4ab8a","cdnUrl":"https://cdn.3dassets.dev/assets/10138/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-vent-wall-2ef4ab8a","thumbnailUrl":"https://cdn.3dassets.dev/assets/10138/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10138/v1/poster.webp","blurhash":"U59j[n%200NF_N%MD$IADiof%MWA%NxvM{IT","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":92708,"triangles":1908,"vertices":5724,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:31.259Z","updatedAt":"2026-09-06T14:33:31.952Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10138/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityShedVentWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10138/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10138/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10138/v1/model.glb\" alt=\"Utility Shed Vent Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10138/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10138/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10137","slug":"rural-scavenging-settlements-utility-shed-service-wall-8005f126","title":"Utility Shed Service Wall (Rural Scavenging Settlements)","summary":"Utility Shed Service Wall: 2 × 2.4 × 0.22 m nominal survival wall assembly.","description":"Original weathered survival wall. Nominal envelope 2m wide, 2.4m high, 0.22m deep; applied framing, handles or rails can extend beyond this. Construction: form wall; pattern corrugated; mat metal; opening counter. Metres, +Y up, +Z front; grounded at y=0. Structural-edge ports on nominal left and right boundaries; 2m modules use a centred grid origin. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-utility-shed-service-wall-8005f126","cdnUrl":"https://cdn.3dassets.dev/assets/10137/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-service-wall-8005f126","thumbnailUrl":"https://cdn.3dassets.dev/assets/10137/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10137/v1/poster.webp","blurhash":"U49tZG%200Na_N%gIAD$8_kC%gae.8%MIT9F","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":115764,"triangles":2388,"vertices":7164,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.000042765651394,0,-0.16023479091145026],"max":[1.000042765651394,2.4000000953674316,0.19983480559803474]},"sizeMeters":[2,2.4,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:31.189Z","updatedAt":"2026-09-06T14:33:31.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10137/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityShedServiceWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10137/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10137/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10137/v1/model.glb\" alt=\"Utility Shed Service Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10137/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10137/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10139","slug":"rural-scavenging-settlements-cottage-gable-roof-ea8a585b","title":"Cottage Gable Roof (Rural Scavenging Settlements)","summary":"Cottage Gable Roof: 2 × 1.2 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape gable. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-cottage-gable-roof-ea8a585b","cdnUrl":"https://cdn.3dassets.dev/assets/10139/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-gable-roof-ea8a585b","thumbnailUrl":"https://cdn.3dassets.dev/assets/10139/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10139/v1/poster.webp","blurhash":"U37d2rFs00$RuPNGDixb0#rXxatmm7nN^+tl","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":29160,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0384111404418945,0.00004827901282156155,-1.0000019390436714],"max":[1.0384111404418945,1.3670646660542631,1.0000019390436714]},"sizeMeters":[2.077,1.367,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:31.233Z","updatedAt":"2026-09-06T14:33:32.140Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10139/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageGableRoofRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10139/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10139/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10139/v1/model.glb\" alt=\"Cottage Gable Roof (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10139/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10139/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10145","slug":"rural-scavenging-settlements-porch-lean-to-roof-e124cc94","title":"Porch Lean To Roof (Rural Scavenging Settlements)","summary":"Porch Lean To Roof: 2 × 1.2 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape shed. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-porch-lean-to-roof-e124cc94","cdnUrl":"https://cdn.3dassets.dev/assets/10145/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-porch-lean-to-roof-e124cc94","thumbnailUrl":"https://cdn.3dassets.dev/assets/10145/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10145/v1/poster.webp","blurhash":"U25qLr?EEMsA5B9woIbb0fIoxGWF^e^h$*w]","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":24372,"triangles":252,"vertices":756,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0257247686386108,0.00000532229986383026,-1.0000558239600117],"max":[1.0257247686386108,1.3078693572655657,1.0000558239600117]},"sizeMeters":[2.051,1.308,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:32.881Z","updatedAt":"2026-09-06T14:33:33.801Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10145/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PorchLeanToRoofRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10145/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10145/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10145/v1/model.glb\" alt=\"Porch Lean To Roof (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10145/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10145/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10150","slug":"rural-scavenging-settlements-cross-gable-valley-63a4c0f7","title":"Cross Gable Valley (Rural Scavenging Settlements)","summary":"Cross Gable Valley: 2 × 1.2 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape valley. 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/rural-scavenging-settlements-cross-gable-valley-63a4c0f7","cdnUrl":"https://cdn.3dassets.dev/assets/10150/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cross-gable-valley-63a4c0f7","thumbnailUrl":"https://cdn.3dassets.dev/assets/10150/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10150/v1/poster.webp","blurhash":"U26?}S}U0#5o;3xGOXbq0zJ-oMNIKiIpRjJU","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":35996,"triangles":408,"vertices":1224,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0384111404418945,0.00004827901282156155,-1.0300447797412915],"max":[1.0384111404418945,1.2969609506472126,1.0300447797412915]},"sizeMeters":[2.077,1.297,2.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:33.732Z","updatedAt":"2026-09-06T14:33:34.538Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10150/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CrossGableValleyRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10150/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10150/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10150/v1/model.glb\" alt=\"Cross Gable Valley (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10150/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10150/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10151","slug":"rural-scavenging-settlements-hipped-cottage-roof-e7520fc7","title":"Hipped Cottage Roof (Rural Scavenging Settlements)","summary":"Hipped Cottage Roof: 2 × 1.2 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape hip. 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/rural-scavenging-settlements-hipped-cottage-roof-e7520fc7","cdnUrl":"https://cdn.3dassets.dev/assets/10151/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-hipped-cottage-roof-e7520fc7","thumbnailUrl":"https://cdn.3dassets.dev/assets/10151/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10151/v1/poster.webp","blurhash":"U37]^g%J02IW1QV]rpxD0zJ7$*oM{xt5?HS}","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":25312,"triangles":312,"vertices":936,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0225493216655017,-0.000019506586370288126,-1.0490583181381226],"max":[1.0225493216655017,1.3528493784037654,1.0490583181381226]},"sizeMeters":[2.045,1.353,2.098],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:33.619Z","updatedAt":"2026-09-06T14:33:34.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10151/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HippedCottageRoofRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10151/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10151/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10151/v1/model.glb\" alt=\"Hipped Cottage Roof (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10151/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10151/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10152","slug":"rural-scavenging-settlements-barn-mansard-roof-42e19f51","title":"Barn Mansard Roof (Rural Scavenging Settlements)","summary":"Barn Mansard Roof: 2 × 1.2 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape mansard. 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/rural-scavenging-settlements-barn-mansard-roof-42e19f51","cdnUrl":"https://cdn.3dassets.dev/assets/10152/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-barn-mansard-roof-42e19f51","thumbnailUrl":"https://cdn.3dassets.dev/assets/10152/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10152/v1/poster.webp","blurhash":"U079^PC302:BO?ItR6]%01$gpHi$0zX4~9KO","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":32144,"triangles":360,"vertices":1080,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0461537837982178,-0.00006541292067907545,-1.0000511175851186],"max":[1.0461537837982178,1.284296121996607,1.0000511175851186]},"sizeMeters":[2.092,1.284,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:33.779Z","updatedAt":"2026-09-06T14:33:34.736Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10152/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarnMansardRoofRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10152/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10152/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10152/v1/model.glb\" alt=\"Barn Mansard Roof (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10152/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10152/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10157","slug":"rural-scavenging-settlements-washhouse-barrel-roof-c6f18437","title":"Washhouse Barrel Roof (Rural Scavenging Settlements)","summary":"Washhouse Barrel Roof: 2 × 1.2 × 2 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 2m wide, 1.2m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape barrel. 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/rural-scavenging-settlements-washhouse-barrel-roof-c6f18437","cdnUrl":"https://cdn.3dassets.dev/assets/10157/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-washhouse-barrel-roof-c6f18437","thumbnailUrl":"https://cdn.3dassets.dev/assets/10157/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10157/v1/poster.webp","blurhash":"U06%Tc2Y02|^=|5nE2}V01xC^5Ej0z=a}?Or","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":52896,"triangles":648,"vertices":1944,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0497018098831177,-0.00003431684625165854,-0.9999829705344254],"max":[1.0497018098831177,1.2704870546544793,0.9999829705344254]},"sizeMeters":[2.099,1.271,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:35.688Z","updatedAt":"2026-09-06T14:33:36.435Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10157/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WashhouseBarrelRoofRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10157/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10157/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10157/v1/model.glb\" alt=\"Washhouse Barrel Roof (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10157/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10157/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10162","slug":"rural-scavenging-settlements-cottage-footing-cff905e1","title":"Cottage Footing (Rural Scavenging Settlements)","summary":"Cottage Footing: 2 × 0.5 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck planks; support piers. 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/rural-scavenging-settlements-cottage-footing-cff905e1","cdnUrl":"https://cdn.3dassets.dev/assets/10162/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-footing-cff905e1","thumbnailUrl":"https://cdn.3dassets.dev/assets/10162/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10162/v1/poster.webp","blurhash":"U48Db0xt5qj^Q-V[ozox00M|VXR%.mtQjvV{","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":85928,"triangles":1404,"vertices":4212,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.9940183721427045,0.000022583227835076825,-1],"max":[0.9940183721427045,0.4999887087475403,1]},"sizeMeters":[1.988,0.5,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:37.262Z","updatedAt":"2026-09-06T14:33:38.242Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10162/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageFootingRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10162/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10162/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10162/v1/model.glb\" alt=\"Cottage Footing (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10162/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10162/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10163","slug":"rural-scavenging-settlements-cellar-floor-599928ce","title":"Cellar Floor (Rural Scavenging Settlements)","summary":"Cellar Floor: 2 × 0.5 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck stone; support skirt. 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/rural-scavenging-settlements-cellar-floor-599928ce","cdnUrl":"https://cdn.3dassets.dev/assets/10163/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-floor-599928ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/10163/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10163/v1/poster.webp","blurhash":"U5Fr-I~q00WA~qRjM{t7004n~pM|00xua$IU","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":26916,"triangles":540,"vertices":1620,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00003814843486821262,-1],"max":[1,0.5000381478388218,1]},"sizeMeters":[2,0.5,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:36.251Z","updatedAt":"2026-09-06T14:33:37.301Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10163/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellarFloorRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10163/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10163/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10163/v1/model.glb\" alt=\"Cellar Floor (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10163/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10163/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10164","slug":"rural-scavenging-settlements-porch-platform-414d8d09","title":"Porch Platform (Rural Scavenging Settlements)","summary":"Porch Platform: 2 × 0.5 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck planks; support cross. 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/rural-scavenging-settlements-porch-platform-414d8d09","cdnUrl":"https://cdn.3dassets.dev/assets/10164/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-porch-platform-414d8d09","thumbnailUrl":"https://cdn.3dassets.dev/assets/10164/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10164/v1/poster.webp","blurhash":"U16%cu-m0OVv}rVwI;th03Iq^5XQ0}tg$%Mi","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":93284,"triangles":1452,"vertices":4356,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.9940183721427045,-0.00003814843486821262,-1],"max":[0.9940183721427045,0.5000381478388218,1]},"sizeMeters":[1.988,0.5,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:36.493Z","updatedAt":"2026-09-06T14:33:37.330Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10164/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PorchPlatformRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10164/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10164/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10164/v1/model.glb\" alt=\"Porch Platform (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10164/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10164/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10168","slug":"rural-scavenging-settlements-cellar-access-floor-354b0a6c","title":"Cellar Access Floor (Rural Scavenging Settlements)","summary":"Cellar Access Floor: 2 × 0.5 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck hatch; support skirt. 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/rural-scavenging-settlements-cellar-access-floor-354b0a6c","cdnUrl":"https://cdn.3dassets.dev/assets/10168/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-access-floor-354b0a6c","thumbnailUrl":"https://cdn.3dassets.dev/assets/10168/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10168/v1/poster.webp","blurhash":"UDATD%%2E2bFDiWBt7of00M|V@WB_Nt7WBWV","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":131248,"triangles":2160,"vertices":6480,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.00001892117785187719,-1],"max":[1,0.4999887087475403,1]},"sizeMeters":[2,0.5,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:38.858Z","updatedAt":"2026-09-06T14:33:39.254Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10168/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellarAccessFloorRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10168/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10168/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10168/v1/model.glb\" alt=\"Cellar Access Floor (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10168/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10168/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10174","slug":"rural-scavenging-settlements-shed-drain-floor-7009a646","title":"Shed Drain Floor (Rural Scavenging Settlements)","summary":"Shed Drain Floor: 2 × 0.5 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck drain; support crib. 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/rural-scavenging-settlements-shed-drain-floor-7009a646","cdnUrl":"https://cdn.3dassets.dev/assets/10174/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-shed-drain-floor-7009a646","thumbnailUrl":"https://cdn.3dassets.dev/assets/10174/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10174/v1/poster.webp","blurhash":"U16%c$=w02Rj.5SgM{xD01Eg}[S#4pr@xvNK","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":70456,"triangles":1068,"vertices":3204,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.000038148136844995406,-1],"max":[1,0.5600077201970333,1]},"sizeMeters":[2,0.56,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:39.096Z","updatedAt":"2026-09-06T14:33:39.957Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10174/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShedDrainFloorRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10174/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10174/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10174/v1/model.glb\" alt=\"Shed Drain Floor (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10174/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10174/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10175","slug":"rural-scavenging-settlements-loft-access-floor-eb2cca69","title":"Loft Access Floor (Rural Scavenging Settlements)","summary":"Loft Access Floor: 2 × 0.5 × 2 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck stairwell; support bridge. 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/rural-scavenging-settlements-loft-access-floor-eb2cca69","cdnUrl":"https://cdn.3dassets.dev/assets/10175/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-loft-access-floor-eb2cca69","thumbnailUrl":"https://cdn.3dassets.dev/assets/10175/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10175/v1/poster.webp","blurhash":"U15|ft=J0$t6^hf*NIWp0NJR=dI;0hr@Szo1","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":83936,"triangles":1296,"vertices":3888,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.9959715567491684,-0.00003814843486821262,-1],"max":[0.9959715567491684,0.5000381478388218,1]},"sizeMeters":[1.992,0.5,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:39.309Z","updatedAt":"2026-09-06T14:33:39.993Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10175/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoftAccessFloorRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10175/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10175/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10175/v1/model.glb\" alt=\"Loft Access Floor (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10175/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10175/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10178","slug":"rural-scavenging-settlements-cottage-porch-frame-a6798fa5","title":"Cottage Porch Frame (Rural Scavenging Settlements)","summary":"Cottage Porch Frame: 2 × 2.7 × 1.4 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.7m high, 1.4m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof shed; walls none. 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/rural-scavenging-settlements-cottage-porch-frame-a6798fa5","cdnUrl":"https://cdn.3dassets.dev/assets/10178/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-porch-frame-a6798fa5","thumbnailUrl":"https://cdn.3dassets.dev/assets/10178/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10178/v1/poster.webp","blurhash":"U16QM3Om0L=_}@w_9uE$0#Roxai_0fOD}@$L","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":86584,"triangles":1116,"vertices":3348,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.090026210977498,0,-0.7750641182758522],"max":[1.090026210977498,2.765000104904175,0.7750641182758522]},"sizeMeters":[2.18,2.765,1.55],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:40.218Z","updatedAt":"2026-09-06T14:33:40.934Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10178/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottagePorchFrameRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10178/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10178/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10178/v1/model.glb\" alt=\"Cottage Porch Frame (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10178/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10178/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10179","slug":"rural-scavenging-settlements-cottage-entry-vestibule-ce9a0e33","title":"Cottage Entry Vestibule (Rural Scavenging Settlements)","summary":"Cottage Entry Vestibule: 2 × 2.8 × 2 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.8m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof gable; walls door. 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/rural-scavenging-settlements-cottage-entry-vestibule-ce9a0e33","cdnUrl":"https://cdn.3dassets.dev/assets/10179/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-entry-vestibule-ce9a0e33","thumbnailUrl":"https://cdn.3dassets.dev/assets/10179/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10179/v1/poster.webp","blurhash":"U37c~hxu00rp?wNy9Es77gNHQ-xGIqi_xWtl","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":271500,"triangles":3812,"vertices":11436,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.1023434437157655,0,-1.08870350104516],"max":[1.1023434437157655,2.934999942779541,1.08870350104516]},"sizeMeters":[2.205,2.935,2.177],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:41.266Z","updatedAt":"2026-09-06T14:33:41.986Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10179/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageEntryVestibuleRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10179/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10179/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10179/v1/model.glb\" alt=\"Cottage Entry Vestibule (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10179/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10179/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10185","slug":"rural-scavenging-settlements-woodshed-open-bay-bdcd2253","title":"Woodshed Open Bay (Rural Scavenging Settlements)","summary":"Woodshed Open Bay: 2 × 2.6 × 2 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.6m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof shed; walls back. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-woodshed-open-bay-bdcd2253","cdnUrl":"https://cdn.3dassets.dev/assets/10185/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-woodshed-open-bay-bdcd2253","thumbnailUrl":"https://cdn.3dassets.dev/assets/10185/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10185/v1/poster.webp","blurhash":"U16Z%oE#0g^4~A$iE2J80#R+=dNu0#9^-U^5","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":130816,"triangles":1752,"vertices":5256,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0894804830775544,0,-1.0763047271700807],"max":[1.0894804830775544,2.6649999618530273,1.0763047271700807]},"sizeMeters":[2.179,2.665,2.153],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:41.914Z","updatedAt":"2026-09-06T14:33:42.536Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10185/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WoodshedOpenBayRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10185/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10185/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10185/v1/model.glb\" alt=\"Woodshed Open Bay (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10185/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10185/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10186","slug":"rural-scavenging-settlements-outhouse-shell-ee6c9ebc","title":"Outhouse Shell (Rural Scavenging Settlements)","summary":"Outhouse Shell: 1.3 × 2.5 × 1.5 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 1.3m wide, 2.5m high, 1.5m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof shed; walls door. 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/rural-scavenging-settlements-outhouse-shell-ee6c9ebc","cdnUrl":"https://cdn.3dassets.dev/assets/10186/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-outhouse-shell-ee6c9ebc","thumbnailUrl":"https://cdn.3dassets.dev/assets/10186/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10186/v1/poster.webp","blurhash":"U06jOH~A02D+Xm9^v#-S0M1H].|{0hEg^P%1","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":248304,"triangles":3480,"vertices":10440,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7448339959243345,0,-0.8387699701869935],"max":[0.7448339959243345,2.565000057220459,0.8387699701869935]},"sizeMeters":[1.49,2.565,1.678],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:41.822Z","updatedAt":"2026-09-06T14:33:42.643Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10186/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OuthouseShellRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10186/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10186/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10186/v1/model.glb\" alt=\"Outhouse Shell (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10186/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10186/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10190","slug":"rural-scavenging-settlements-washhouse-shell-260ab344","title":"Washhouse Shell (Rural Scavenging Settlements)","summary":"Washhouse Shell: 2.5 × 2.8 × 2 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2.5m wide, 2.8m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof gable; walls window. 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/rural-scavenging-settlements-washhouse-shell-260ab344","cdnUrl":"https://cdn.3dassets.dev/assets/10190/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-washhouse-shell-260ab344","thumbnailUrl":"https://cdn.3dassets.dev/assets/10190/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10190/v1/poster.webp","blurhash":"U270oOs+0L}t_3bE9tXU1PEeRio~ENa0,D%M","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":249560,"triangles":3476,"vertices":10428,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.3800386868045043,0,-1.0762876557937113],"max":[1.3800386868045043,2.934999942779541,1.0762876557937113]},"sizeMeters":[2.76,2.935,2.153],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:42.901Z","updatedAt":"2026-09-06T14:33:43.618Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10190/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WashhouseShellRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10190/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10190/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10190/v1/model.glb\" alt=\"Washhouse Shell (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10190/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10190/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10191","slug":"rural-scavenging-settlements-village-well-canopy-38e474e4","title":"Village Well Canopy (Rural Scavenging Settlements)","summary":"Village Well Canopy: 2 × 2.8 × 2 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.8m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof hip; walls none. 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/rural-scavenging-settlements-village-well-canopy-38e474e4","cdnUrl":"https://cdn.3dassets.dev/assets/10191/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-well-canopy-38e474e4","thumbnailUrl":"https://cdn.3dassets.dev/assets/10191/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10191/v1/poster.webp","blurhash":"U26%i~-T0Ks.~VNI4oof2bI;R5xa1es9=a%1","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":77152,"triangles":1176,"vertices":3528,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.093756632310527,0,-1.1193323629719623],"max":[1.093756632310527,2.9249854996879097,1.1193323629719623]},"sizeMeters":[2.188,2.925,2.239],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:45.008Z","updatedAt":"2026-09-06T14:33:45.738Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10191/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageWellCanopyRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10191/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10191/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10191/v1/model.glb\" alt=\"Village Well Canopy (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10191/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10191/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10199","slug":"rural-scavenging-settlements-bus-stop-timber-shelter-41703285","title":"Bus Stop Timber Shelter (Rural Scavenging Settlements)","summary":"Bus Stop Timber Shelter: 2.5 × 2.5 × 1.5 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2.5m wide, 2.5m high, 1.5m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof shed; walls back. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-bus-stop-timber-shelter-41703285","cdnUrl":"https://cdn.3dassets.dev/assets/10199/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-bus-stop-timber-shelter-41703285","thumbnailUrl":"https://cdn.3dassets.dev/assets/10199/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10199/v1/poster.webp","blurhash":"U170YzNd0N}q={]-Rj1I0#R,oMNH0#Eg^5-A","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":134304,"triangles":1800,"vertices":5400,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.336477518081665,0.000024898111807392098,-0.8262691598650584],"max":[1.336477518081665,2.5649751591086516,0.8262691598650584]},"sizeMeters":[2.673,2.565,1.653],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:45.548Z","updatedAt":"2026-09-06T14:33:45.927Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10199/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BusStopTimberShelterRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10199/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10199/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10199/v1/model.glb\" alt=\"Bus Stop Timber Shelter (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10199/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10199/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10197","slug":"rural-scavenging-settlements-market-notice-shelter-330ab14b","title":"Market Notice Shelter (Rural Scavenging Settlements)","summary":"Market Notice Shelter: 2 × 2.5 × 1 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.5m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof gable; walls back. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-market-notice-shelter-330ab14b","cdnUrl":"https://cdn.3dassets.dev/assets/10197/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-market-notice-shelter-330ab14b","thumbnailUrl":"https://cdn.3dassets.dev/assets/10197/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10197/v1/poster.webp","blurhash":"U26%pHEf00^P_N$34nOs7zrsm+xuKPI:v#tR","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":134972,"triangles":1820,"vertices":5460,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.1001076785835664,0,-0.5761798119359076],"max":[1.1001076785835664,2.634999990463257,0.5762898386673931]},"sizeMeters":[2.2,2.635,1.152],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:45.146Z","updatedAt":"2026-09-06T14:33:45.349Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10197/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarketNoticeShelterRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10197/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10197/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10197/v1/model.glb\" alt=\"Market Notice Shelter (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10197/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10197/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10202","slug":"rural-scavenging-settlements-cellar-entry-stair-6acf44f1","title":"Cellar Entry Stair (Rural Scavenging Settlements)","summary":"Cellar Entry Stair: 1 × 1.8 × 2.5 m nominal survival stairs assembly.","description":"Original weathered survival stairs. Nominal envelope 1m wide, 1.8m high, 2.5m deep; applied framing, handles or rails can extend beyond this. Construction: form stairs; shape straight. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-cellar-entry-stair-6acf44f1","cdnUrl":"https://cdn.3dassets.dev/assets/10202/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-entry-stair-6acf44f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/10202/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10202/v1/poster.webp","blurhash":"U15OEG^+009Z_N^+M_9F00K4~pnN0000%g~p","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":18328,"triangles":204,"vertices":612,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5000528735091762,0.0000036257075940460126,-1.284008502960205],"max":[0.5000528735091762,2.6994309425354004,1.284008502960205]},"sizeMeters":[1,2.699,2.568],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:46.273Z","updatedAt":"2026-09-06T14:33:46.382Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10202/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellarEntryStairRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10202/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10202/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10202/v1/model.glb\" alt=\"Cellar Entry Stair (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10202/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10202/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10207","slug":"rural-scavenging-settlements-loft-access-ladder-f47ffe89","title":"Loft Access Ladder (Rural Scavenging Settlements)","summary":"Loft Access Ladder: 0.55 × 2.4 × 0.18 m nominal survival ladder assembly.","description":"Original weathered survival ladder. Nominal envelope 0.55m wide, 2.4m high, 0.18m 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/rural-scavenging-settlements-loft-access-ladder-f47ffe89","cdnUrl":"https://cdn.3dassets.dev/assets/10207/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-loft-access-ladder-f47ffe89","thumbnailUrl":"https://cdn.3dassets.dev/assets/10207/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10207/v1/poster.webp","blurhash":"U27K#d_30000.8ofD%RPDiM{-;-p%MofIURj","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":16444,"triangles":320,"vertices":960,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.31000703157575166,0,-0.03501083546206953],"max":[0.31000703157575166,2.4000000953674316,0.03501083546206953]},"sizeMeters":[0.62,2.4,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:48.057Z","updatedAt":"2026-09-06T14:33:48.445Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10207/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoftAccessLadderRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10207/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10207/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10207/v1/model.glb\" alt=\"Loft Access Ladder (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10207/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10207/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10208","slug":"rural-scavenging-settlements-farmhouse-hearth-35bd7e29","title":"Farmhouse Hearth (Rural Scavenging Settlements)","summary":"Farmhouse Hearth: 1.6 × 2 × 0.7 m nominal survival fireplace assembly.","description":"Original weathered survival fireplace. Nominal envelope 1.6m wide, 2m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form fireplace. 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/rural-scavenging-settlements-farmhouse-hearth-35bd7e29","cdnUrl":"https://cdn.3dassets.dev/assets/10208/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-farmhouse-hearth-35bd7e29","thumbnailUrl":"https://cdn.3dassets.dev/assets/10208/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10208/v1/poster.webp","blurhash":"U5H2WR~X00D%~q-:Dj9F00S^9ZIUx]-;W.9F","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":26816,"triangles":508,"vertices":1524,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8000427259132664,0,-0.4199925121449171],"max":[0.8000427259132664,2,0.41996520889919736]},"sizeMeters":[1.6,2,0.84],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:48.131Z","updatedAt":"2026-09-06T14:33:48.773Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10208/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FarmhouseHearthRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10208/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10208/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10208/v1/model.glb\" alt=\"Farmhouse Hearth (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10208/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10208/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10209","slug":"rural-scavenging-settlements-smokehouse-firebox-40c00ad5","title":"Smokehouse Firebox (Rural Scavenging Settlements)","summary":"Smokehouse Firebox: 1 × 1.3 × 0.8 m nominal survival fireplace assembly.","description":"Original weathered survival fireplace. Nominal envelope 1m wide, 1.3m high, 0.8m deep; applied framing, handles or rails can extend beyond this. Construction: form fireplace; oven 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/rural-scavenging-settlements-smokehouse-firebox-40c00ad5","cdnUrl":"https://cdn.3dassets.dev/assets/10209/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-smokehouse-firebox-40c00ad5","thumbnailUrl":"https://cdn.3dassets.dev/assets/10209/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10209/v1/poster.webp","blurhash":"U4HeXm~q0001l:R*c[ni00t69tIBxVfko}%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":28796,"triangles":532,"vertices":1596,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.500032071946549,0,-0.4800165064054664],"max":[0.500032071946549,1.3500213536842336,0.4800165064054664]},"sizeMeters":[1,1.35,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:48.255Z","updatedAt":"2026-09-06T14:33:48.790Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10209/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmokehouseFireboxRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10209/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10209/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10209/v1/model.glb\" alt=\"Smokehouse Firebox (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10209/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10209/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10210","slug":"rural-scavenging-settlements-rain-barrel-platform-71f89bbd","title":"Rain Barrel Platform (Rural Scavenging Settlements)","summary":"Rain Barrel Platform: 1 × 0.45 × 1 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 1m wide, 0.45m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; support crib. 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/rural-scavenging-settlements-rain-barrel-platform-71f89bbd","cdnUrl":"https://cdn.3dassets.dev/assets/10210/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-rain-barrel-platform-71f89bbd","thumbnailUrl":"https://cdn.3dassets.dev/assets/10210/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10210/v1/poster.webp","blurhash":"U17vuz%X0|6$~Bv~I:X903IYIri*0fXmw0Eh","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":90452,"triangles":1404,"vertices":4212,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,0.000002297828907427135,-0.5],"max":[0.5,0.449997720052486,0.5]},"sizeMeters":[1,0.45,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:50.279Z","updatedAt":"2026-09-06T14:33:50.509Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10210/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RainBarrelPlatformRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10210/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10210/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10210/v1/model.glb\" alt=\"Rain Barrel Platform (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10210/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10210/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10216","slug":"rural-scavenging-settlements-rural-water-trough-9354f412","title":"Rural Water Trough (Rural Scavenging Settlements)","summary":"Rural Water Trough: 1.8 × 0.6 × 0.7 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 1.8m wide, 0.6m high, 0.7m 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/rural-scavenging-settlements-rural-water-trough-9354f412","cdnUrl":"https://cdn.3dassets.dev/assets/10216/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-rural-water-trough-9354f412","thumbnailUrl":"https://cdn.3dassets.dev/assets/10216/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10216/v1/poster.webp","blurhash":"UHDl_}xuD%t7~p-;RjRj00%MxuM{01E1ayfP","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":9792,"triangles":152,"vertices":456,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000032054368208356276,-0.3499526870397317],"max":[0.8999999761581421,0.5999679694736495,0.3499526870397317]},"sizeMeters":[1.8,0.6,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:51.362Z","updatedAt":"2026-09-06T14:33:51.676Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10216/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RuralWaterTroughRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10216/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10216/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10216/v1/model.glb\" alt=\"Rural Water Trough (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10216/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10216/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10217","slug":"rural-scavenging-settlements-hand-pump-well-head-c86cac74","title":"Hand Pump Well Head (Rural Scavenging Settlements)","summary":"Hand Pump Well Head: 0.6 × 1.2 × 0.6 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.6m wide, 1.2m high, 0.6m 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/rural-scavenging-settlements-hand-pump-well-head-c86cac74","cdnUrl":"https://cdn.3dassets.dev/assets/10217/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-hand-pump-well-head-c86cac74","thumbnailUrl":"https://cdn.3dassets.dev/assets/10217/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10217/v1/poster.webp","blurhash":"U17x2Y~q000000IA?w?^009F~p~qMxIAx^_N","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13188,"triangles":252,"vertices":756,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.23863583099024593,0,-0.23621466846910205],"max":[0.23863583099024593,1.1018643379211426,0.23621466846910205]},"sizeMeters":[0.477,1.102,0.472],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:51.042Z","updatedAt":"2026-09-06T14:33:51.682Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10217/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandPumpWellHeadRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10217/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10217/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10217/v1/model.glb\" alt=\"Hand Pump Well Head (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10217/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10217/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10218","slug":"rural-scavenging-settlements-laundry-boiler-2fd57d8b","title":"Laundry Boiler (Rural Scavenging Settlements)","summary":"Laundry Boiler: 0.7 × 1 × 0.7 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.7m wide, 1m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape boiler. 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/rural-scavenging-settlements-laundry-boiler-2fd57d8b","cdnUrl":"https://cdn.3dassets.dev/assets/10218/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-laundry-boiler-2fd57d8b","thumbnailUrl":"https://cdn.3dassets.dev/assets/10218/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10218/v1/poster.webp","blurhash":"U371[%?H00018^RP.8x]00OD_4$P%3oyM{RQ","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":11540,"triangles":204,"vertices":612,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3569999933242798,0,-0.2939999997615814],"max":[0.35701678446495605,1,0.2939999997615814]},"sizeMeters":[0.714,1,0.588],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:51.388Z","updatedAt":"2026-09-06T14:33:52.170Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10218/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaundryBoilerRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10218/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10218/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10218/v1/model.glb\" alt=\"Laundry Boiler (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10218/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10218/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10222","slug":"rural-scavenging-settlements-cottage-door-99ced1b8","title":"Cottage Door (Rural Scavenging Settlements)","summary":"Cottage Door: 0.94 × 2.1 × 0.1 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.1m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style plank. 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/rural-scavenging-settlements-cottage-door-99ced1b8","cdnUrl":"https://cdn.3dassets.dev/assets/10222/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-door-99ced1b8","thumbnailUrl":"https://cdn.3dassets.dev/assets/10222/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10222/v1/poster.webp","blurhash":"U27cpm7|02_*w{ayR+of1g;Q=a6|$*X7RkjF","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":62340,"triangles":916,"vertices":2748,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.4866644190834081,0,-0.08148931474390228],"max":[0.48668223529684257,2.099999856948852,0.08151071706862661]},"sizeMeters":[0.973,2.1,0.163],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:52.903Z","updatedAt":"2026-09-06T14:33:53.476Z","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/10222/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 CottageDoorRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10222/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/10222/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10222/v1/model.glb\" alt=\"Cottage Door (Rural Scavenging Settlements)\" 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/10222/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/10222/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10226","slug":"rural-scavenging-settlements-cellar-door-0cdec3eb","title":"Cellar Door (Rural Scavenging Settlements)","summary":"Cellar Door: 0.94 × 2.1 × 0.12 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.12m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style cross. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-cellar-door-0cdec3eb","cdnUrl":"https://cdn.3dassets.dev/assets/10226/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-door-0cdec3eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/10226/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10226/v1/poster.webp","blurhash":"U16jd$.701H@;MNHADs.9xrs$zS|^jxuJ7NG","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":63076,"triangles":928,"vertices":2784,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.4866644190834081,0,-0.09544370626298006],"max":[0.48668223529684257,2.099999856948852,0.0954854470093384]},"sizeMeters":[0.973,2.1,0.191],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:54.676Z","updatedAt":"2026-09-06T14:33:54.932Z","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/10226/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 CellarDoorRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10226/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/10226/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10226/v1/model.glb\" alt=\"Cellar Door (Rural Scavenging Settlements)\" 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/10226/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/10226/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10225","slug":"rural-scavenging-settlements-shed-double-leaf-10476612","title":"Shed Double Leaf (Rural Scavenging Settlements)","summary":"Shed Double Leaf: 1.3 × 2.2 × 0.1 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1.3m wide, 2.2m high, 0.1m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style split. 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/rural-scavenging-settlements-shed-double-leaf-10476612","cdnUrl":"https://cdn.3dassets.dev/assets/10225/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-shed-double-leaf-10476612","thumbnailUrl":"https://cdn.3dassets.dev/assets/10225/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10225/v1/poster.webp","blurhash":"U17Jqf=|009t3:oz{MV@;ls:FsRjGZoy+wae","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":76636,"triangles":1144,"vertices":3432,"meshes":5,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.6666461008321638,0,-0.08648717665048375],"max":[0.6666529506290252,2.200000071525574,0.08647043204619749]},"sizeMeters":[1.333,2.2,0.173],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:54.573Z","updatedAt":"2026-09-06T14:33:54.905Z","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/10225/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 ShedDoubleLeafRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10225/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/10225/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10225/v1/model.glb\" alt=\"Shed Double Leaf (Rural Scavenging Settlements)\" 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/10225/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/10225/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10230","slug":"rural-scavenging-settlements-cottage-shutter-478e2e67","title":"Cottage Shutter (Rural Scavenging Settlements)","summary":"Cottage Shutter: 0.7 × 1.1 × 0.06 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.7m wide, 1.1m high, 0.06m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style slats. 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/rural-scavenging-settlements-cottage-shutter-478e2e67","cdnUrl":"https://cdn.3dassets.dev/assets/10230/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-shutter-478e2e67","thumbnailUrl":"https://cdn.3dassets.dev/assets/10230/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10230/v1/poster.webp","blurhash":"U170iB_40iD$7doy[=nj00I9$~tS5nM~#ns.","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":23760,"triangles":268,"vertices":804,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.3666400032003715,0,-0.05599252527434903],"max":[0.36661450761104086,1.100000035762787,0.055997378011483]},"sizeMeters":[0.733,1.1,0.112],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:54.726Z","updatedAt":"2026-09-06T14:33:55.073Z","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/10230/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 CottageShutterRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10230/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/10230/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10230/v1/model.glb\" alt=\"Cottage Shutter (Rural Scavenging Settlements)\" 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/10230/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/10230/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10233","slug":"rural-scavenging-settlements-larder-screen-door-ef6eac2e","title":"Larder Screen Door (Rural Scavenging Settlements)","summary":"Larder Screen Door: 0.94 × 2.1 × 0.09 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 0.94m wide, 2.1m high, 0.09m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style bars. 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/rural-scavenging-settlements-larder-screen-door-ef6eac2e","cdnUrl":"https://cdn.3dassets.dev/assets/10233/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-larder-screen-door-ef6eac2e","thumbnailUrl":"https://cdn.3dassets.dev/assets/10233/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10233/v1/poster.webp","blurhash":"U05;K+~q0100|3xG7FJQ0#xH^QEe|yxHBkJ7","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":28356,"triangles":344,"vertices":1032,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.4866644189404629,0,-0.07449038478602321],"max":[0.4865751081987695,2.0999999037384987,0.07449508422995507]},"sizeMeters":[0.973,2.1,0.149],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:55.792Z","updatedAt":"2026-09-06T14:33:56.562Z","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/10233/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 LarderScreenDoorRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10233/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/10233/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10233/v1/model.glb\" alt=\"Larder Screen Door (Rural Scavenging Settlements)\" 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/10233/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/10233/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10236","slug":"rural-scavenging-settlements-cellar-trapdoor-37cb9842","title":"Cellar Trapdoor (Rural Scavenging Settlements)","summary":"Cellar Trapdoor: 0.9 × 0.12 × 0.9 m nominal survival hatch assembly.","description":"Original weathered survival hatch. Nominal envelope 0.9m wide, 0.12m high, 0.9m deep; applied framing, handles or rails can extend beyond this. Construction: form hatch; style plank. 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/rural-scavenging-settlements-cellar-trapdoor-37cb9842","cdnUrl":"https://cdn.3dassets.dev/assets/10236/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-trapdoor-37cb9842","thumbnailUrl":"https://cdn.3dassets.dev/assets/10236/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10236/v1/poster.webp","blurhash":"UB8;Pwi^D%bu4TWBtSkC9FtSR*RP?^RjxDxa","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":13388,"triangles":96,"vertices":288,"meshes":4,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.44999998807907104,0.000012818021993044049,-0.44999998807907104],"max":[0.44999998807907104,0.1390032819422519,0.44999998807907104]},"sizeMeters":[0.9,0.139,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:57.645Z","updatedAt":"2026-09-06T14:33:58.667Z","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/10236/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 CellarTrapdoorRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10236/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/10236/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10236/v1/model.glb\" alt=\"Cellar Trapdoor (Rural Scavenging Settlements)\" 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/10236/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/10236/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10237","slug":"rural-scavenging-settlements-pantry-open-cabinet-cb29f446","title":"Pantry Open Cabinet (Rural Scavenging Settlements)","summary":"Pantry Open Cabinet: 1.1 × 1.8 × 0.45 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.1m wide, 1.8m high, 0.45m 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/rural-scavenging-settlements-pantry-open-cabinet-cb29f446","cdnUrl":"https://cdn.3dassets.dev/assets/10237/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-pantry-open-cabinet-cb29f446","thumbnailUrl":"https://cdn.3dassets.dev/assets/10237/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10237/v1/poster.webp","blurhash":"U16@4e~9030h-UsWI;SvKMkCnAa2-U$*I=I:","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":15056,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5500472891184104,0,-0.2355343337394835],"max":[0.5500472891184104,1.7999999523162842,0.23550799747621273]},"sizeMeters":[1.1,1.8,0.471],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:56.677Z","updatedAt":"2026-09-06T14:33:57.705Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10237/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PantryOpenCabinetRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10237/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10237/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10237/v1/model.glb\" alt=\"Pantry Open Cabinet (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10237/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10237/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10241","slug":"rural-scavenging-settlements-wall-plate-rack-7daedb03","title":"Wall Plate Rack (Rural Scavenging Settlements)","summary":"Wall Plate Rack: 0.9 × 0.7 × 0.3 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 0.9m wide, 0.7m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape slots. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-wall-plate-rack-7daedb03","cdnUrl":"https://cdn.3dassets.dev/assets/10241/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-wall-plate-rack-7daedb03","thumbnailUrl":"https://cdn.3dassets.dev/assets/10241/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10241/v1/poster.webp","blurhash":"U27,GP=w0haO}Y,tNbOm0}WXS4J8$|$$NIEN","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":22076,"triangles":264,"vertices":792,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.00002135964469812679,-0.16602221307681173],"max":[0.44999998807907104,0.7000213477237691,0.16602221307681173]},"sizeMeters":[0.9,0.7,0.332],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:56.909Z","updatedAt":"2026-09-06T14:33:57.782Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10241/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallPlateRackRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10241/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10241/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10241/v1/model.glb\" alt=\"Wall Plate Rack (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10241/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10241/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10245","slug":"rural-scavenging-settlements-boot-room-pegs-c42408d1","title":"Boot Room Pegs (Rural Scavenging Settlements)","summary":"Boot Room Pegs: 1 × 0.5 × 0.3 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1m wide, 0.5m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape pegs. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-boot-room-pegs-c42408d1","cdnUrl":"https://cdn.3dassets.dev/assets/10245/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-boot-room-pegs-c42408d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/10245/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10245/v1/poster.webp","blurhash":"U371N8yE00M|rq-pb^IV00Q,~WpIO@4.ib%g","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":15312,"triangles":172,"vertices":516,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,0.00002075169237400476,-0.16252518447584025],"max":[0.5,0.07997924651948665,0.16247375384230062]},"sizeMeters":[1,0.08,0.325],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:58.158Z","updatedAt":"2026-09-06T14:33:59.134Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10245/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BootRoomPegsRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10245/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10245/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10245/v1/model.glb\" alt=\"Boot Room Pegs (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10245/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10245/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10248","slug":"rural-scavenging-settlements-mudroom-bench-a447b564","title":"Mudroom Bench (Rural Scavenging Settlements)","summary":"Mudroom Bench: 1.2 × 0.5 × 0.45 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 1.2m wide, 0.5m high, 0.45m 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/rural-scavenging-settlements-mudroom-bench-a447b564","cdnUrl":"https://cdn.3dassets.dev/assets/10248/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-mudroom-bench-a447b564","thumbnailUrl":"https://cdn.3dassets.dev/assets/10248/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10248/v1/poster.webp","blurhash":"U47T%#xu9uxa~V={NxOE00xF%2OY01E1vzW=","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":11672,"triangles":84,"vertices":252,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.000009303178706343562,-0.2500015358596419],"max":[0.6000000238418579,0.42999070397385103,0.2500015358596419]},"sizeMeters":[1.2,0.43,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:59.415Z","updatedAt":"2026-09-06T14:34:00.308Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10248/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MudroomBenchRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10248/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10248/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10248/v1/model.glb\" alt=\"Mudroom Bench (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10248/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10248/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10252","slug":"rural-scavenging-settlements-scullery-sink-a63211b5","title":"Scullery Sink (Rural Scavenging Settlements)","summary":"Scullery Sink: 1 × 0.85 × 0.6 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 1m wide, 0.85m high, 0.6m 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/rural-scavenging-settlements-scullery-sink-a63211b5","cdnUrl":"https://cdn.3dassets.dev/assets/10252/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-scullery-sink-a63211b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/10252/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10252/v1/poster.webp","blurhash":"UFDcXN%M00WB~pxuD*M{00j?%MRj00Rj%Lof","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":21996,"triangles":408,"vertices":1224,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5000164829608151,0,-0.3000274666585284],"max":[0.5000164829608151,1.057068943977356,0.3000274666585284]},"sizeMeters":[1,1.057,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:33:59.756Z","updatedAt":"2026-09-06T14:34:00.448Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10252/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScullerySinkRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10252/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10252/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10252/v1/model.glb\" alt=\"Scullery Sink (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10252/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10252/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10256","slug":"rural-scavenging-settlements-washstand-ec2ff992","title":"Washstand (Rural Scavenging Settlements)","summary":"Washstand: 0.7 × 0.8 × 0.5 m nominal survival plumbing assembly.","description":"Original weathered survival plumbing. Nominal envelope 0.7m wide, 0.8m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form plumbing; shape basin. 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/rural-scavenging-settlements-washstand-ec2ff992","cdnUrl":"https://cdn.3dassets.dev/assets/10256/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-washstand-ec2ff992","thumbnailUrl":"https://cdn.3dassets.dev/assets/10256/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10256/v1/poster.webp","blurhash":"UED0Gj%M00M{~pxtD%M{00WB-;WB00M|-;t7","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":22012,"triangles":408,"vertices":1224,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3500271320750484,0,-0.25001067722066006],"max":[0.3500271320750484,1.007054090499878,0.25001067722066006]},"sizeMeters":[0.7,1.007,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:00.571Z","updatedAt":"2026-09-06T14:34:01.206Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10256/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WashstandRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10256/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10256/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10256/v1/model.glb\" alt=\"Washstand (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10256/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10256/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10257","slug":"rural-scavenging-settlements-cottage-cupboard-897e4d87","title":"Cottage Cupboard (Rural Scavenging Settlements)","summary":"Cottage Cupboard: 1 × 1.6 × 0.5 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1m wide, 1.6m high, 0.5m 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/rural-scavenging-settlements-cottage-cupboard-897e4d87","cdnUrl":"https://cdn.3dassets.dev/assets/10257/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-cupboard-897e4d87","thumbnailUrl":"https://cdn.3dassets.dev/assets/10257/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10257/v1/poster.webp","blurhash":"U16%Wi~S030O+}NdAX$zO9X5S5n9=Ks:JmV[","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":18076,"triangles":176,"vertices":528,"meshes":3,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.49996643708965677,0,-0.29003206216780913],"max":[0.49996643708965677,1.600000023841858,0.2899888846755508]},"sizeMeters":[1,1.6,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:00.962Z","updatedAt":"2026-09-06T14:34:01.721Z","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/10257/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 CottageCupboardRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10257/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/10257/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10257/v1/model.glb\" alt=\"Cottage Cupboard (Rural Scavenging Settlements)\" 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/10257/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/10257/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10260","slug":"rural-scavenging-settlements-cellar-bottle-rack-9646a1c1","title":"Cellar Bottle Rack (Rural Scavenging Settlements)","summary":"Cellar Bottle Rack: 1 × 1.2 × 0.4 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1m wide, 1.2m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape bottles. 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/rural-scavenging-settlements-cellar-bottle-rack-9646a1c1","cdnUrl":"https://cdn.3dassets.dev/assets/10260/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-bottle-rack-9646a1c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/10260/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10260/v1/poster.webp","blurhash":"U07JqP~k020P{n+~lJPe2+Rk4x9N=d$jEg9^","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":22084,"triangles":264,"vertices":792,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.500021382825697,0,-0.2080324799605502],"max":[0.500021382825697,1.2000000476837158,0.2080324799605502]},"sizeMeters":[1,1.2,0.416],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:02.153Z","updatedAt":"2026-09-06T14:34:03.048Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10260/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellarBottleRackRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10260/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10260/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10260/v1/model.glb\" alt=\"Cellar Bottle Rack (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10260/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10260/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10261","slug":"rural-scavenging-settlements-root-cellar-bin-f2c93b31","title":"Root Cellar Bin (Rural Scavenging Settlements)","summary":"Root Cellar Bin: 1.2 × 0.7 × 0.6 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.2m wide, 0.7m high, 0.6m 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/rural-scavenging-settlements-root-cellar-bin-f2c93b31","cdnUrl":"https://cdn.3dassets.dev/assets/10261/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-root-cellar-bin-f2c93b31","thumbnailUrl":"https://cdn.3dassets.dev/assets/10261/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10261/v1/poster.webp","blurhash":"U28fZJ}s0$$*}r=et6n%0zJ7nlniNt$~NbEg","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":12872,"triangles":108,"vertices":324,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.0000015060573195224691,-0.3105457737129172],"max":[0.6000000238418579,0.6999984820217515,0.3104860197245542]},"sizeMeters":[1.2,0.7,0.621],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:02.136Z","updatedAt":"2026-09-06T14:34:03.051Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10261/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RootCellarBinRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10261/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10261/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10261/v1/model.glb\" alt=\"Root Cellar Bin (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10261/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10261/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10268","slug":"rural-scavenging-settlements-hanging-meat-rail-fe14a465","title":"Hanging Meat Rail (Rural Scavenging Settlements)","summary":"Hanging Meat Rail: 1.5 × 1.8 × 0.6 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1.5m wide, 1.8m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape hooks. 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/rural-scavenging-settlements-hanging-meat-rail-fe14a465","cdnUrl":"https://cdn.3dassets.dev/assets/10268/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-hanging-meat-rail-fe14a465","thumbnailUrl":"https://cdn.3dassets.dev/assets/10268/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10268/v1/poster.webp","blurhash":"U27,up%F00XS?vsEI9XLTExtD-D*z.xaXnEL","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":31900,"triangles":492,"vertices":1476,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7500320245658859,0,-0.29996336984231303],"max":[0.7500320245658859,1.7999999523162842,0.29996336984231303]},"sizeMeters":[1.5,1.8,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:03.836Z","updatedAt":"2026-09-06T14:34:04.881Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10268/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingMeatRailRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10268/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10268/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10268/v1/model.glb\" alt=\"Hanging Meat Rail (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10268/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10268/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10269","slug":"rural-scavenging-settlements-wicker-laundry-frame-1f2aea21","title":"Wicker Laundry Frame (Rural Scavenging Settlements)","summary":"Wicker Laundry Frame: 0.7 × 0.65 × 0.5 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.7m wide, 0.65m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape basket. 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/rural-scavenging-settlements-wicker-laundry-frame-1f2aea21","cdnUrl":"https://cdn.3dassets.dev/assets/10269/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-wicker-laundry-frame-1f2aea21","thumbnailUrl":"https://cdn.3dassets.dev/assets/10269/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10269/v1/poster.webp","blurhash":"U3A0R4~A0NIo$fxYpIbX00D+JUxtx?whDkJU","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":25128,"triangles":348,"vertices":1044,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.37450000643730164,-0.000005347572314073901,-0.2745060931611411],"max":[0.37450000643730164,0.6500053228363866,0.2745060931611411]},"sizeMeters":[0.749,0.65,0.549],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:03.847Z","updatedAt":"2026-09-06T14:34:04.338Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10269/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WickerLaundryFrameRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10269/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10269/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10269/v1/model.glb\" alt=\"Wicker Laundry Frame (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10269/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10269/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10272","slug":"rural-scavenging-settlements-kitchen-dresser-c0735e3a","title":"Kitchen Dresser (Rural Scavenging Settlements)","summary":"Kitchen Dresser: 1.3 × 1.8 × 0.5 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.3m wide, 1.8m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape dresser; 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/rural-scavenging-settlements-kitchen-dresser-c0735e3a","cdnUrl":"https://cdn.3dassets.dev/assets/10272/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-kitchen-dresser-c0735e3a","thumbnailUrl":"https://cdn.3dassets.dev/assets/10272/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10272/v1/poster.webp","blurhash":"U27TLPxZ00I:~BxG9ZNHEySNoNWUIAs:%gI;","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":16304,"triangles":156,"vertices":468,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6500259235132478,0,-0.29996336984231303],"max":[0.6500259235132478,1.7999999523162842,0.29996336984231303]},"sizeMeters":[1.3,1.8,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:05.040Z","updatedAt":"2026-09-06T14:34:05.724Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10272/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KitchenDresserRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10272/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10272/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10272/v1/model.glb\" alt=\"Kitchen Dresser (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10272/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10272/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10271","slug":"rural-scavenging-settlements-corner-settle-df2b0c0f","title":"Corner Settle (Rural Scavenging Settlements)","summary":"Corner Settle: 1.2 × 1 × 0.6 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 1.2m wide, 1m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape settle. 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/rural-scavenging-settlements-corner-settle-df2b0c0f","cdnUrl":"https://cdn.3dassets.dev/assets/10271/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-corner-settle-df2b0c0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/10271/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10271/v1/poster.webp","blurhash":"U697IWyC01n4~n%L9vIV00Rj.RRn01IB-.tk","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":13720,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.000013113025488675767,-0.3274876405992175],"max":[0.6000000238418579,0.9799869060479977,0.32752213645040323]},"sizeMeters":[1.2,0.98,0.655],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:04.751Z","updatedAt":"2026-09-06T14:34:05.704Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10271/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CornerSettleRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10271/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10271/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10271/v1/model.glb\" alt=\"Corner Settle (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10271/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10271/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10280","slug":"rural-scavenging-settlements-cottage-bedframe-63f30384","title":"Cottage Bedframe (Rural Scavenging Settlements)","summary":"Cottage Bedframe: 1.2 × 0.65 × 2 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 1.2m wide, 0.65m 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/rural-scavenging-settlements-cottage-bedframe-63f30384","cdnUrl":"https://cdn.3dassets.dev/assets/10280/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-bedframe-63f30384","thumbnailUrl":"https://cdn.3dassets.dev/assets/10280/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10280/v1/poster.webp","blurhash":"U59QmW.R01Vt~oI:Dk%2008|.Q%K00xI?tIB","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":13736,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000412209235444,0.000003714000396226602,-1.027500033378601],"max":[0.6000412209235444,0.8849962764628606,1.027500033378601]},"sizeMeters":[1.2,0.885,2.055],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:05.963Z","updatedAt":"2026-09-06T14:34:06.854Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10280/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CottageBedframeRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10280/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10280/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10280/v1/model.glb\" alt=\"Cottage Bedframe (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10280/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10280/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10282","slug":"rural-scavenging-settlements-straw-loft-pallet-e2cedea8","title":"Straw Loft Pallet (Rural Scavenging Settlements)","summary":"Straw Loft Pallet: 1 × 0.3 × 2 m nominal survival bed assembly.","description":"Original weathered survival bed. Nominal envelope 1m wide, 0.3m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form bed; shape pallet. 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/rural-scavenging-settlements-straw-loft-pallet-e2cedea8","cdnUrl":"https://cdn.3dassets.dev/assets/10282/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-straw-loft-pallet-e2cedea8","thumbnailUrl":"https://cdn.3dassets.dev/assets/10282/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10282/v1/poster.webp","blurhash":"U16jqB~p3XpJ^h9ZIq=|0000zon30-~C-T56","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":11624,"triangles":84,"vertices":252,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.50007629627369,-0.000023961202263805825,-1.024999976158142],"max":[0.50007629627369,0.2900239528576135,1.024999976158142]},"sizeMeters":[1,0.29,2.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:06.941Z","updatedAt":"2026-09-06T14:34:07.587Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10282/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StrawLoftPalletRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10282/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10282/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10282/v1/model.glb\" alt=\"Straw Loft Pallet (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10282/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10282/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10283","slug":"rural-scavenging-settlements-workshop-sawhorse-8f9000dd","title":"Workshop Sawhorse (Rural Scavenging Settlements)","summary":"Workshop Sawhorse: 1 × 0.8 × 0.5 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1m wide, 0.8m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape horse. 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/rural-scavenging-settlements-workshop-sawhorse-8f9000dd","cdnUrl":"https://cdn.3dassets.dev/assets/10283/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-workshop-sawhorse-8f9000dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/10283/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10283/v1/poster.webp","blurhash":"U17S~l-U0NX4}=]-EN5,0#NbJURlE|xF$QAD","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":19876,"triangles":228,"vertices":684,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-1.2662371662308658e-7,-0.250038148136845],"max":[0.5,0.9223607852693465,0.250038148136845]},"sizeMeters":[1,0.922,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:07.490Z","updatedAt":"2026-09-06T14:34:08.373Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10283/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WorkshopSawhorseRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10283/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10283/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10283/v1/model.glb\" alt=\"Workshop Sawhorse (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10283/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10283/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10284","slug":"rural-scavenging-settlements-village-postbox-frame-c68ab157","title":"Village Postbox Frame (Rural Scavenging Settlements)","summary":"Village Postbox Frame: 0.55 × 1.2 × 0.35 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.55m wide, 1.2m high, 0.35m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape postbox. 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/rural-scavenging-settlements-village-postbox-frame-c68ab157","cdnUrl":"https://cdn.3dassets.dev/assets/10284/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-postbox-frame-c68ab157","thumbnailUrl":"https://cdn.3dassets.dev/assets/10284/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10284/v1/poster.webp","blurhash":"U16jUX?Z020M^it79]IpJ7w3NLFu=Fs9E*J-","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":20380,"triangles":200,"vertices":600,"meshes":5,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.27497788500726894,0,-0.21499925054761893],"max":[0.27497788500726894,1.2000000476837158,0.21500854742041275]},"sizeMeters":[0.55,1.2,0.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:07.550Z","updatedAt":"2026-09-06T14:34:08.401Z","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/10284/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 VillagePostboxFrameRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10284/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/10284/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10284/v1/model.glb\" alt=\"Village Postbox Frame (Rural Scavenging Settlements)\" 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/10284/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/10284/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10292","slug":"rural-scavenging-settlements-village-signpost-d0525c78","title":"Village Signpost (Rural Scavenging Settlements)","summary":"Village Signpost: 0.3 × 2.5 × 0.3 m nominal survival post assembly.","description":"Original weathered survival post. Nominal envelope 0.3m wide, 2.5m high, 0.3m deep; applied framing, handles or rails can extend beyond this. Construction: form post; shape sign. 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/rural-scavenging-settlements-village-signpost-d0525c78","cdnUrl":"https://cdn.3dassets.dev/assets/10292/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-signpost-d0525c78","thumbnailUrl":"https://cdn.3dassets.dev/assets/10292/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10292/v1/poster.webp","blurhash":"U78Nh9t700M{?at6D*M|00of_2Rj00M{~p%M","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":12288,"triangles":88,"vertices":264,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5399999618530273,0,-0.19499999284744263],"max":[0.5399999618530273,2.5,0.19499999284744263]},"sizeMeters":[1.08,2.5,0.39],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:08.541Z","updatedAt":"2026-09-06T14:34:09.459Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10292/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageSignpostRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10292/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10292/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10292/v1/model.glb\" alt=\"Village Signpost (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10292/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10292/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10294","slug":"rural-scavenging-settlements-village-bell-post-dfcd9838","title":"Village Bell Post (Rural Scavenging Settlements)","summary":"Village Bell Post: 0.7 × 2 × 0.5 m nominal survival machine assembly.","description":"Original weathered survival machine. Nominal envelope 0.7m wide, 2m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form machine; shape bell. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-village-bell-post-dfcd9838","cdnUrl":"https://cdn.3dassets.dev/assets/10294/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-bell-post-dfcd9838","thumbnailUrl":"https://cdn.3dassets.dev/assets/10294/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10294/v1/poster.webp","blurhash":"U15|}}?E004p~UxZ4pIp8wnO?wb^VCs9yYT0","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":26088,"triangles":372,"vertices":1116,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3500167851802118,0,-0.250038148136845],"max":[0.3500167851802118,2,0.250038148136845]},"sizeMeters":[0.7,2,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:09.665Z","updatedAt":"2026-09-06T14:34:10.233Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10294/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageBellPostRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10294/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10294/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10294/v1/model.glb\" alt=\"Village Bell Post (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10294/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10294/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10296","slug":"rural-scavenging-settlements-village-notice-board-8780d5f3","title":"Village Notice Board (Rural Scavenging Settlements)","summary":"Village Notice Board: 1.4 × 1 × 0.15 m nominal survival panel assembly.","description":"Original weathered survival panel. Nominal envelope 1.4m wide, 1m high, 0.15m 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/rural-scavenging-settlements-village-notice-board-8780d5f3","cdnUrl":"https://cdn.3dassets.dev/assets/10296/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-notice-board-8780d5f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/10296/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10296/v1/poster.webp","blurhash":"U68:|ytR00V@i^%1xuEL00M{_NtR.7rX9ZpI","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":22840,"triangles":288,"vertices":864,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.699999988079071,-0.000021354441320120543,-0.09152670046604224],"max":[0.699999988079071,1.0000213545158259,0.0914771608582201]},"sizeMeters":[1.4,1,0.183],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:10.504Z","updatedAt":"2026-09-06T14:34:11.427Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10296/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageNoticeBoardRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10296/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10296/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10296/v1/model.glb\" alt=\"Village Notice Board (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10296/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10296/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10295","slug":"rural-scavenging-settlements-village-bulletin-roof-6c554c49","title":"Village Bulletin Roof (Rural Scavenging Settlements)","summary":"Village Bulletin Roof: 1.8 × 0.4 × 0.6 m nominal survival roof assembly.","description":"Original weathered survival roof. Nominal envelope 1.8m wide, 0.4m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form roof; shape gable. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-village-bulletin-roof-6c554c49","cdnUrl":"https://cdn.3dassets.dev/assets/10295/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-bulletin-roof-6c554c49","thumbnailUrl":"https://cdn.3dassets.dev/assets/10295/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10295/v1/poster.webp","blurhash":"U16%m8$|00=fKl=JR3OY019]~CJ-mP1I%%v~","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29240,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.920306921005249,-0.000044309247433926835,-0.30000001192092896],"max":[0.920306921005249,0.580697163941295,0.30000001192092896]},"sizeMeters":[1.841,0.581,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:10.446Z","updatedAt":"2026-09-06T14:34:11.190Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10295/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageBulletinRoofRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10295/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10295/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10295/v1/model.glb\" alt=\"Village Bulletin Roof (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10295/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10295/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10303","slug":"rural-scavenging-settlements-stone-garden-stile-2676f5b5","title":"Stone Garden Stile (Rural Scavenging Settlements)","summary":"Stone Garden Stile: 0.7 × 0.8 × 1.2 m nominal survival stairs assembly.","description":"Original weathered survival stairs. Nominal envelope 0.7m wide, 0.8m high, 1.2m deep; applied framing, handles or rails can extend beyond this. Construction: form stairs; shape quarter. 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/rural-scavenging-settlements-stone-garden-stile-2676f5b5","cdnUrl":"https://cdn.3dassets.dev/assets/10303/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-garden-stile-2676f5b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/10303/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10303/v1/poster.webp","blurhash":"U6BpnQ~p000000D%~o_300D%?a_3~q%M9ZIT","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":24112,"triangles":464,"vertices":1392,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3749878049396117,0,-0.3749878049396117],"max":[0.3749878049396117,1.6396280527114868,0.3749878049396117]},"sizeMeters":[0.75,1.64,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:11.483Z","updatedAt":"2026-09-06T14:34:12.171Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10303/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneGardenStileRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10303/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10303/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10303/v1/model.glb\" alt=\"Stone Garden Stile (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10303/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10303/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10306","slug":"rural-scavenging-settlements-timber-garden-gate-57c59352","title":"Timber Garden Gate (Rural Scavenging Settlements)","summary":"Timber Garden Gate: 1.1 × 1.2 × 0.1 m nominal survival door assembly.","description":"Original weathered survival door. Nominal envelope 1.1m wide, 1.2m high, 0.1m deep; applied framing, handles or rails can extend beyond this. Construction: form door; style cross. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-timber-garden-gate-57c59352","cdnUrl":"https://cdn.3dassets.dev/assets/10306/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-timber-garden-gate-57c59352","thumbnailUrl":"https://cdn.3dassets.dev/assets/10306/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10306/v1/poster.webp","blurhash":"U37^b|-;02xH~pX7DjnQ0zIov#i{ozj?jtog","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":69568,"triangles":1036,"vertices":3108,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.5666583152172441,0,-0.08151198343306654],"max":[0.5666435066610575,1.200000071525574,0.0814704351326347]},"sizeMeters":[1.133,1.2,0.163],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:12.173Z","updatedAt":"2026-09-06T14:34:13.004Z","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/10306/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 TimberGardenGateRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10306/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/10306/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10306/v1/model.glb\" alt=\"Timber Garden Gate (Rural Scavenging Settlements)\" 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/10306/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/10306/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10307","slug":"rural-scavenging-settlements-picket-boundary-bb63a785","title":"Picket Boundary (Rural Scavenging Settlements)","summary":"Picket Boundary: 2 × 1.2 × 0.12 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 1.2m high, 0.12m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape palisade. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-picket-boundary-bb63a785","cdnUrl":"https://cdn.3dassets.dev/assets/10307/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-picket-boundary-bb63a785","thumbnailUrl":"https://cdn.3dassets.dev/assets/10307/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10307/v1/poster.webp","blurhash":"U17JRt-D0lohbF}q,;9]0fnz]~oHr_sDspFx","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":50808,"triangles":744,"vertices":2232,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.00005490947519892764,-0.08349864192632832],"max":[1,1.2000549571589147,0.08349864192632832]},"sizeMeters":[2,1.2,0.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:12.901Z","updatedAt":"2026-09-06T14:34:13.875Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10307/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PicketBoundaryRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10307/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10307/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10307/v1/model.glb\" alt=\"Picket Boundary (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10307/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10307/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10308","slug":"rural-scavenging-settlements-stone-boundary-wall-b888d7b3","title":"Stone Boundary Wall (Rural Scavenging Settlements)","summary":"Stone Boundary Wall: 2 × 0.9 × 0.4 m nominal survival rail assembly.","description":"Original weathered survival rail. Nominal envelope 2m wide, 0.9m high, 0.4m deep; applied framing, handles or rails can extend beyond this. Construction: form rail; shape gabion. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-stone-boundary-wall-b888d7b3","cdnUrl":"https://cdn.3dassets.dev/assets/10308/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-boundary-wall-b888d7b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/10308/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10308/v1/poster.webp","blurhash":"U8Dl4g~B00Sd?F={xaIV00M{^kS4E3oIRjNH","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":35740,"triangles":580,"vertices":1740,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.0119999647140503,-0.000013045783583853776,-0.250038148136845],"max":[1.0119999647140503,0.912013046260421,0.250038148136845]},"sizeMeters":[2.024,0.912,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:13.413Z","updatedAt":"2026-09-06T14:34:14.164Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10308/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneBoundaryWallRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10308/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10308/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10308/v1/model.glb\" alt=\"Stone Boundary Wall (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10308/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10308/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10313","slug":"rural-scavenging-settlements-rural-drain-crossing-7b25ef68","title":"Rural Drain Crossing (Rural Scavenging Settlements)","summary":"Rural Drain Crossing: 2 × 0.25 × 1 m nominal survival platform assembly.","description":"Original weathered survival platform. Nominal envelope 2m wide, 0.25m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form platform; deck grate. 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/rural-scavenging-settlements-rural-drain-crossing-7b25ef68","cdnUrl":"https://cdn.3dassets.dev/assets/10313/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-rural-drain-crossing-7b25ef68","thumbnailUrl":"https://cdn.3dassets.dev/assets/10313/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10313/v1/poster.webp","blurhash":"U58gvz-p00oy_4-;RPIn00bw.8Mx009EkXxu","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":29940,"triangles":420,"vertices":1260,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.00005660945089218383,-0.50007629627369],"max":[1,0.2499749783548058,0.50007629627369]},"sizeMeters":[2,0.25,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:13.855Z","updatedAt":"2026-09-06T14:34:14.858Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10313/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RuralDrainCrossingRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10313/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10313/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10313/v1/model.glb\" alt=\"Rural Drain Crossing (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10313/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10313/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10318","slug":"rural-scavenging-settlements-utility-meter-cabinet-75808259","title":"Utility Meter Cabinet (Rural Scavenging Settlements)","summary":"Utility Meter Cabinet: 0.6 × 0.8 × 0.25 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 0.6m wide, 0.8m high, 0.25m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape 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/rural-scavenging-settlements-utility-meter-cabinet-75808259","cdnUrl":"https://cdn.3dassets.dev/assets/10318/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-meter-cabinet-75808259","thumbnailUrl":"https://cdn.3dassets.dev/assets/10318/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10318/v1/poster.webp","blurhash":"U36?}T}r0g9v$#s.WER+AVJjWYWEoyofahNH","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":18128,"triangles":176,"vertices":528,"meshes":3,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.299984745215383,0,-0.16501602691157943],"max":[0.299984745215383,0.800000011920929,0.16499498536212892]},"sizeMeters":[0.6,0.8,0.33],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:15.228Z","updatedAt":"2026-09-06T14:34:16.130Z","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/10318/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 UtilityMeterCabinetRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10318/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/10318/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10318/v1/model.glb\" alt=\"Utility Meter Cabinet (Rural Scavenging Settlements)\" 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/10318/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/10318/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10319","slug":"rural-scavenging-settlements-cellar-vent-hood-d892f284","title":"Cellar Vent Hood (Rural Scavenging Settlements)","summary":"Cellar Vent Hood: 0.4 × 0.6 × 0.4 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 0.4m wide, 0.6m high, 0.4m 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/rural-scavenging-settlements-cellar-vent-hood-d892f284","cdnUrl":"https://cdn.3dassets.dev/assets/10319/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-vent-hood-d892f284","thumbnailUrl":"https://cdn.3dassets.dev/assets/10319/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10319/v1/poster.webp","blurhash":"UEB:?K-;00jZ_NofIAaeMyInM{jut7kCRPWB","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":5692,"triangles":96,"vertices":288,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2030181398671347,0,-0.20000962502705288],"max":[0.2030181398671347,0.5300000309944153,0.20000962502705288]},"sizeMeters":[0.406,0.53,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:15.518Z","updatedAt":"2026-09-06T14:34:16.452Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10319/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellarVentHoodRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10319/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10319/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10319/v1/model.glb\" alt=\"Cellar Vent Hood (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10319/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10319/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10322","slug":"rural-scavenging-settlements-window-flower-box-empty-ccd14584","title":"Window Flower Box Empty (Rural Scavenging Settlements)","summary":"Window Flower Box Empty: 1 × 0.25 × 0.3 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1m wide, 0.25m high, 0.3m 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/rural-scavenging-settlements-window-flower-box-empty-ccd14584","cdnUrl":"https://cdn.3dassets.dev/assets/10322/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-window-flower-box-empty-ccd14584","thumbnailUrl":"https://cdn.3dassets.dev/assets/10322/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10322/v1/poster.webp","blurhash":"U17JqV={0jtl}=}?kD9^02ax^4IV5956M{xG","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":12860,"triangles":108,"vertices":324,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.000019074068422497703,-0.1604832137469046],"max":[0.5,0.2500190740684225,0.16049945694941403]},"sizeMeters":[1,0.25,0.321],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:16.563Z","updatedAt":"2026-09-06T14:34:17.212Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10322/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindowFlowerBoxEmptyRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10322/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10322/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10322/v1/model.glb\" alt=\"Window Flower Box Empty (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10322/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10322/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10325","slug":"rural-scavenging-settlements-bread-oven-e006af48","title":"Bread Oven (Rural Scavenging Settlements)","summary":"Bread Oven: 1.4 × 1.5 × 1 m nominal survival fireplace assembly.","description":"Original weathered survival fireplace. Nominal envelope 1.4m wide, 1.5m high, 1m deep; applied framing, handles or rails can extend beyond this. Construction: form fireplace; oven 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/rural-scavenging-settlements-bread-oven-e006af48","cdnUrl":"https://cdn.3dassets.dev/assets/10325/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-bread-oven-e006af48","thumbnailUrl":"https://cdn.3dassets.dev/assets/10325/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10325/v1/poster.webp","blurhash":"UAHn{L~q00oyQla$pdWC00IUR*IUoxjYjYoz","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":28676,"triangles":532,"vertices":1596,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7000106814783166,0,-0.6000320444349498],"max":[0.7000106814783166,1.5500298812696647,0.6000320444349498]},"sizeMeters":[1.4,1.55,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:16.995Z","updatedAt":"2026-09-06T14:34:17.569Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10325/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreadOvenRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10325/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10325/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10325/v1/model.glb\" alt=\"Bread Oven (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10325/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10325/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10330","slug":"rural-scavenging-settlements-outdoor-wash-rack-3b51d4e5","title":"Outdoor Wash Rack (Rural Scavenging Settlements)","summary":"Outdoor Wash Rack: 1.3 × 1.5 × 0.7 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1.3m wide, 1.5m high, 0.7m 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/rural-scavenging-settlements-outdoor-wash-rack-3b51d4e5","cdnUrl":"https://cdn.3dassets.dev/assets/10330/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-outdoor-wash-rack-3b51d4e5","thumbnailUrl":"https://cdn.3dassets.dev/assets/10330/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10330/v1/poster.webp","blurhash":"U38NF5%e00Ht-os;M|nN01V[.kk:rsjGXRXQ","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":23416,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6500213629566332,0,-0.3499481185338908],"max":[0.6500213629566332,1.5,0.3499481185338908]},"sizeMeters":[1.3,1.5,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:18.076Z","updatedAt":"2026-09-06T14:34:18.681Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10330/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OutdoorWashRackRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10330/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10330/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10330/v1/model.glb\" alt=\"Outdoor Wash Rack (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10330/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10330/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10331","slug":"rural-scavenging-settlements-firewood-bay-fe29a59b","title":"Firewood Bay (Rural Scavenging Settlements)","summary":"Firewood Bay: 1.5 × 1.6 × 0.7 m nominal survival rack assembly.","description":"Original weathered survival rack. Nominal envelope 1.5m wide, 1.6m high, 0.7m deep; applied framing, handles or rails can extend beyond this. Construction: form rack; shape wood. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-firewood-bay-fe29a59b","cdnUrl":"https://cdn.3dassets.dev/assets/10331/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-firewood-bay-fe29a59b","thumbnailUrl":"https://cdn.3dassets.dev/assets/10331/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10331/v1/poster.webp","blurhash":"U07v+0:R00~B[;]-%LNY03?YDm0PIm}Z$l0|","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":71020,"triangles":1080,"vertices":3240,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.7499984852503744,0,-0.35003510150182676],"max":[0.7499984852503744,1.600000023841858,0.35003510150182676]},"sizeMeters":[1.5,1.6,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:20.231Z","updatedAt":"2026-09-06T14:34:20.335Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10331/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FirewoodBayRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10331/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10331/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10331/v1/model.glb\" alt=\"Firewood Bay (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10331/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10331/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10334","slug":"rural-scavenging-settlements-village-maintenance-locke-b7c72f48","title":"Village Maintenance Locker (Rural Scavenging Settlements)","summary":"Village Maintenance Locker: 1 × 1.7 × 0.6 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1m wide, 1.7m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape lockers; shelves 3. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-village-maintenance-locke-b7c72f48","cdnUrl":"https://cdn.3dassets.dev/assets/10334/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-maintenance-locke-b7c72f48","thumbnailUrl":"https://cdn.3dassets.dev/assets/10334/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10334/v1/poster.webp","blurhash":"U06jRN?Z010g~9+}1IG97YI@M+$j?F$kEgA.","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":21720,"triangles":244,"vertices":732,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.49998170291842314,0,-0.34000457784667293],"max":[0.49998170291842314,1.7000000476837158,0.33995835592353313]},"sizeMeters":[1,1.7,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:19.267Z","updatedAt":"2026-09-06T14:34:19.867Z","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/10334/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 VillageMaintenanceLockerRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10334/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/10334/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10334/v1/model.glb\" alt=\"Village Maintenance Locker (Rural Scavenging Settlements)\" 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/10334/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/10334/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10337","slug":"rural-scavenging-settlements-small-fuel-store-eedb0e58","title":"Small Fuel Store (Rural Scavenging Settlements)","summary":"Small Fuel Store: 1.6 × 2.4 × 1.6 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 1.6m wide, 2.4m high, 1.6m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof shed; walls bars. 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/rural-scavenging-settlements-small-fuel-store-eedb0e58","cdnUrl":"https://cdn.3dassets.dev/assets/10337/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-small-fuel-store-eedb0e58","thumbnailUrl":"https://cdn.3dassets.dev/assets/10337/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10337/v1/poster.webp","blurhash":"U06%Td}r01EPll5,Mf;k0M9v=wt70zNH^6$*","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":233372,"triangles":3288,"vertices":9864,"meshes":5,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.8912275677145107,0,-0.8951819668102348],"max":[0.8912275677145107,2.4649999141693115,0.8952478528751422]},"sizeMeters":[1.782,2.465,1.79],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:19.330Z","updatedAt":"2026-09-06T14:34:20.150Z","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/10337/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 SmallFuelStoreRuralScavengingSettlements(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/10337/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/10337/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10337/v1/model.glb\" alt=\"Small Fuel Store (Rural Scavenging Settlements)\" 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/10337/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/10337/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"10342","slug":"rural-scavenging-settlements-drying-loft-frame-424d00d3","title":"Drying Loft Frame (Rural Scavenging Settlements)","summary":"Drying Loft Frame: 2 × 2.5 × 2 m nominal survival shelter assembly.","description":"Original weathered survival shelter. Nominal envelope 2m wide, 2.5m high, 2m deep; applied framing, handles or rails can extend beyond this. Construction: form shelter; roof open; walls none. 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/rural-scavenging-settlements-drying-loft-frame-424d00d3","cdnUrl":"https://cdn.3dassets.dev/assets/10342/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-drying-loft-frame-424d00d3","thumbnailUrl":"https://cdn.3dassets.dev/assets/10342/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10342/v1/poster.webp","blurhash":"U57A6qxsNdsC}=oeRmsCI;V[I;bFADRkniX5","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":58072,"triangles":864,"vertices":2592,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0700000524520874,-0.000052156314336970766,-1.0700000524520874],"max":[1.0700000524520874,1.875052156314337,1.0700000524520874]},"sizeMeters":[2.14,1.875,2.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:20.490Z","updatedAt":"2026-09-06T14:34:21.386Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10342/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DryingLoftFrameRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10342/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10342/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10342/v1/model.glb\" alt=\"Drying Loft Frame (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10342/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10342/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10343","slug":"rural-scavenging-settlements-cellar-shelving-corner-9291fff1","title":"Cellar Shelving Corner (Rural Scavenging Settlements)","summary":"Cellar Shelving Corner: 1.2 × 1.6 × 0.6 m nominal survival cabinet assembly.","description":"Original weathered survival cabinet. Nominal envelope 1.2m wide, 1.6m high, 0.6m deep; applied framing, handles or rails can extend beyond this. Construction: form cabinet; shape corner; 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/rural-scavenging-settlements-cellar-shelving-corner-9291fff1","cdnUrl":"https://cdn.3dassets.dev/assets/10343/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-shelving-corner-9291fff1","thumbnailUrl":"https://cdn.3dassets.dev/assets/10343/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10343/v1/poster.webp","blurhash":"U17csl^%030#^%%2I@J72.OXR:w3x@$*RoEM","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":15788,"triangles":156,"vertices":468,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.599969490430766,0,-0.3105335588572274],"max":[0.599969490430766,1.600000023841858,0.3105079935051922]},"sizeMeters":[1.2,1.6,0.621],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:21.558Z","updatedAt":"2026-09-06T14:34:22.477Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10343/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CellarShelvingCornerRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10343/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10343/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10343/v1/model.glb\" alt=\"Cellar Shelving Corner (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10343/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10343/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10348","slug":"rural-scavenging-settlements-assembled-s-7b8444cb-starter-scene","title":"Assembled Survivor Site (Rural Scavenging Settlements)","summary":"Composed example for Rural Scavenging Settlements.","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/rural-scavenging-settlements-assembled-s-7b8444cb-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/10348/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-assembled-s-7b8444cb-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/10348/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10348/v1/poster.webp","blurhash":"UABW6.0058-:IpRktQt700~pRPIUs;xtRPRj","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":324592,"triangles":13728,"vertices":12770,"meshes":20,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-2.1602347909114505,-0.00005490947519892764,-2.1274453006359852],"max":[2.000042765651394,4.267064666054264,2.883498641926328]},"sizeMeters":[4.16,4.267,5.011],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:22.233Z","updatedAt":"2026-09-06T14:34:22.862Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10348/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssembledSurvivorSiteRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10348/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10348/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10348/v1/model.glb\" alt=\"Assembled Survivor Site (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10348/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10348/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"10349","slug":"rural-scavenging-settlements-construction-and-service--04309510","title":"Construction and Service Corner (Rural Scavenging Settlements)","summary":"Composed example for Rural Scavenging Settlements.","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/rural-scavenging-settlements-construction-and-service--04309510","cdnUrl":"https://cdn.3dassets.dev/assets/10349/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-construction-and-service--04309510","thumbnailUrl":"https://cdn.3dassets.dev/assets/10349/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/10349/v1/poster.webp","blurhash":"U7AcrJ00F|RQI[Iooxxu00~p9Ftki_-;RQIU","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":337544,"triangles":13292,"vertices":13291,"meshes":21,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.1602347909114505,-0.00005490947519892764,-2.1274453006359852],"max":[2.000042765651394,4.267064666054264,2.883498641926328]},"sizeMeters":[4.16,4.267,5.011],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex; Claude Fable 5.1 brief and frozen geometry kit; Claude Opus 5 animation pass","downloads":0,"publishedAt":"2026-09-06T14:34:22.152Z","updatedAt":"2026-09-06T14:34:22.936Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/10349/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConstructionAndServiceCornerRuralScavengingSettlements(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/10349/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/10349/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/10349/v1/model.glb\" alt=\"Construction and Service Corner (Rural Scavenging Settlements)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/10349/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/10349/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}