{"data":{"id":63,"slug":"rural-scavenging-settlements","title":"Rural Scavenging Settlements","summary":"Modular rural buildings to scavenge: timber and stone cottage walls, sheds, gable and hipped roofs, porches, cellars, woodsheds, outhouses, a village well and a bus shelter, with village props.","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/26622/v1/poster.webp","assetCount":91,"aiGenerated":true,"aiGeneratedAssetCount":91,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":7411520,"totalTriangles":139108,"starterScene":{"id":"26622","slug":"rural-scavenging-settlements-assembled-s-b7a9381b-starter-scene","title":"Assembled Survivor Site (Rural Scavenging Settlements)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-assembled-s-b7a9381b-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/26622/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-assembled-s-b7a9381b-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/26622/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26622/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":324604,"triangles":13728,"vertices":12770,"meshes":20,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-2.1602347909114505,-0.00005490947519892764,-2.1274453006359852],"max":[2.000042765651394,4.267064664413485,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":"Claude Fable 5.1","downloads":18,"publishedAt":"2026-09-07T20:50:25.233Z","updatedAt":"2026-10-25T09:36:17.082Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26622/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/26622/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26622/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26622/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/26622/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26622/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"26441","slug":"rural-scavenging-settlements-cottage-solid-wall-8a155c58","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-8a155c58","cdnUrl":"https://cdn.3dassets.dev/assets/26441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-solid-wall-8a155c58","thumbnailUrl":"https://cdn.3dassets.dev/assets/26441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26441/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":95816,"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":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:49:08.537Z","updatedAt":"2026-10-07T04:50:07.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26441/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/26441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26441/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/26441/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26445","slug":"rural-scavenging-settlements-cottage-entry-wall-18333a1e","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-18333a1e","cdnUrl":"https://cdn.3dassets.dev/assets/26445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-entry-wall-18333a1e","thumbnailUrl":"https://cdn.3dassets.dev/assets/26445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26445/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":112380,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:08.860Z","updatedAt":"2026-10-07T04:49:49.559Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26445/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/26445/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26445/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/26445/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26443","slug":"rural-scavenging-settlements-cottage-window-wall-037fb35c","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-037fb35c","cdnUrl":"https://cdn.3dassets.dev/assets/26443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-window-wall-037fb35c","thumbnailUrl":"https://cdn.3dassets.dev/assets/26443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26443/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":134724,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:08.770Z","updatedAt":"2026-10-12T00:34:06.851Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26443/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/26443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26443/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/26443/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26442","slug":"rural-scavenging-settlements-cottage-double-window-wal-928806ef","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-928806ef","cdnUrl":"https://cdn.3dassets.dev/assets/26442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-double-window-wal-928806ef","thumbnailUrl":"https://cdn.3dassets.dev/assets/26442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26442/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":152048,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:08.710Z","updatedAt":"2026-10-07T03:27:23.344Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26442/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/26442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26442/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/26442/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26453","slug":"rural-scavenging-settlements-cottage-vent-wall-b611b7e8","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-b611b7e8","cdnUrl":"https://cdn.3dassets.dev/assets/26453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-vent-wall-b611b7e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/26453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26453/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":120312,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:12.289Z","updatedAt":"2026-10-25T09:41:31.472Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26453/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/26453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26453/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/26453/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26456","slug":"rural-scavenging-settlements-cottage-service-wall-16229e42","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-16229e42","cdnUrl":"https://cdn.3dassets.dev/assets/26456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-service-wall-16229e42","thumbnailUrl":"https://cdn.3dassets.dev/assets/26456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26456/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":149132,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:12.292Z","updatedAt":"2026-10-25T09:43:14.368Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26456/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/26456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26456/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/26456/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26454","slug":"rural-scavenging-settlements-stone-cottage-solid-wall-28930006","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-28930006","cdnUrl":"https://cdn.3dassets.dev/assets/26454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-solid-wall-28930006","thumbnailUrl":"https://cdn.3dassets.dev/assets/26454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26454/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":307128,"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":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:49:12.312Z","updatedAt":"2026-10-07T04:50:23.274Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26454/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/26454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26454/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/26454/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26457","slug":"rural-scavenging-settlements-stone-cottage-entry-wall-8ebae043","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-8ebae043","cdnUrl":"https://cdn.3dassets.dev/assets/26457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-entry-wall-8ebae043","thumbnailUrl":"https://cdn.3dassets.dev/assets/26457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26457/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":262200,"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":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:49:12.401Z","updatedAt":"2026-10-07T07:57:35.663Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26457/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/26457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26457/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/26457/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26466","slug":"rural-scavenging-settlements-stone-cottage-window-wall-4eb27df5","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-4eb27df5","cdnUrl":"https://cdn.3dassets.dev/assets/26466/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-window-wall-4eb27df5","thumbnailUrl":"https://cdn.3dassets.dev/assets/26466/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26466/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":280660,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:15.633Z","updatedAt":"2026-10-07T04:50:25.019Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26466/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/26466/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26466/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26466/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/26466/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26466/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26468","slug":"rural-scavenging-settlements-stone-cottage-double-wind-1139c29a","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-1139c29a","cdnUrl":"https://cdn.3dassets.dev/assets/26468/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-double-wind-1139c29a","thumbnailUrl":"https://cdn.3dassets.dev/assets/26468/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26468/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":335996,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:15.904Z","updatedAt":"2026-10-06T09:37:25.208Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26468/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/26468/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26468/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26468/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/26468/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26468/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26469","slug":"rural-scavenging-settlements-stone-cottage-vent-wall-46102541","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-46102541","cdnUrl":"https://cdn.3dassets.dev/assets/26469/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-vent-wall-46102541","thumbnailUrl":"https://cdn.3dassets.dev/assets/26469/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26469/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":333064,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:15.940Z","updatedAt":"2026-10-25T15:39:17.416Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26469/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/26469/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26469/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26469/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/26469/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26469/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26467","slug":"rural-scavenging-settlements-stone-cottage-service-wal-5a0fedc5","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-5a0fedc5","cdnUrl":"https://cdn.3dassets.dev/assets/26467/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-cottage-service-wal-5a0fedc5","thumbnailUrl":"https://cdn.3dassets.dev/assets/26467/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26467/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":259928,"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":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:49:15.831Z","updatedAt":"2026-10-25T10:53:14.662Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26467/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/26467/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26467/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26467/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/26467/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26467/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26477","slug":"rural-scavenging-settlements-utility-shed-solid-wall-8a27bb78","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-8a27bb78","cdnUrl":"https://cdn.3dassets.dev/assets/26477/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-solid-wall-8a27bb78","thumbnailUrl":"https://cdn.3dassets.dev/assets/26477/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26477/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":73124,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:18.857Z","updatedAt":"2026-10-07T04:50:32.718Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26477/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/26477/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26477/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26477/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/26477/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26477/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26481","slug":"rural-scavenging-settlements-utility-shed-entry-wall-1ee2ab81","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-1ee2ab81","cdnUrl":"https://cdn.3dassets.dev/assets/26481/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-entry-wall-1ee2ab81","thumbnailUrl":"https://cdn.3dassets.dev/assets/26481/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26481/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":86352,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:19.599Z","updatedAt":"2026-10-07T04:50:28.349Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26481/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/26481/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26481/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26481/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/26481/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26481/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26480","slug":"rural-scavenging-settlements-utility-shed-window-wall-01be4b06","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-01be4b06","cdnUrl":"https://cdn.3dassets.dev/assets/26480/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-window-wall-01be4b06","thumbnailUrl":"https://cdn.3dassets.dev/assets/26480/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26480/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":104232,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:19.263Z","updatedAt":"2026-10-07T04:50:36.416Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26480/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/26480/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26480/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26480/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/26480/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26480/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26479","slug":"rural-scavenging-settlements-utility-shed-double-windo-6440ca2a","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-6440ca2a","cdnUrl":"https://cdn.3dassets.dev/assets/26479/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-double-windo-6440ca2a","thumbnailUrl":"https://cdn.3dassets.dev/assets/26479/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26479/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":118084,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:19.255Z","updatedAt":"2026-10-07T07:07:20.654Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26479/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/26479/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26479/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26479/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/26479/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26479/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26487","slug":"rural-scavenging-settlements-utility-shed-vent-wall-895e6dc9","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-895e6dc9","cdnUrl":"https://cdn.3dassets.dev/assets/26487/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-vent-wall-895e6dc9","thumbnailUrl":"https://cdn.3dassets.dev/assets/26487/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26487/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":92704,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:22.162Z","updatedAt":"2026-10-06T09:12:39.046Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26487/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/26487/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26487/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26487/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/26487/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26487/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26489","slug":"rural-scavenging-settlements-utility-shed-service-wall-36123725","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-36123725","cdnUrl":"https://cdn.3dassets.dev/assets/26489/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-shed-service-wall-36123725","thumbnailUrl":"https://cdn.3dassets.dev/assets/26489/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26489/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":115756,"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":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:49:22.783Z","updatedAt":"2026-10-06T04:35:50.959Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26489/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/26489/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26489/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26489/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/26489/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26489/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26488","slug":"rural-scavenging-settlements-cottage-gable-roof-24b9d6f6","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-24b9d6f6","cdnUrl":"https://cdn.3dassets.dev/assets/26488/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-gable-roof-24b9d6f6","thumbnailUrl":"https://cdn.3dassets.dev/assets/26488/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26488/v1/poster.webp","blurhash":"U37d2sE|00$%ysNGDi%20#v#$%x^ZMa0?bpI","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":29176,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0384111404418945,0.00004827901282156155,-1.0011999607086182],"max":[1.0384111404418945,1.3670646644134847,1.0000019390436714]},"sizeMeters":[2.077,1.367,2.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:22.747Z","updatedAt":"2026-10-25T08:59:47.663Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26488/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/26488/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26488/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26488/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/26488/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26488/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26490","slug":"rural-scavenging-settlements-porch-lean-to-roof-e62800e1","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-e62800e1","cdnUrl":"https://cdn.3dassets.dev/assets/26490/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-porch-lean-to-roof-e62800e1","thumbnailUrl":"https://cdn.3dassets.dev/assets/26490/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26490/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":24364,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:22.966Z","updatedAt":"2026-10-25T10:25:39.774Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26490/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/26490/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26490/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26490/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/26490/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26490/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26495","slug":"rural-scavenging-settlements-cross-gable-valley-92ad5359","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-92ad5359","cdnUrl":"https://cdn.3dassets.dev/assets/26495/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cross-gable-valley-92ad5359","thumbnailUrl":"https://cdn.3dassets.dev/assets/26495/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26495/v1/poster.webp","blurhash":"U26?}U}q0#5m;2xDOXbt0zJ-oMNHKjIpRjJB","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":35992,"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.0312000513076782]},"sizeMeters":[2.077,1.297,2.061],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:25.466Z","updatedAt":"2026-10-25T15:11:44.365Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26495/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/26495/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26495/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26495/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/26495/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26495/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26497","slug":"rural-scavenging-settlements-hipped-cottage-roof-8d71efba","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-8d71efba","cdnUrl":"https://cdn.3dassets.dev/assets/26497/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-hipped-cottage-roof-8d71efba","thumbnailUrl":"https://cdn.3dassets.dev/assets/26497/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26497/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":25308,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:26.258Z","updatedAt":"2026-10-25T10:09:26.791Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26497/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/26497/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26497/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26497/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/26497/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26497/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26496","slug":"rural-scavenging-settlements-barn-mansard-roof-34cb3c49","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-34cb3c49","cdnUrl":"https://cdn.3dassets.dev/assets/26496/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-barn-mansard-roof-34cb3c49","thumbnailUrl":"https://cdn.3dassets.dev/assets/26496/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26496/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":32140,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:26.215Z","updatedAt":"2026-10-06T11:13:36.623Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26496/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/26496/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26496/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26496/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/26496/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26496/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26498","slug":"rural-scavenging-settlements-washhouse-barrel-roof-98f51ecf","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-98f51ecf","cdnUrl":"https://cdn.3dassets.dev/assets/26498/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-washhouse-barrel-roof-98f51ecf","thumbnailUrl":"https://cdn.3dassets.dev/assets/26498/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26498/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":52892,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:26.388Z","updatedAt":"2026-10-25T13:03:06.991Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26498/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/26498/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26498/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26498/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/26498/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26498/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26503","slug":"rural-scavenging-settlements-cottage-footing-c6b3b0bb","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-c6b3b0bb","cdnUrl":"https://cdn.3dassets.dev/assets/26503/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-footing-c6b3b0bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/26503/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26503/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":85924,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:28.948Z","updatedAt":"2026-10-25T09:39:51.843Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26503/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/26503/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26503/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26503/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/26503/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26503/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26504","slug":"rural-scavenging-settlements-cellar-floor-82a237b7","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-82a237b7","cdnUrl":"https://cdn.3dassets.dev/assets/26504/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-floor-82a237b7","thumbnailUrl":"https://cdn.3dassets.dev/assets/26504/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26504/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":26912,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:29.743Z","updatedAt":"2026-10-25T08:44:46.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26504/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/26504/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26504/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26504/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/26504/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26504/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26505","slug":"rural-scavenging-settlements-porch-platform-94d26f37","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-94d26f37","cdnUrl":"https://cdn.3dassets.dev/assets/26505/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-porch-platform-94d26f37","thumbnailUrl":"https://cdn.3dassets.dev/assets/26505/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26505/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":93280,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:29.795Z","updatedAt":"2026-10-25T10:26:38.717Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26505/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/26505/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26505/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26505/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/26505/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26505/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26506","slug":"rural-scavenging-settlements-cellar-access-floor-d583965d","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-d583965d","cdnUrl":"https://cdn.3dassets.dev/assets/26506/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-access-floor-d583965d","thumbnailUrl":"https://cdn.3dassets.dev/assets/26506/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26506/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":131244,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:29.939Z","updatedAt":"2026-10-25T09:14:04.325Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26506/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/26506/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26506/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26506/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/26506/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26506/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26511","slug":"rural-scavenging-settlements-shed-drain-floor-6fc0aa16","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-6fc0aa16","cdnUrl":"https://cdn.3dassets.dev/assets/26511/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-shed-drain-floor-6fc0aa16","thumbnailUrl":"https://cdn.3dassets.dev/assets/26511/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26511/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":70448,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:32.529Z","updatedAt":"2026-10-25T08:37:11.733Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26511/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/26511/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26511/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26511/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/26511/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26511/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26512","slug":"rural-scavenging-settlements-loft-access-floor-609ee71d","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-609ee71d","cdnUrl":"https://cdn.3dassets.dev/assets/26512/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-loft-access-floor-609ee71d","thumbnailUrl":"https://cdn.3dassets.dev/assets/26512/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26512/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":83932,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:33.017Z","updatedAt":"2026-10-25T15:35:55.400Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26512/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/26512/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26512/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26512/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/26512/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26512/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26513","slug":"rural-scavenging-settlements-cottage-porch-frame-0b332a93","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-0b332a93","cdnUrl":"https://cdn.3dassets.dev/assets/26513/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-porch-frame-0b332a93","thumbnailUrl":"https://cdn.3dassets.dev/assets/26513/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26513/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":86580,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:33.194Z","updatedAt":"2026-10-25T11:40:25.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26513/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/26513/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26513/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26513/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/26513/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26513/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26514","slug":"rural-scavenging-settlements-cottage-entry-vestibule-634239ab","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-634239ab","cdnUrl":"https://cdn.3dassets.dev/assets/26514/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-entry-vestibule-634239ab","thumbnailUrl":"https://cdn.3dassets.dev/assets/26514/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26514/v1/poster.webp","blurhash":"U37c~hxu00rp?wNy9Er;7gNHQ-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":271496,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:33.438Z","updatedAt":"2026-10-25T09:23:06.377Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26514/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/26514/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26514/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26514/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/26514/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26514/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26520","slug":"rural-scavenging-settlements-woodshed-open-bay-4e50ebd4","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-4e50ebd4","cdnUrl":"https://cdn.3dassets.dev/assets/26520/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-woodshed-open-bay-4e50ebd4","thumbnailUrl":"https://cdn.3dassets.dev/assets/26520/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26520/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":130812,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:36.550Z","updatedAt":"2026-10-25T09:19:07.148Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26520/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/26520/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26520/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26520/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/26520/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26520/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26519","slug":"rural-scavenging-settlements-outhouse-shell-2df4d849","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-2df4d849","cdnUrl":"https://cdn.3dassets.dev/assets/26519/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-outhouse-shell-2df4d849","thumbnailUrl":"https://cdn.3dassets.dev/assets/26519/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26519/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":248300,"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":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:49:36.534Z","updatedAt":"2026-10-06T09:02:59.804Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26519/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/26519/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26519/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26519/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/26519/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26519/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26521","slug":"rural-scavenging-settlements-washhouse-shell-fc544348","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-fc544348","cdnUrl":"https://cdn.3dassets.dev/assets/26521/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-washhouse-shell-fc544348","thumbnailUrl":"https://cdn.3dassets.dev/assets/26521/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26521/v1/poster.webp","blurhash":"U270oOs+0L}t^,bE9tXU1PEeRio~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":249556,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:36.731Z","updatedAt":"2026-10-06T09:02:59.996Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26521/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/26521/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26521/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26521/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/26521/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26521/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26522","slug":"rural-scavenging-settlements-village-well-canopy-a5855a69","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-a5855a69","cdnUrl":"https://cdn.3dassets.dev/assets/26522/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-well-canopy-a5855a69","thumbnailUrl":"https://cdn.3dassets.dev/assets/26522/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26522/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":77148,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:36.810Z","updatedAt":"2026-10-25T09:44:47.640Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26522/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/26522/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26522/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26522/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/26522/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26522/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26527","slug":"rural-scavenging-settlements-bus-stop-timber-shelter-51267faf","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-51267faf","cdnUrl":"https://cdn.3dassets.dev/assets/26527/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-bus-stop-timber-shelter-51267faf","thumbnailUrl":"https://cdn.3dassets.dev/assets/26527/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26527/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":134296,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:39.828Z","updatedAt":"2026-10-05T13:02:29.017Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26527/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/26527/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26527/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26527/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/26527/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26527/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26528","slug":"rural-scavenging-settlements-market-notice-shelter-636d94cf","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-636d94cf","cdnUrl":"https://cdn.3dassets.dev/assets/26528/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-market-notice-shelter-636d94cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/26528/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26528/v1/poster.webp","blurhash":"U26%pHEf00^P_M$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.5761797523312628]},"sizeMeters":[2.2,2.635,1.152],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:49:39.914Z","updatedAt":"2026-10-13T09:30:08.945Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26528/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/26528/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26528/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26528/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/26528/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26528/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26529","slug":"rural-scavenging-settlements-cellar-entry-stair-5e2a4fe4","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-5e2a4fe4","cdnUrl":"https://cdn.3dassets.dev/assets/26529/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-entry-stair-5e2a4fe4","thumbnailUrl":"https://cdn.3dassets.dev/assets/26529/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26529/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":18324,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:39.999Z","updatedAt":"2026-10-25T08:50:39.746Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26529/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/26529/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26529/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26529/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/26529/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26529/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26530","slug":"rural-scavenging-settlements-loft-access-ladder-0b8b65d3","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-0b8b65d3","cdnUrl":"https://cdn.3dassets.dev/assets/26530/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-loft-access-ladder-0b8b65d3","thumbnailUrl":"https://cdn.3dassets.dev/assets/26530/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26530/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":16440,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:40.173Z","updatedAt":"2026-10-25T06:21:45.151Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26530/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/26530/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26530/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26530/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/26530/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26530/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26536","slug":"rural-scavenging-settlements-farmhouse-hearth-6e679e4d","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-6e679e4d","cdnUrl":"https://cdn.3dassets.dev/assets/26536/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-farmhouse-hearth-6e679e4d","thumbnailUrl":"https://cdn.3dassets.dev/assets/26536/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26536/v1/poster.webp","blurhash":"U5H2WS~V00D%~q-;Dj9F00S}9YIUx]%gW;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":26808,"triangles":508,"vertices":1524,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8000427259132664,0,-0.42119251755701886],"max":[0.8000427259132664,2,0.41996520889919736]},"sizeMeters":[1.6,2,0.841],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:43.280Z","updatedAt":"2026-10-25T09:20:42.164Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26536/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/26536/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26536/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26536/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/26536/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26536/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26535","slug":"rural-scavenging-settlements-smokehouse-firebox-299b75b6","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-299b75b6","cdnUrl":"https://cdn.3dassets.dev/assets/26535/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-smokehouse-firebox-299b75b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/26535/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26535/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":28792,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:43.246Z","updatedAt":"2026-10-25T08:41:05.528Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26535/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/26535/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26535/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26535/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/26535/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26535/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26538","slug":"rural-scavenging-settlements-rain-barrel-platform-177f8a34","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-177f8a34","cdnUrl":"https://cdn.3dassets.dev/assets/26538/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-rain-barrel-platform-177f8a34","thumbnailUrl":"https://cdn.3dassets.dev/assets/26538/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26538/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":90448,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:43.541Z","updatedAt":"2026-10-25T14:46:49.993Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26538/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/26538/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26538/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26538/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/26538/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26538/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26537","slug":"rural-scavenging-settlements-rural-water-trough-a5f61574","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-a5f61574","cdnUrl":"https://cdn.3dassets.dev/assets/26537/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-rural-water-trough-a5f61574","thumbnailUrl":"https://cdn.3dassets.dev/assets/26537/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26537/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":9788,"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":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:49:43.405Z","updatedAt":"2026-10-25T09:57:06.754Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26537/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/26537/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26537/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26537/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/26537/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26537/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26543","slug":"rural-scavenging-settlements-hand-pump-well-head-3d244b64","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-3d244b64","cdnUrl":"https://cdn.3dassets.dev/assets/26543/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-hand-pump-well-head-3d244b64","thumbnailUrl":"https://cdn.3dassets.dev/assets/26543/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26543/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":13184,"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":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:49:46.538Z","updatedAt":"2026-10-25T16:15:48.024Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26543/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/26543/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26543/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26543/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/26543/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26543/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26544","slug":"rural-scavenging-settlements-laundry-boiler-91e5a5df","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-91e5a5df","cdnUrl":"https://cdn.3dassets.dev/assets/26544/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-laundry-boiler-91e5a5df","thumbnailUrl":"https://cdn.3dassets.dev/assets/26544/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26544/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":11536,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:46.719Z","updatedAt":"2026-10-25T09:48:54.876Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26544/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/26544/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26544/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26544/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/26544/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26544/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26545","slug":"rural-scavenging-settlements-cottage-door-82dc2e65","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-82dc2e65","cdnUrl":"https://cdn.3dassets.dev/assets/26545/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-door-82dc2e65","thumbnailUrl":"https://cdn.3dassets.dev/assets/26545/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26545/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":62336,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:46.897Z","updatedAt":"2026-10-25T11:52:32.350Z","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/26545/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/26545/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/26545/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26545/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/26545/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/26545/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26546","slug":"rural-scavenging-settlements-cellar-door-7154b901","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-7154b901","cdnUrl":"https://cdn.3dassets.dev/assets/26546/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-door-7154b901","thumbnailUrl":"https://cdn.3dassets.dev/assets/26546/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26546/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":63072,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:46.994Z","updatedAt":"2026-10-25T09:12:31.552Z","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/26546/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/26546/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/26546/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26546/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/26546/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/26546/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26551","slug":"rural-scavenging-settlements-shed-double-leaf-0c327c13","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-0c327c13","cdnUrl":"https://cdn.3dassets.dev/assets/26551/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-shed-double-leaf-0c327c13","thumbnailUrl":"https://cdn.3dassets.dev/assets/26551/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26551/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":76628,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:49.961Z","updatedAt":"2026-10-25T08:51:15.111Z","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/26551/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/26551/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/26551/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26551/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/26551/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/26551/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26553","slug":"rural-scavenging-settlements-cottage-shutter-99b03d3c","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-99b03d3c","cdnUrl":"https://cdn.3dassets.dev/assets/26553/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-shutter-99b03d3c","thumbnailUrl":"https://cdn.3dassets.dev/assets/26553/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26553/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":23752,"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":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:49:50.178Z","updatedAt":"2026-10-25T10:17:30.394Z","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/26553/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/26553/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/26553/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26553/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/26553/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/26553/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26552","slug":"rural-scavenging-settlements-larder-screen-door-dc5874db","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-dc5874db","cdnUrl":"https://cdn.3dassets.dev/assets/26552/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-larder-screen-door-dc5874db","thumbnailUrl":"https://cdn.3dassets.dev/assets/26552/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26552/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":28352,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:50.147Z","updatedAt":"2026-10-25T11:27:38.003Z","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/26552/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/26552/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/26552/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26552/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/26552/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/26552/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26554","slug":"rural-scavenging-settlements-cellar-trapdoor-b43ba5ef","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-b43ba5ef","cdnUrl":"https://cdn.3dassets.dev/assets/26554/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-trapdoor-b43ba5ef","thumbnailUrl":"https://cdn.3dassets.dev/assets/26554/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26554/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":13384,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:50.468Z","updatedAt":"2026-10-06T15:11:33.319Z","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/26554/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/26554/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/26554/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26554/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/26554/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/26554/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26559","slug":"rural-scavenging-settlements-pantry-open-cabinet-76b29a50","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-76b29a50","cdnUrl":"https://cdn.3dassets.dev/assets/26559/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-pantry-open-cabinet-76b29a50","thumbnailUrl":"https://cdn.3dassets.dev/assets/26559/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26559/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":15048,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:53.347Z","updatedAt":"2026-10-10T02:16:26.333Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26559/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/26559/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26559/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26559/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/26559/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26559/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26560","slug":"rural-scavenging-settlements-wall-plate-rack-409f25d2","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-409f25d2","cdnUrl":"https://cdn.3dassets.dev/assets/26560/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-wall-plate-rack-409f25d2","thumbnailUrl":"https://cdn.3dassets.dev/assets/26560/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26560/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":22072,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:49:53.478Z","updatedAt":"2026-10-05T14:20:54.971Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26560/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/26560/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26560/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26560/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/26560/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26560/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26561","slug":"rural-scavenging-settlements-boot-room-pegs-fefe1d68","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-fefe1d68","cdnUrl":"https://cdn.3dassets.dev/assets/26561/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-boot-room-pegs-fefe1d68","thumbnailUrl":"https://cdn.3dassets.dev/assets/26561/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26561/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":15308,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:53.589Z","updatedAt":"2026-10-25T10:38:52.458Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26561/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/26561/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26561/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26561/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/26561/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26561/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26562","slug":"rural-scavenging-settlements-mudroom-bench-788ce31b","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-788ce31b","cdnUrl":"https://cdn.3dassets.dev/assets/26562/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-mudroom-bench-788ce31b","thumbnailUrl":"https://cdn.3dassets.dev/assets/26562/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26562/v1/poster.webp","blurhash":"U47T%zxv9txZ~V={OXOE00xD%2OY01E1v#bH","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":11668,"triangles":84,"vertices":252,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6012000441551208,0.000009303178706343562,-0.24998781095655756],"max":[0.6012000441551208,0.42999070397385103,0.24998781095655756]},"sizeMeters":[1.202,0.43,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:53.797Z","updatedAt":"2026-10-25T07:52:55.475Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26562/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/26562/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26562/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26562/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/26562/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26562/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26568","slug":"rural-scavenging-settlements-scullery-sink-6cca42ec","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-6cca42ec","cdnUrl":"https://cdn.3dassets.dev/assets/26568/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-scullery-sink-6cca42ec","thumbnailUrl":"https://cdn.3dassets.dev/assets/26568/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26568/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":21992,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:49:56.930Z","updatedAt":"2026-10-25T09:29:05.997Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26568/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/26568/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26568/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26568/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/26568/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26568/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26567","slug":"rural-scavenging-settlements-washstand-6074b541","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-6074b541","cdnUrl":"https://cdn.3dassets.dev/assets/26567/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-washstand-6074b541","thumbnailUrl":"https://cdn.3dassets.dev/assets/26567/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26567/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":22008,"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":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T20:49:56.883Z","updatedAt":"2026-10-06T15:14:02.619Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26567/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/26567/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26567/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26567/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/26567/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26567/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26569","slug":"rural-scavenging-settlements-cottage-cupboard-478c1e55","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-478c1e55","cdnUrl":"https://cdn.3dassets.dev/assets/26569/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-cupboard-478c1e55","thumbnailUrl":"https://cdn.3dassets.dev/assets/26569/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26569/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":18072,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:49:56.987Z","updatedAt":"2026-10-25T09:09:00.748Z","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/26569/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/26569/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/26569/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26569/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/26569/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/26569/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26570","slug":"rural-scavenging-settlements-cellar-bottle-rack-56a43bca","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-56a43bca","cdnUrl":"https://cdn.3dassets.dev/assets/26570/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-bottle-rack-56a43bca","thumbnailUrl":"https://cdn.3dassets.dev/assets/26570/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26570/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":22080,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:49:57.155Z","updatedAt":"2026-10-25T09:42:05.657Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26570/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/26570/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26570/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26570/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/26570/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26570/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26575","slug":"rural-scavenging-settlements-root-cellar-bin-07ad7b25","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-07ad7b25","cdnUrl":"https://cdn.3dassets.dev/assets/26575/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-root-cellar-bin-07ad7b25","thumbnailUrl":"https://cdn.3dassets.dev/assets/26575/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26575/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":12868,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:00.176Z","updatedAt":"2026-10-25T09:35:22.621Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26575/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/26575/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26575/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26575/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/26575/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26575/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26576","slug":"rural-scavenging-settlements-hanging-meat-rail-9f1cc69e","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-9f1cc69e","cdnUrl":"https://cdn.3dassets.dev/assets/26576/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-hanging-meat-rail-9f1cc69e","thumbnailUrl":"https://cdn.3dassets.dev/assets/26576/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26576/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":31892,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:00.355Z","updatedAt":"2026-10-25T10:27:45.161Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26576/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/26576/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26576/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26576/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/26576/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26576/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26578","slug":"rural-scavenging-settlements-wicker-laundry-frame-07a01711","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-07a01711","cdnUrl":"https://cdn.3dassets.dev/assets/26578/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-wicker-laundry-frame-07a01711","thumbnailUrl":"https://cdn.3dassets.dev/assets/26578/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26578/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":25124,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:00.541Z","updatedAt":"2026-10-25T10:23:18.535Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26578/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/26578/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26578/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26578/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/26578/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26578/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26577","slug":"rural-scavenging-settlements-kitchen-dresser-9b0b189a","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-9b0b189a","cdnUrl":"https://cdn.3dassets.dev/assets/26577/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-kitchen-dresser-9b0b189a","thumbnailUrl":"https://cdn.3dassets.dev/assets/26577/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26577/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":16300,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:00.482Z","updatedAt":"2026-10-25T09:44:21.655Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26577/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/26577/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26577/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26577/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/26577/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26577/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26583","slug":"rural-scavenging-settlements-corner-settle-b25f117e","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-b25f117e","cdnUrl":"https://cdn.3dassets.dev/assets/26583/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-corner-settle-b25f117e","thumbnailUrl":"https://cdn.3dassets.dev/assets/26583/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26583/v1/poster.webp","blurhash":"U79Gy}yC02rq~UxuE3M|00NG%zRn01IV%etQ","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":13716,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6012000441551208,0.000013113025488675767,-0.3274876405992175],"max":[0.6012000441551208,0.9799869060479977,0.3275116734532058]},"sizeMeters":[1.202,0.98,0.655],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:50:03.713Z","updatedAt":"2026-10-25T09:18:58.808Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26583/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/26583/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26583/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26583/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/26583/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26583/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26584","slug":"rural-scavenging-settlements-cottage-bedframe-5e6d1b44","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-5e6d1b44","cdnUrl":"https://cdn.3dassets.dev/assets/26584/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cottage-bedframe-5e6d1b44","thumbnailUrl":"https://cdn.3dassets.dev/assets/26584/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26584/v1/poster.webp","blurhash":"U69QjP.701Vt~UNGD*%1009G.6xt01xa?ZIV","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":13732,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6011673539625,0.000003714000396226602,-1.027500033378601],"max":[0.6011673539625,0.8849962764628606,1.027500033378601]},"sizeMeters":[1.202,0.885,2.055],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:03.892Z","updatedAt":"2026-10-25T10:10:09.300Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26584/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/26584/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26584/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26584/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/26584/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26584/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26585","slug":"rural-scavenging-settlements-straw-loft-pallet-db94412b","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-db94412b","cdnUrl":"https://cdn.3dassets.dev/assets/26585/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-straw-loft-pallet-db94412b","thumbnailUrl":"https://cdn.3dassets.dev/assets/26585/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26585/v1/poster.webp","blurhash":"U16jtJ~p3Xt,}?56Ir=|0000zon30%~W-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":11620,"triangles":84,"vertices":252,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5011604546656573,-0.000023961202263805825,-1.024999976158142],"max":[0.5011604546656573,0.2900239528576135,1.024999976158142]},"sizeMeters":[1.002,0.29,2.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:03.986Z","updatedAt":"2026-10-25T14:49:25.163Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26585/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/26585/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26585/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26585/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/26585/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26585/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26586","slug":"rural-scavenging-settlements-workshop-sawhorse-e5e655b5","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-e5e655b5","cdnUrl":"https://cdn.3dassets.dev/assets/26586/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-workshop-sawhorse-e5e655b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/26586/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26586/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":19872,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:04.016Z","updatedAt":"2026-10-25T10:37:23.138Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26586/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/26586/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26586/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26586/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/26586/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26586/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26591","slug":"rural-scavenging-settlements-village-postbox-frame-4f69c4ba","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-4f69c4ba","cdnUrl":"https://cdn.3dassets.dev/assets/26591/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-postbox-frame-4f69c4ba","thumbnailUrl":"https://cdn.3dassets.dev/assets/26591/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26591/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":20376,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:06.974Z","updatedAt":"2026-10-25T09:14:13.525Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26591/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/26591/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/26591/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26591/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/26591/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/26591/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26592","slug":"rural-scavenging-settlements-village-signpost-5f9f9192","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-5f9f9192","cdnUrl":"https://cdn.3dassets.dev/assets/26592/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-signpost-5f9f9192","thumbnailUrl":"https://cdn.3dassets.dev/assets/26592/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26592/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":12284,"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":"Claude Fable 5.1","downloads":14,"publishedAt":"2026-09-07T20:50:07.246Z","updatedAt":"2026-10-25T11:52:49.255Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26592/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/26592/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26592/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26592/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/26592/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26592/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26594","slug":"rural-scavenging-settlements-village-bell-post-45c71519","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-45c71519","cdnUrl":"https://cdn.3dassets.dev/assets/26594/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-bell-post-45c71519","thumbnailUrl":"https://cdn.3dassets.dev/assets/26594/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26594/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":26080,"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":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:50:07.565Z","updatedAt":"2026-10-25T10:05:32.848Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26594/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/26594/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26594/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26594/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/26594/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26594/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26593","slug":"rural-scavenging-settlements-village-notice-board-8d9e4391","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-8d9e4391","cdnUrl":"https://cdn.3dassets.dev/assets/26593/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-notice-board-8d9e4391","thumbnailUrl":"https://cdn.3dassets.dev/assets/26593/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26593/v1/poster.webp","blurhash":"U68|ePxu00RjaJ%1xuIo00RP_NtR?anND%pI","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":22872,"triangles":288,"vertices":864,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.699999988079071,-0.000021354366814274606,-0.0915267036602851],"max":[0.701200008392334,1.0012213561124104,0.0914771608582201]},"sizeMeters":[1.401,1.001,0.183],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T20:50:07.428Z","updatedAt":"2026-10-25T14:25:56.293Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26593/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/26593/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26593/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26593/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/26593/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26593/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26599","slug":"rural-scavenging-settlements-village-bulletin-roof-8e6a8a4d","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-8e6a8a4d","cdnUrl":"https://cdn.3dassets.dev/assets/26599/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-bulletin-roof-8e6a8a4d","thumbnailUrl":"https://cdn.3dassets.dev/assets/26599/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26599/v1/poster.webp","blurhash":"U16jj]$|00]:Kl,?R3KO019^~CFdvJ5l%%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":29256,"triangles":320,"vertices":960,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.920306921005249,-0.000044309247433926835,-0.3012000322341919],"max":[0.920306921005249,0.580697163941295,0.2999907902236111]},"sizeMeters":[1.841,0.581,0.601],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T20:50:10.506Z","updatedAt":"2026-10-25T10:05:07.362Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26599/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/26599/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26599/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26599/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/26599/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26599/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26600","slug":"rural-scavenging-settlements-stone-garden-stile-71b27c48","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-71b27c48","cdnUrl":"https://cdn.3dassets.dev/assets/26600/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-garden-stile-71b27c48","thumbnailUrl":"https://cdn.3dassets.dev/assets/26600/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26600/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":24108,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:10.699Z","updatedAt":"2026-10-25T11:04:52.893Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26600/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/26600/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26600/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26600/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/26600/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26600/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26601","slug":"rural-scavenging-settlements-timber-garden-gate-bf22ffad","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-bf22ffad","cdnUrl":"https://cdn.3dassets.dev/assets/26601/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-timber-garden-gate-bf22ffad","thumbnailUrl":"https://cdn.3dassets.dev/assets/26601/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26601/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":69564,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:11.415Z","updatedAt":"2026-10-25T10:39:27.286Z","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/26601/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/26601/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/26601/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26601/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/26601/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/26601/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26602","slug":"rural-scavenging-settlements-picket-boundary-15680475","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-15680475","cdnUrl":"https://cdn.3dassets.dev/assets/26602/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-picket-boundary-15680475","thumbnailUrl":"https://cdn.3dassets.dev/assets/26602/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26602/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":50800,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:11.229Z","updatedAt":"2026-10-25T09:37:08.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26602/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/26602/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26602/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26602/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/26602/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26602/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26609","slug":"rural-scavenging-settlements-stone-boundary-wall-074c7f48","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-074c7f48","cdnUrl":"https://cdn.3dassets.dev/assets/26609/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-stone-boundary-wall-074c7f48","thumbnailUrl":"https://cdn.3dassets.dev/assets/26609/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26609/v1/poster.webp","blurhash":"U8Dl4g~B00Sd?F={xbIW00Ip^kS5E3oJRkNI","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":35752,"triangles":580,"vertices":1740,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.013200044631958,-0.000013072641782019279,-0.250038148136845],"max":[1.0108000040054321,0.9120130731186191,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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:15.175Z","updatedAt":"2026-10-25T08:41:49.267Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26609/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/26609/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26609/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26609/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/26609/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26609/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26610","slug":"rural-scavenging-settlements-rural-drain-crossing-d9b8c262","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-d9b8c262","cdnUrl":"https://cdn.3dassets.dev/assets/26610/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-rural-drain-crossing-d9b8c262","thumbnailUrl":"https://cdn.3dassets.dev/assets/26610/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26610/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":29936,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:15.378Z","updatedAt":"2026-10-25T12:47:56.918Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26610/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/26610/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26610/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26610/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/26610/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26610/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26608","slug":"rural-scavenging-settlements-utility-meter-cabinet-1abb63af","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-1abb63af","cdnUrl":"https://cdn.3dassets.dev/assets/26608/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-utility-meter-cabinet-1abb63af","thumbnailUrl":"https://cdn.3dassets.dev/assets/26608/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26608/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":18124,"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":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T20:50:14.945Z","updatedAt":"2026-10-25T10:09:18.702Z","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/26608/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/26608/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/26608/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26608/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/26608/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/26608/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26607","slug":"rural-scavenging-settlements-cellar-vent-hood-3469951b","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-3469951b","cdnUrl":"https://cdn.3dassets.dev/assets/26607/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-vent-hood-3469951b","thumbnailUrl":"https://cdn.3dassets.dev/assets/26607/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26607/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":5688,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:14.904Z","updatedAt":"2026-10-25T10:49:11.911Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26607/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/26607/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26607/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26607/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/26607/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26607/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26614","slug":"rural-scavenging-settlements-window-flower-box-empty-b9ceb39c","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-b9ceb39c","cdnUrl":"https://cdn.3dassets.dev/assets/26614/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-window-flower-box-empty-b9ceb39c","thumbnailUrl":"https://cdn.3dassets.dev/assets/26614/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26614/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":12852,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:18.476Z","updatedAt":"2026-10-25T09:08:11.372Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26614/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/26614/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26614/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26614/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/26614/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26614/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26616","slug":"rural-scavenging-settlements-bread-oven-24d0d327","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-24d0d327","cdnUrl":"https://cdn.3dassets.dev/assets/26616/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-bread-oven-24d0d327","thumbnailUrl":"https://cdn.3dassets.dev/assets/26616/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26616/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":28668,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:18.552Z","updatedAt":"2026-10-25T09:54:51.306Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26616/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/26616/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26616/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26616/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/26616/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26616/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26615","slug":"rural-scavenging-settlements-outdoor-wash-rack-02bb1f13","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-02bb1f13","cdnUrl":"https://cdn.3dassets.dev/assets/26615/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-outdoor-wash-rack-02bb1f13","thumbnailUrl":"https://cdn.3dassets.dev/assets/26615/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26615/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":23412,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:18.487Z","updatedAt":"2026-10-25T10:36:18.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26615/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/26615/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26615/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26615/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/26615/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26615/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26617","slug":"rural-scavenging-settlements-firewood-bay-120163f3","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-120163f3","cdnUrl":"https://cdn.3dassets.dev/assets/26617/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-firewood-bay-120163f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/26617/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26617/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":71016,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:18.786Z","updatedAt":"2026-10-25T09:04:09.905Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26617/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/26617/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26617/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26617/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/26617/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26617/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26620","slug":"rural-scavenging-settlements-village-maintenance-locke-28aa67e9","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-28aa67e9","cdnUrl":"https://cdn.3dassets.dev/assets/26620/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-village-maintenance-locke-28aa67e9","thumbnailUrl":"https://cdn.3dassets.dev/assets/26620/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26620/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":21712,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:22.017Z","updatedAt":"2026-10-25T10:40:17.596Z","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/26620/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/26620/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/26620/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26620/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/26620/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/26620/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26618","slug":"rural-scavenging-settlements-small-fuel-store-ccb7e5c0","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-ccb7e5c0","cdnUrl":"https://cdn.3dassets.dev/assets/26618/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-small-fuel-store-ccb7e5c0","thumbnailUrl":"https://cdn.3dassets.dev/assets/26618/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26618/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":233364,"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":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:50:21.807Z","updatedAt":"2026-10-25T09:07:19.489Z","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/26618/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/26618/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/26618/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26618/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/26618/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/26618/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"26619","slug":"rural-scavenging-settlements-drying-loft-frame-407558b3","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-407558b3","cdnUrl":"https://cdn.3dassets.dev/assets/26619/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-drying-loft-frame-407558b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/26619/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26619/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":58068,"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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:21.940Z","updatedAt":"2026-10-25T15:01:45.638Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26619/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/26619/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26619/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26619/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/26619/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26619/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26621","slug":"rural-scavenging-settlements-cellar-shelving-corner-de61da22","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-de61da22","cdnUrl":"https://cdn.3dassets.dev/assets/26621/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-cellar-shelving-corner-de61da22","thumbnailUrl":"https://cdn.3dassets.dev/assets/26621/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26621/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":15784,"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":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T20:50:22.402Z","updatedAt":"2026-10-25T09:33:46.101Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26621/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/26621/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26621/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26621/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/26621/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26621/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26622","slug":"rural-scavenging-settlements-assembled-s-b7a9381b-starter-scene","title":"Assembled Survivor Site (Rural Scavenging Settlements)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-assembled-s-b7a9381b-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/26622/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-assembled-s-b7a9381b-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/26622/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26622/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":324604,"triangles":13728,"vertices":12770,"meshes":20,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-2.1602347909114505,-0.00005490947519892764,-2.1274453006359852],"max":[2.000042765651394,4.267064664413485,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":"Claude Fable 5.1","downloads":18,"publishedAt":"2026-09-07T20:50:25.233Z","updatedAt":"2026-10-25T09:36:17.082Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26622/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/26622/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26622/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26622/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/26622/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26622/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"26623","slug":"rural-scavenging-settlements-construction-and-service--fb25b6a3","title":"Construction and Service Corner (Rural Scavenging Settlements)","summary":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","description":"A deliberately open cutaway composition showing grounded fixtures, usable entries and the common structural grid. Roof covers one corner to keep interior content visible. Static layout; no collision or gameplay supplied.","status":"published","url":"https://3dassets.dev/assets/rural-scavenging-settlements-construction-and-service--fb25b6a3","cdnUrl":"https://cdn.3dassets.dev/assets/26623/v1/model.glb","downloadUrl":"https://3dassets.dev/download/rural-scavenging-settlements-construction-and-service--fb25b6a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/26623/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/26623/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":337560,"triangles":13292,"vertices":13291,"meshes":21,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.1602347909114505,-0.00005490947519892764,-2.1274453006359852],"max":[2.000042765651394,4.267064664413485,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":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T20:50:25.512Z","updatedAt":"2026-10-25T09:38:18.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/26623/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/26623/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/26623/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/26623/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/26623/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/26623/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"23314","slug":"bunker-shelter-construction-air-intake-stack-5abd544e","title":"Air Intake Stack (Underground Bunker and Survivor Hideout)","summary":"Air Intake Stack: 0.5 × 2 × 0.5 m nominal survival duct assembly.","description":"Original weathered survival duct. Nominal envelope 0.5m wide, 2m high, 0.5m deep; applied framing, handles or rails can extend beyond this. Construction: form duct; shape chimney. Metres, +Y up, +Z front; grounded at y=0. Centred footprint. Door/hatch and cabinetry leaves use named local pivots when present. Static geometry only: no rig, animation, collision, physics or gameplay. Empty storage shells are intentionally lootable. CC0; AI-generated geometry.","status":"published","url":"https://3dassets.dev/assets/bunker-shelter-construction-air-intake-stack-5abd544e","cdnUrl":"https://cdn.3dassets.dev/assets/23314/v1/model.glb","downloadUrl":"https://3dassets.dev/download/bunker-shelter-construction-air-intake-stack-5abd544e","thumbnailUrl":"https://cdn.3dassets.dev/assets/23314/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/23314/v1/poster.webp","blurhash":"U5D0Jr_20000Iuaf${tP00Rj~pxu%MfPIUbH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":5012,"triangles":96,"vertices":288,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.375,0,-0.375],"max":[0.375,2.310014925459414,0.375]},"sizeMeters":[0.75,2.31,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T20:09:27.849Z","updatedAt":"2026-10-25T10:01:14.395Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/23314/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AirIntakeStackUndergroundBunkerAndSurvivorHideout(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/23314/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/23314/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/23314/v1/model.glb\" alt=\"Air Intake Stack (Underground Bunker and Survivor Hideout)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/23314/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/23314/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}