{"data":{"id":27,"slug":"trading-post-and-barter-market","title":"Trading Post and Barter Market","summary":"A post-apocalyptic trading post: barter counters, exchange windows and market stalls, scales and weights, display cases, strongboxes, lockers, notice boards and market signage.","description":"Trading Post and Barter Market: individually specified survival equipment, honest static construction, metre scale. CC0, AI-generated. ","url":"https://3dassets.dev/packs/trading-post-and-barter-market","coverUrl":"https://cdn.3dassets.dev/assets/20851/v1/poster.webp","assetCount":47,"aiGenerated":true,"aiGeneratedAssetCount":47,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":3193092,"totalTriangles":69488,"starterScene":{"id":"20851","slug":"trading-post-and-barter-market-settlemen-6e6da115-starter-scene","title":"Settlement Barter Square (Trading Post and Barter Market)","summary":"Composed settlement barter square with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed settlement barter square with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-settlemen-6e6da115-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/20851/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-settlemen-6e6da115-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/20851/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20851/v1/poster.webp","blurhash":"U47^[7~p004p?r-:M*Dk00D%oetRM,IVbBtL","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":222844,"triangles":9916,"vertices":8292,"meshes":18,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.6036213040351868,-0.00001894432526894363,-2.2500106914128484],"max":[3.4100166336331785,2.339907169998716,2.055043182232762]},"sizeMeters":[7.014,2.34,4.305],"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-07T17:16:29.380Z","updatedAt":"2026-10-12T11:36:23.630Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20851/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SettlementBarterSquareTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20851/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20851/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20851/v1/model.glb\" alt=\"Settlement Barter Square (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20851/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20851/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"20802","slug":"trading-post-and-barter-market-barter-counter-9cd0d597","title":"Barter Counter (Trading Post and Barter Market)","summary":"Barter Counter: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Barter Counter. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.80 × 1.08 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-barter-counter-9cd0d597","cdnUrl":"https://cdn.3dassets.dev/assets/20802/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-counter-9cd0d597","thumbnailUrl":"https://cdn.3dassets.dev/assets/20802/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20802/v1/poster.webp","blurhash":"U59ZAg~U5SVs-Y-WxCM_1NNLIVIUS^tLSdEM","category":{"slug":"props","title":"Props & Furniture"},"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":95736,"triangles":1620,"vertices":4860,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000027086832127043436,-0.3499526870397317],"max":[0.8999999761581421,1.0799971865746167,0.3499526870397317]},"sizeMeters":[1.8,1.08,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-07T17:16:11.952Z","updatedAt":"2026-10-06T00:16:23.673Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20802/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarterCounterTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20802/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20802/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20802/v1/model.glb\" alt=\"Barter Counter (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20802/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20802/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20806","slug":"trading-post-and-barter-market-secure-exchange-window-2bef1745","title":"Secure Exchange Window (Trading Post and Barter Market)","summary":"Secure Exchange Window: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Secure Exchange Window. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.80 × 2.07 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-secure-exchange-window-2bef1745","cdnUrl":"https://cdn.3dassets.dev/assets/20806/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-exchange-window-2bef1745","thumbnailUrl":"https://cdn.3dassets.dev/assets/20806/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20806/v1/poster.webp","blurhash":"U784Snxu00M{?^xuDiIUI:kDxFRPVYt7o~M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":72508,"triangles":1296,"vertices":3888,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0,-0.29996336984231303],"max":[0.8999999761581421,2.069999933242798,0.29996336984231303]},"sizeMeters":[1.8,2.07,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:12.183Z","updatedAt":"2026-10-25T07:29:31.710Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20806/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecureExchangeWindowTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20806/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20806/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20806/v1/model.glb\" alt=\"Secure Exchange Window (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20806/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20806/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20803","slug":"trading-post-and-barter-market-folding-trader-stall-4625ce03","title":"Folding Trader Stall (Trading Post and Barter Market)","summary":"Folding Trader Stall: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Folding Trader Stall. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.90 × 2.11 × 0.89 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-folding-trader-stall-4625ce03","cdnUrl":"https://cdn.3dassets.dev/assets/20803/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-folding-trader-stall-4625ce03","thumbnailUrl":"https://cdn.3dassets.dev/assets/20803/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20803/v1/poster.webp","blurhash":"UG97RqxZ4pWC_Lt6DkRktkoyVtRRaet6ofM|","category":{"slug":"props","title":"Props & Furniture"},"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":93244,"triangles":1512,"vertices":4536,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.949999988079071,0,-0.4472106026221403],"max":[0.949999988079071,2.1060566261438454,0.4472106026221403]},"sizeMeters":[1.9,2.106,0.894],"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-07T17:16:11.964Z","updatedAt":"2026-10-06T00:16:23.860Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20803/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldingTraderStallTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20803/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20803/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20803/v1/model.glb\" alt=\"Folding Trader Stall (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20803/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20803/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20800","slug":"trading-post-and-barter-market-canopy-market-booth-46c6c10f","title":"Canopy Market Booth (Trading Post and Barter Market)","summary":"Canopy Market Booth: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Canopy Market Booth. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 2.60 × 2.34 × 2.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-canopy-market-booth-46c6c10f","cdnUrl":"https://cdn.3dassets.dev/assets/20800/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-canopy-market-booth-46c6c10f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20800/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20800/v1/poster.webp","blurhash":"ULAmkxazIBt6_LofIVaeXSt6RkRQMzoefkWB","category":{"slug":"props","title":"Props & Furniture"},"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":87072,"triangles":1400,"vertices":4200,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.2999999523162842,0.00006619247965411468,-1.0500533688758535],"max":[1.2999999523162842,2.339907169998716,1.0500533688758535]},"sizeMeters":[2.6,2.34,2.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-07T17:16:11.880Z","updatedAt":"2026-10-05T09:42:40.559Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20800/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanopyMarketBoothTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20800/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20800/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20800/v1/model.glb\" alt=\"Canopy Market Booth (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20800/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20800/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20801","slug":"trading-post-and-barter-market-trade-inspection-table-10234330","title":"Trade Inspection Table (Trading Post and Barter Market)","summary":"Trade Inspection Table: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Trade Inspection Table. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.30 × 0.90 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-trade-inspection-table-10234330","cdnUrl":"https://cdn.3dassets.dev/assets/20801/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-inspection-table-10234330","thumbnailUrl":"https://cdn.3dassets.dev/assets/20801/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20801/v1/poster.webp","blurhash":"UKC6_ft79Goz~qxvD*RjM{t7M{RjDjofxuRj","category":{"slug":"props","title":"Props & Furniture"},"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":54360,"triangles":1080,"vertices":3240,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,0.000014130857519278894,-0.4000335556872797],"max":[0.6499999761581421,0.9020110810802029,0.4000335556872797]},"sizeMeters":[1.3,0.902,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:11.912Z","updatedAt":"2026-10-06T00:00:59.573Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20801/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradeInspectionTableTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20801/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20801/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20801/v1/model.glb\" alt=\"Trade Inspection Table (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20801/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20801/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20799","slug":"trading-post-and-barter-market-escrow-locker-1e707c57","title":"Escrow Locker (Trading Post and Barter Market)","summary":"Escrow Locker: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Escrow Locker. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.70 × 0.74 × 0.58 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-escrow-locker-1e707c57","cdnUrl":"https://cdn.3dassets.dev/assets/20799/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-escrow-locker-1e707c57","thumbnailUrl":"https://cdn.3dassets.dev/assets/20799/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20799/v1/poster.webp","blurhash":"UE9*GcMc4.wJ_NozD$WC$kyDMdOXf8ofkCRj","category":{"slug":"props","title":"Props & Furniture"},"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":51004,"triangles":972,"vertices":2916,"meshes":4,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3511999845737591,-8.7660737002615e-9,-0.2887289382975055],"max":[0.34999084895766097,0.7400000095367432,0.2887477863773114]},"sizeMeters":[0.701,0.74,0.577],"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-07T17:16:11.805Z","updatedAt":"2026-10-06T00:16:21.987Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20799/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EscrowLockerTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20799/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20799/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20799/v1/model.glb\" alt=\"Escrow Locker (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20799/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20799/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20805","slug":"trading-post-and-barter-market-two-sided-trade-hatch-2051cf29","title":"Two Sided Trade Hatch (Trading Post and Barter Market)","summary":"Two Sided Trade Hatch: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Two Sided Trade Hatch. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.07 × 1.07 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-two-sided-trade-hatch-2051cf29","cdnUrl":"https://cdn.3dassets.dev/assets/20805/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-two-sided-trade-hatch-2051cf29","thumbnailUrl":"https://cdn.3dassets.dev/assets/20805/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20805/v1/poster.webp","blurhash":"U99ju?xa00Rk_Mx]DjIB0Moz?ZM_H@jc%eW,","category":{"slug":"props","title":"Props & Furniture"},"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":35292,"triangles":648,"vertices":1944,"meshes":4,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5350000262260437,0,-0.3500167851802118],"max":[0.5350000262260437,1.0700000524520874,0.3500167851802118]},"sizeMeters":[1.07,1.07,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-07T17:16:12.002Z","updatedAt":"2026-10-05T21:23:51.622Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20805/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TwoSidedTradeHatchTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20805/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20805/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20805/v1/model.glb\" alt=\"Two Sided Trade Hatch (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20805/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20805/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20804","slug":"trading-post-and-barter-market-merchant-display-cart-244b6efc","title":"Merchant Display Cart (Trading Post and Barter Market)","summary":"Merchant Display Cart: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Merchant Display Cart. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.80 × 1.77 × 1.57 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-merchant-display-cart-244b6efc","cdnUrl":"https://cdn.3dassets.dev/assets/20804/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-merchant-display-cart-244b6efc","thumbnailUrl":"https://cdn.3dassets.dev/assets/20804/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20804/v1/poster.webp","blurhash":"U15E1@}s0L10Mdwvx]I;0hI:}X$*%gXSa0$M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":170060,"triangles":3112,"vertices":9336,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.9000000357627869,0,-0.787551949275738],"max":[0.9000000357627869,1.7699999809265137,0.787551949275738]},"sizeMeters":[1.8,1.77,1.575],"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-07T17:16:11.985Z","updatedAt":"2026-10-05T23:19:03.763Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20804/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MerchantDisplayCartTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20804/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20804/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20804/v1/model.glb\" alt=\"Merchant Display Cart (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20804/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20804/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20807","slug":"trading-post-and-barter-market-queue-barrier-f3a96778","title":"Queue Barrier (Trading Post and Barter Market)","summary":"Queue Barrier: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Queue Barrier. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.86 × 1.04 × 0.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-queue-barrier-f3a96778","cdnUrl":"https://cdn.3dassets.dev/assets/20807/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-queue-barrier-f3a96778","thumbnailUrl":"https://cdn.3dassets.dev/assets/20807/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20807/v1/poster.webp","blurhash":"U484#loxZ=oh--_N9GH@00RO-.D*02xv_Lxa","category":{"slug":"props","title":"Props & Furniture"},"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":24604,"triangles":476,"vertices":1428,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.9300000071525574,-0.00001894432526894363,-0.12999054026180953],"max":[0.9300000071525574,1.0400189066253311,0.12999054026180953]},"sizeMeters":[1.86,1.04,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:15.205Z","updatedAt":"2026-10-05T23:15:51.917Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20807/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function QueueBarrierTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20807/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20807/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20807/v1/model.glb\" alt=\"Queue Barrier (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20807/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20807/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20814","slug":"trading-post-and-barter-market-balance-scale-d04e210b","title":"Balance Scale (Trading Post and Barter Market)","summary":"Balance Scale: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Balance Scale. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.90 × 0.65 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-balance-scale-d04e210b","cdnUrl":"https://cdn.3dassets.dev/assets/20814/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-balance-scale-d04e210b","thumbnailUrl":"https://cdn.3dassets.dev/assets/20814/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20814/v1/poster.webp","blurhash":"U29@bV_300D%~W?vIn9Y00t8~q00Nz9EaJs;","category":{"slug":"props","title":"Props & Furniture"},"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":67508,"triangles":1372,"vertices":4116,"meshes":2,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.000012944061495046011,-0.14998168492115652],"max":[0.44999998807907104,0.6500129794517528,0.14998168492115652]},"sizeMeters":[0.9,0.65,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":12,"publishedAt":"2026-09-07T17:16:15.558Z","updatedAt":"2026-10-05T06:27:11.248Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20814/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalanceScaleTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20814/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20814/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20814/v1/model.glb\" alt=\"Balance Scale (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20814/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20814/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20812","slug":"trading-post-and-barter-market-beam-platform-scale-a35e9c87","title":"Beam Platform Scale (Trading Post and Barter Market)","summary":"Beam Platform Scale: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Beam Platform Scale. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.80 × 1.25 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-beam-platform-scale-a35e9c87","cdnUrl":"https://cdn.3dassets.dev/assets/20812/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-beam-platform-scale-a35e9c87","thumbnailUrl":"https://cdn.3dassets.dev/assets/20812/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20812/v1/poster.webp","blurhash":"U28NtiR500?v009G#R_MyExuMwDi~B%3O@Io","category":{"slug":"props","title":"Props & Furniture"},"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":30896,"triangles":512,"vertices":1536,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4000027617027102,-7.450581263057643e-10,-0.3499977726387325],"max":[0.4000027617027102,1.25,0.3499977726387325]},"sizeMeters":[0.8,1.25,0.7],"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-07T17:16:15.459Z","updatedAt":"2026-10-07T11:01:22.602Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20812/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BeamPlatformScaleTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20812/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20812/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20812/v1/model.glb\" alt=\"Beam Platform Scale (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20812/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20812/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20809","slug":"trading-post-and-barter-market-spring-hanging-scale-cd351709","title":"Spring Hanging Scale (Trading Post and Barter Market)","summary":"Spring Hanging Scale: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Spring Hanging Scale. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.13 × 0.33 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-spring-hanging-scale-cd351709","cdnUrl":"https://cdn.3dassets.dev/assets/20809/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-spring-hanging-scale-cd351709","thumbnailUrl":"https://cdn.3dassets.dev/assets/20809/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20809/v1/poster.webp","blurhash":"U58g,0t200It~qkB4nV]00IU~p_29EM|-;%L","category":{"slug":"props","title":"Props & Furniture"},"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":39084,"triangles":760,"vertices":2280,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.0649901285345082,0,-0.03799779320700583],"max":[0.0649901285345082,0.3336516320705414,0.037999156598281056]},"sizeMeters":[0.13,0.334,0.076],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T17:16:15.332Z","updatedAt":"2026-10-10T22:03:45.137Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20809/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpringHangingScaleTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20809/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20809/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20809/v1/model.glb\" alt=\"Spring Hanging Scale (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20809/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20809/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20810","slug":"trading-post-and-barter-market-coin-assay-block-0f382428","title":"Coin Assay Block (Trading Post and Barter Market)","summary":"Coin Assay Block: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coin Assay Block. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.25 × 0.13 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-coin-assay-block-0f382428","cdnUrl":"https://cdn.3dassets.dev/assets/20810/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-coin-assay-block-0f382428","thumbnailUrl":"https://cdn.3dassets.dev/assets/20810/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20810/v1/poster.webp","blurhash":"U36b0]tl00r=?bt7D%Mx00xa_2Dj00kC_3kD","category":{"slug":"props","title":"Props & Furniture"},"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":14012,"triangles":296,"vertices":888,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.125,-0.0000033552479030141136,-0.07999664296395764],"max":[0.125,0.12499971189631227,0.07999664296395764]},"sizeMeters":[0.25,0.125,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:15.403Z","updatedAt":"2026-10-25T12:43:57.039Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20810/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoinAssayBlockTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20810/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20810/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20810/v1/model.glb\" alt=\"Coin Assay Block (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20810/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20810/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20808","slug":"trading-post-and-barter-market-weight-set-c65e7207","title":"Weight Set (Trading Post and Barter Market)","summary":"Weight Set: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Weight Set. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.43 × 0.16 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-weight-set-c65e7207","cdnUrl":"https://cdn.3dassets.dev/assets/20808/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-weight-set-c65e7207","thumbnailUrl":"https://cdn.3dassets.dev/assets/20808/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20808/v1/poster.webp","blurhash":"U38}3=8_00_48__3-;D%00xv~qM{%h009F%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":89372,"triangles":1840,"vertices":5520,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2160000056028366,-0.000004104153242701081,-0.0519976819420507],"max":[0.2160000056028366,0.15700410939845144,0.0519976819420507]},"sizeMeters":[0.432,0.157,0.104],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:15.291Z","updatedAt":"2026-10-06T09:36:49.138Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20808/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeightSetTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20808/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20808/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20808/v1/model.glb\" alt=\"Weight Set (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20808/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20808/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20811","slug":"trading-post-and-barter-market-measuring-grain-scoop-572cdedb","title":"Measuring Grain Scoop (Trading Post and Barter Market)","summary":"Measuring Grain Scoop: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Measuring Grain Scoop. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.39 × 0.09 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-measuring-grain-scoop-572cdedb","cdnUrl":"https://cdn.3dassets.dev/assets/20811/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-measuring-grain-scoop-572cdedb","thumbnailUrl":"https://cdn.3dassets.dev/assets/20811/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20811/v1/poster.webp","blurhash":"U784oO_N00Di_N%MITRj00D$?b%g00D%-;xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29624,"triangles":444,"vertices":1332,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.19499999657273293,-0.0000010661158493449618,-0.10999999940395355],"max":[0.19499999284744263,0.09000106969212804,0.10999999940395355]},"sizeMeters":[0.39,0.09,0.22],"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-07T17:16:15.441Z","updatedAt":"2026-10-25T10:52:06.530Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20811/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MeasuringGrainScoopTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20811/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20811/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20811/v1/model.glb\" alt=\"Measuring Grain Scoop (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20811/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20811/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20813","slug":"trading-post-and-barter-market-volume-measure-vessel-b53a716d","title":"Volume Measure Vessel (Trading Post and Barter Market)","summary":"Volume Measure Vessel: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Volume Measure Vessel. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.34 × 0.25 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-volume-measure-vessel-b53a716d","cdnUrl":"https://cdn.3dassets.dev/assets/20813/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-volume-measure-vessel-b53a716d","thumbnailUrl":"https://cdn.3dassets.dev/assets/20813/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20813/v1/poster.webp","blurhash":"U9A16K.800Mx_Nt7D%t79FWVozoL%2ofRjV@","category":{"slug":"props","title":"Props & Furniture"},"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":48520,"triangles":972,"vertices":2916,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17212018370628357,-0.000007358984409205904,-0.1230066430260094],"max":[0.17212018370628357,0.2500073589844092,0.12300018173549145]},"sizeMeters":[0.344,0.25,0.246],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:15.484Z","updatedAt":"2026-10-05T19:51:06.298Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20813/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VolumeMeasureVesselTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20813/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20813/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20813/v1/model.glb\" alt=\"Volume Measure Vessel (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20813/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20813/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20815","slug":"trading-post-and-barter-market-cloth-measuring-board-ed92982b","title":"Cloth Measuring Board (Trading Post and Barter Market)","summary":"Cloth Measuring Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Cloth Measuring Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.00 × 0.06 × 0.18 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-cloth-measuring-board-ed92982b","cdnUrl":"https://cdn.3dassets.dev/assets/20815/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-cloth-measuring-board-ed92982b","thumbnailUrl":"https://cdn.3dassets.dev/assets/20815/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20815/v1/poster.webp","blurhash":"U36taiwc01oL-;={ROIV00tS~CM_4m0z%#=|","category":{"slug":"props","title":"Props & Furniture"},"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":76360,"triangles":1404,"vertices":4212,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.00001762440196948628,-0.08996856593523972],"max":[0.5,0.056933804338681226,0.08996856593523972]},"sizeMeters":[1,0.057,0.18],"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-07T17:16:18.755Z","updatedAt":"2026-10-07T02:13:05.942Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20815/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClothMeasuringBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20815/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20815/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20815/v1/model.glb\" alt=\"Cloth Measuring Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20815/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20815/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20818","slug":"trading-post-and-barter-market-counterfeit-inspection--52978817","title":"Counterfeit Inspection Lens (Trading Post and Barter Market)","summary":"Counterfeit Inspection Lens: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Counterfeit Inspection Lens. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.22 × 0.51 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-counterfeit-inspection--52978817","cdnUrl":"https://cdn.3dassets.dev/assets/20818/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-counterfeit-inspection--52978817","thumbnailUrl":"https://cdn.3dassets.dev/assets/20818/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20818/v1/poster.webp","blurhash":"U184xl_3000000Io~W$*?H%2E1D%=LoMPUX6","category":{"slug":"props","title":"Props & Furniture"},"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":28560,"triangles":556,"vertices":1668,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10998611192509637,4.470348535789981e-10,-0.10998611192509637],"max":[0.10998611192509637,0.5099999904632568,0.10998611192509637]},"sizeMeters":[0.22,0.51,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:18.820Z","updatedAt":"2026-10-06T06:25:07.358Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20818/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CounterfeitInspectionLensTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20818/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20818/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20818/v1/model.glb\" alt=\"Counterfeit Inspection Lens (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20818/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20818/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20817","slug":"trading-post-and-barter-market-wire-display-tree-ccb546bd","title":"Wire Display Tree (Trading Post and Barter Market)","summary":"Wire Display Tree: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Wire Display Tree. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.65 × 1.24 × 0.57 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-wire-display-tree-ccb546bd","cdnUrl":"https://cdn.3dassets.dev/assets/20817/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-wire-display-tree-ccb546bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/20817/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20817/v1/poster.webp","blurhash":"U16[Hw%M009YtSNGxu%M00IU_N?H00Di?v~q","category":{"slug":"props","title":"Props & Furniture"},"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":53692,"triangles":1096,"vertices":3288,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.32711463131058965,0,-0.286616339878025],"max":[0.32711463131058965,1.2350000143051147,0.286616339878025]},"sizeMeters":[0.654,1.235,0.573],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:18.803Z","updatedAt":"2026-10-05T21:33:30.827Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20817/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WireDisplayTreeTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20817/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20817/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20817/v1/model.glb\" alt=\"Wire Display Tree (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20817/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20817/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20816","slug":"trading-post-and-barter-market-secure-glassless-case-cdb5ad27","title":"Secure Glassless Case (Trading Post and Barter Market)","summary":"Secure Glassless Case: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Secure Glassless Case. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.10 × 1.50 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-secure-glassless-case-cdb5ad27","cdnUrl":"https://cdn.3dassets.dev/assets/20816/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-glassless-case-cdb5ad27","thumbnailUrl":"https://cdn.3dassets.dev/assets/20816/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20816/v1/poster.webp","blurhash":"U59aHg-:00tS~WWA4.M|00D%%hxv.7xtV@tR","category":{"slug":"props","title":"Props & Furniture"},"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":91228,"triangles":1728,"vertices":5184,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5500258654005837,0,-0.3000183176084074],"max":[0.5500258654005837,1.4938000440597534,0.3000183176084074]},"sizeMeters":[1.1,1.494,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-07T17:16:18.771Z","updatedAt":"2026-10-05T21:20:00.690Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20816/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecureGlasslessCaseTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20816/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20816/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20816/v1/model.glb\" alt=\"Secure Glassless Case (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20816/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20816/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20821","slug":"trading-post-and-barter-market-rotating-pouch-rack-c33727ee","title":"Rotating Pouch Rack (Trading Post and Barter Market)","summary":"Rotating Pouch Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Rotating Pouch Rack. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.64 × 1.45 × 0.64 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-rotating-pouch-rack-c33727ee","cdnUrl":"https://cdn.3dassets.dev/assets/20821/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-rotating-pouch-rack-c33727ee","thumbnailUrl":"https://cdn.3dassets.dev/assets/20821/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20821/v1/poster.webp","blurhash":"U27_A*%200D%E1R*-p$*00jZ~WWV4.ay=|jZ","category":{"slug":"props","title":"Props & Furniture"},"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":77892,"triangles":1600,"vertices":4800,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.31797760017987253,-8.940697071579962e-10,-0.31797760017987253],"max":[0.31797760017987253,1.4449999332427979,0.31797760017987253]},"sizeMeters":[0.636,1.445,0.636],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:18.877Z","updatedAt":"2026-10-05T19:50:48.646Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20821/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RotatingPouchRackTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20821/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20821/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20821/v1/model.glb\" alt=\"Rotating Pouch Rack (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20821/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20821/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20819","slug":"trading-post-and-barter-market-barter-token-board-987fccd6","title":"Barter Token Board (Trading Post and Barter Market)","summary":"Barter Token Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Barter Token Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.72 × 0.87 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-barter-token-board-987fccd6","cdnUrl":"https://cdn.3dassets.dev/assets/20819/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-token-board-987fccd6","thumbnailUrl":"https://cdn.3dassets.dev/assets/20819/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20819/v1/poster.webp","blurhash":"U16@4l^P00D+}q=eAG5l0KI:~B$*pGs,RQJB","category":{"slug":"props","title":"Props & Furniture"},"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":67052,"triangles":1128,"vertices":3384,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3600196864118392,0,-0.04249435456557026],"max":[0.3600196864118392,0.8700000047683716,0.04250694325602309]},"sizeMeters":[0.72,0.87,0.085],"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-07T17:16:18.843Z","updatedAt":"2026-10-06T06:24:57.765Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20819/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarterTokenBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20819/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20819/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20819/v1/model.glb\" alt=\"Barter Token Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20819/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20819/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20820","slug":"trading-post-and-barter-market-deal-notice-board-1ecad0a1","title":"Deal Notice Board (Trading Post and Barter Market)","summary":"Deal Notice Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Deal Notice Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.17 × 1.67 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-deal-notice-board-1ecad0a1","cdnUrl":"https://cdn.3dassets.dev/assets/20820/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-deal-notice-board-1ecad0a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/20820/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20820/v1/poster.webp","blurhash":"U470}LtP00Rk^jxZ9uIp00n%~pR+9ZWA?Gt7","category":{"slug":"props","title":"Props & Furniture"},"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":58800,"triangles":972,"vertices":2916,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5850376753250148,0,-0.03496261392742924],"max":[0.5850376753250148,1.6699999570846558,0.03496261392742924]},"sizeMeters":[1.17,1.67,0.07],"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-07T17:16:18.853Z","updatedAt":"2026-10-06T06:25:03.650Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20820/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DealNoticeBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20820/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20820/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20820/v1/model.glb\" alt=\"Deal Notice Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20820/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20820/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20822","slug":"trading-post-and-barter-market-goods-inspection-lamp-63464b16","title":"Goods Inspection Lamp (Trading Post and Barter Market)","summary":"Goods Inspection Lamp: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Goods Inspection Lamp. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.35 × 0.72 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-goods-inspection-lamp-63464b16","cdnUrl":"https://cdn.3dassets.dev/assets/20822/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-goods-inspection-lamp-63464b16","thumbnailUrl":"https://cdn.3dassets.dev/assets/20822/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20822/v1/poster.webp","blurhash":"U18Nz#?v0000_3?vD*00%h?vMw00E1R*%2aK","category":{"slug":"props","title":"Props & Furniture"},"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":36016,"triangles":712,"vertices":2136,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17500655394589007,0,-0.13998107249824754],"max":[0.17500655394589007,0.7199999690055847,0.13998107249824754]},"sizeMeters":[0.35,0.72,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T17:16:19.014Z","updatedAt":"2026-10-25T17:41:08.969Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20822/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GoodsInspectionLampTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20822/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20822/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20822/v1/model.glb\" alt=\"Goods Inspection Lamp (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20822/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20822/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20825","slug":"trading-post-and-barter-market-weapon-free-check-rack-bdf27672","title":"Weapon Free Check Rack (Trading Post and Barter Market)","summary":"Weapon Free Check Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Weapon Free Check Rack. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.47 × 1.77 × 0.38 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-weapon-free-check-rack-bdf27672","cdnUrl":"https://cdn.3dassets.dev/assets/20825/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-weapon-free-check-rack-bdf27672","thumbnailUrl":"https://cdn.3dassets.dev/assets/20825/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20825/v1/poster.webp","blurhash":"U38WNuxt00RQ~C-B565kMvt6p0EL01$g~V5n","category":{"slug":"props","title":"Props & Furniture"},"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":91268,"triangles":1632,"vertices":4896,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7350466853986491,0,-0.19178883298296087],"max":[0.7350466853986491,1.7699999809265137,0.19179483719688975]},"sizeMeters":[1.47,1.77,0.384],"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-07T17:16:22.202Z","updatedAt":"2026-10-25T11:19:18.901Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20825/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeaponFreeCheckRackTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20825/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20825/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20825/v1/model.glb\" alt=\"Weapon Free Check Rack (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20825/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20825/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20827","slug":"trading-post-and-barter-market-parcel-check-shelf-d1f82f52","title":"Parcel Check Shelf (Trading Post and Barter Market)","summary":"Parcel Check Shelf: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Parcel Check Shelf. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.30 × 1.60 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-parcel-check-shelf-d1f82f52","cdnUrl":"https://cdn.3dassets.dev/assets/20827/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-parcel-check-shelf-d1f82f52","thumbnailUrl":"https://cdn.3dassets.dev/assets/20827/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20827/v1/poster.webp","blurhash":"U17^Y@~C00IU_N^,M_002aY4qu8_x^?awH8{","category":{"slug":"props","title":"Props & Furniture"},"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":124892,"triangles":2052,"vertices":6156,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6499999761581421,0,-0.4000335556872797],"max":[0.6499999761581421,1.600000023841858,0.4000335556872797]},"sizeMeters":[1.3,1.6,0.8],"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-07T17:16:22.273Z","updatedAt":"2026-10-05T19:50:57.937Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20827/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParcelCheckShelfTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20827/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20827/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20827/v1/model.glb\" alt=\"Parcel Check Shelf (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20827/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20827/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20826","slug":"trading-post-and-barter-market-sample-display-plinth-c1983fc4","title":"Sample Display Plinth (Trading Post and Barter Market)","summary":"Sample Display Plinth: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Sample Display Plinth. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.60 × 0.76 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-sample-display-plinth-c1983fc4","cdnUrl":"https://cdn.3dassets.dev/assets/20826/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-sample-display-plinth-c1983fc4","thumbnailUrl":"https://cdn.3dassets.dev/assets/20826/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20826/v1/poster.webp","blurhash":"UKAc-+xu9FM|_NogIAjstlWCRit7RjWBofof","category":{"slug":"props","title":"Props & Furniture"},"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":19172,"triangles":324,"vertices":972,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0,-0.30000001192092896],"max":[0.30000001192092896,0.7550032734880006,0.30000001192092896]},"sizeMeters":[0.6,0.755,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-07T17:16:22.253Z","updatedAt":"2026-10-25T06:36:12.245Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20826/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SampleDisplayPlinthTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20826/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20826/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20826/v1/model.glb\" alt=\"Sample Display Plinth (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20826/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20826/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20823","slug":"trading-post-and-barter-market-barter-strongbox-94763941","title":"Barter Strongbox (Trading Post and Barter Market)","summary":"Barter Strongbox: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Barter Strongbox. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.52 × 0.34 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-barter-strongbox-94763941","cdnUrl":"https://cdn.3dassets.dev/assets/20823/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-strongbox-94763941","thumbnailUrl":"https://cdn.3dassets.dev/assets/20823/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20823/v1/poster.webp","blurhash":"U58z}n.84nIU9Et7%gof00D%Rjxu_4WBD%RP","category":{"slug":"props","title":"Props & Furniture"},"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":51968,"triangles":1044,"vertices":3132,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.25999999046325684,0.0000016850745321039806,-0.2009563232112162],"max":[0.25999999046325684,0.3349883369065052,0.200982240909694]},"sizeMeters":[0.52,0.335,0.402],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:22.088Z","updatedAt":"2026-10-06T09:36:49.220Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20823/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarterStrongboxTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20823/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20823/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20823/v1/model.glb\" alt=\"Barter Strongbox (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20823/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20823/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20829","slug":"trading-post-and-barter-market-coin-tray-af9167aa","title":"Coin Tray (Trading Post and Barter Market)","summary":"Coin Tray: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coin Tray. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.30 × 0.04 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-coin-tray-af9167aa","cdnUrl":"https://cdn.3dassets.dev/assets/20829/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-coin-tray-af9167aa","thumbnailUrl":"https://cdn.3dassets.dev/assets/20829/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20829/v1/poster.webp","blurhash":"U37TkA%101RQ-oxaRjNG00NH~WW;4.M{xut8","category":{"slug":"props","title":"Props & Furniture"},"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":62352,"triangles":1020,"vertices":3060,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.15000000596046448,0.000004271256600723444,-0.11000397177739682],"max":[0.15000000596046448,0.039995727663065084,0.11000397177739682]},"sizeMeters":[0.3,0.04,0.22],"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-07T17:16:22.364Z","updatedAt":"2026-10-06T06:22:04.037Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20829/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoinTrayTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20829/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20829/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20829/v1/model.glb\" alt=\"Coin Tray (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20829/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20829/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20828","slug":"trading-post-and-barter-market-token-tube-rack-3bc94927","title":"Token Tube Rack (Trading Post and Barter Market)","summary":"Token Tube Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Token Tube Rack. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.32 × 0.20 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-token-tube-rack-3bc94927","cdnUrl":"https://cdn.3dassets.dev/assets/20828/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-token-tube-rack-3bc94927","thumbnailUrl":"https://cdn.3dassets.dev/assets/20828/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20828/v1/poster.webp","blurhash":"U99s;v-U00ah.T%MMwIo9ttltRIUMcxb%MM{","category":{"slug":"props","title":"Props & Furniture"},"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":103116,"triangles":1896,"vertices":5688,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.1599999964237213,-0.000006789064355042229,-0.0800122056153782],"max":[0.1599999964237213,0.20499939378288445,0.0800122056153782]},"sizeMeters":[0.32,0.205,0.16],"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-07T17:16:22.291Z","updatedAt":"2026-10-05T19:50:51.078Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20828/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TokenTubeRackTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20828/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20828/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20828/v1/model.glb\" alt=\"Token Tube Rack (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20828/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20828/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20824","slug":"trading-post-and-barter-market-trade-sack-stand-399ad431","title":"Trade Sack Stand (Trading Post and Barter Market)","summary":"Trade Sack Stand: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Trade Sack Stand. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.70 × 0.97 × 0.53 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-trade-sack-stand-399ad431","cdnUrl":"https://cdn.3dassets.dev/assets/20824/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-sack-stand-399ad431","thumbnailUrl":"https://cdn.3dassets.dev/assets/20824/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20824/v1/poster.webp","blurhash":"U59G{s-;004o*JtRH=Mx8yWA?tt7$%xajGIo","category":{"slug":"props","title":"Props & Furniture"},"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":59640,"triangles":1056,"vertices":3168,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3499999940395355,1.1920929132713809e-8,-0.2649760475290972],"max":[0.3499999940395355,0.9700000286102295,0.2649760475290972]},"sizeMeters":[0.7,0.97,0.53],"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-07T17:16:22.155Z","updatedAt":"2026-10-05T21:23:54.237Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20824/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradeSackStandTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20824/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20824/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20824/v1/model.glb\" alt=\"Trade Sack Stand (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20824/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20824/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20830","slug":"trading-post-and-barter-market-secure-drop-slot-c9cb0032","title":"Secure Drop Slot (Trading Post and Barter Market)","summary":"Secure Drop Slot: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Secure Drop Slot. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.45 × 0.70 × 0.38 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-secure-drop-slot-c9cb0032","cdnUrl":"https://cdn.3dassets.dev/assets/20830/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-drop-slot-c9cb0032","thumbnailUrl":"https://cdn.3dassets.dev/assets/20830/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20830/v1/poster.webp","blurhash":"UBAAdjso00S#_Nt7DiRPtSbbMxenxZoLR+W=","category":{"slug":"props","title":"Props & Furniture"},"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":27024,"triangles":432,"vertices":1296,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.2250160183854749,0,-0.1900234960162156],"max":[0.2250160183854749,0.699999988079071,0.1900234960162156]},"sizeMeters":[0.45,0.7,0.38],"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-07T17:16:22.486Z","updatedAt":"2026-10-05T09:32:30.699Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20830/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecureDropSlotTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20830/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20830/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20830/v1/model.glb\" alt=\"Secure Drop Slot (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20830/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20830/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20834","slug":"trading-post-and-barter-market-numbered-locker-bank-2457d33f","title":"Numbered Locker Bank (Trading Post and Barter Market)","summary":"Numbered Locker Bank: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Numbered Locker Bank. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.20 × 1.80 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-numbered-locker-bank-2457d33f","cdnUrl":"https://cdn.3dassets.dev/assets/20834/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-numbered-locker-bank-2457d33f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20834/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20834/v1/poster.webp","blurhash":"U67-m8Ri00%N_4t79FM{?bt7D$M{%MxuM{IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":85400,"triangles":2052,"vertices":6156,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000366063158291,0,-0.2512924522193317],"max":[0.6000366063158291,1.7999999523162842,0.2512924522193317]},"sizeMeters":[1.2,1.8,0.503],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:25.707Z","updatedAt":"2026-10-06T05:25:13.309Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20834/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NumberedLockerBankTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20834/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20834/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20834/v1/model.glb\" alt=\"Numbered Locker Bank (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20834/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20834/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20833","slug":"trading-post-and-barter-market-currency-counting-board-03c46f1b","title":"Currency Counting Board (Trading Post and Barter Market)","summary":"Currency Counting Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Currency Counting Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.55 × 0.06 × 0.35 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-currency-counting-board-03c46f1b","cdnUrl":"https://cdn.3dassets.dev/assets/20833/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-currency-counting-board-03c46f1b","thumbnailUrl":"https://cdn.3dassets.dev/assets/20833/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20833/v1/poster.webp","blurhash":"U47wWxx?01RS%M%1V[Io00R.~pWT9E9axt-;","category":{"slug":"props","title":"Props & Furniture"},"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":76352,"triangles":1296,"vertices":3888,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.2750000059604645,-0.000005951863001436505,-0.17498550750070754],"max":[0.2750000059604645,0.05498458818996753,0.17498550750070754]},"sizeMeters":[0.55,0.055,0.35],"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-07T17:16:25.736Z","updatedAt":"2026-10-06T06:24:59.537Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20833/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CurrencyCountingBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20833/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20833/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20833/v1/model.glb\" alt=\"Currency Counting Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20833/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20833/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20831","slug":"trading-post-and-barter-market-receipts-spike-0d006386","title":"Receipts Spike (Trading Post and Barter Market)","summary":"Receipts Spike: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Receipts Spike. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.13 × 0.20 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-receipts-spike-0d006386","cdnUrl":"https://cdn.3dassets.dev/assets/20831/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-receipts-spike-0d006386","thumbnailUrl":"https://cdn.3dassets.dev/assets/20831/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20831/v1/poster.webp","blurhash":"U98z[Vxu00IV00R%_3t7IUayxuof~qof9Gae","category":{"slug":"props","title":"Props & Furniture"},"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":12720,"triangles":228,"vertices":684,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0650039699333747,1.6763807009212428e-10,-0.0650039699333747],"max":[0.0650039699333747,0.19500000774860382,0.0650039699333747]},"sizeMeters":[0.13,0.195,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:25.658Z","updatedAt":"2026-10-05T23:16:16.004Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20831/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReceiptsSpikeTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20831/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20831/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20831/v1/model.glb\" alt=\"Receipts Spike (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20831/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20831/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20835","slug":"trading-post-and-barter-market-stamp-and-inkpad-8cf6dbac","title":"Stamp And Inkpad (Trading Post and Barter Market)","summary":"Stamp And Inkpad: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stamp And Inkpad. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.26 × 0.12 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-stamp-and-inkpad-8cf6dbac","cdnUrl":"https://cdn.3dassets.dev/assets/20835/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-stamp-and-inkpad-8cf6dbac","thumbnailUrl":"https://cdn.3dassets.dev/assets/20835/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20835/v1/poster.webp","blurhash":"U14_Rmt+4nz=5TOs$$nN00Me-=GG[n+tOrTK","category":{"slug":"props","title":"Props & Furniture"},"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":45892,"triangles":692,"vertices":2076,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.1274999976158142,0.0000030054887679084596,-0.04999687091786239],"max":[0.1274999976158142,0.11599699117337198,0.04999687091786239]},"sizeMeters":[0.255,0.116,0.1],"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-07T17:16:25.788Z","updatedAt":"2026-10-06T09:36:47.184Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20835/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StampAndInkpadTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20835/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20835/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20835/v1/model.glb\" alt=\"Stamp And Inkpad (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20835/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20835/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20838","slug":"trading-post-and-barter-market-settlement-bell-b149141f","title":"Settlement Bell (Trading Post and Barter Market)","summary":"Settlement Bell: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Settlement Bell. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.82 × 1.87 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-settlement-bell-b149141f","cdnUrl":"https://cdn.3dassets.dev/assets/20838/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-settlement-bell-b149141f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20838/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20838/v1/poster.webp","blurhash":"U25}Egx@00H[_3xZ4oEL4UV[_3tR4TjE_NgN","category":{"slug":"props","title":"Props & Furniture"},"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":67380,"triangles":1164,"vertices":3492,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4100166336331787,0,-0.2500106914128485],"max":[0.4100166336331787,1.8700000047683716,0.2500106914128485]},"sizeMeters":[0.82,1.87,0.5],"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-07T17:16:26.003Z","updatedAt":"2026-10-05T20:20:22.687Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20838/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SettlementBellTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20838/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20838/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20838/v1/model.glb\" alt=\"Settlement Bell (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20838/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20838/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20832","slug":"trading-post-and-barter-market-trade-open-sign-d3e5f80b","title":"Trade Open Sign (Trading Post and Barter Market)","summary":"Trade Open Sign: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Trade Open Sign. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.07 × 1.67 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-trade-open-sign-d3e5f80b","cdnUrl":"https://cdn.3dassets.dev/assets/20832/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-open-sign-d3e5f80b","thumbnailUrl":"https://cdn.3dassets.dev/assets/20832/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20832/v1/poster.webp","blurhash":"U58DLg]-00EM~U$%9HEM0LOD.7r?4UjF_Loz","category":{"slug":"props","title":"Props & Furniture"},"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":34828,"triangles":484,"vertices":1452,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5349891521810856,0,-0.042462614225452465],"max":[0.5349891521810856,1.6699999570846558,0.04251329361063727]},"sizeMeters":[1.07,1.67,0.085],"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-07T17:16:25.689Z","updatedAt":"2026-10-25T14:55:48.435Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20832/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradeOpenSignTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20832/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20832/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20832/v1/model.glb\" alt=\"Trade Open Sign (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20832/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20832/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20836","slug":"trading-post-and-barter-market-trade-closed-shutter-47b8747f","title":"Trade Closed Shutter (Trading Post and Barter Market)","summary":"Trade Closed Shutter: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Trade Closed Shutter. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.17 × 1.17 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-trade-closed-shutter-47b8747f","cdnUrl":"https://cdn.3dassets.dev/assets/20836/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-closed-shutter-47b8747f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20836/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20836/v1/poster.webp","blurhash":"U7979M%L0LX8_NxvIAIoK6kCn4RPxux]RjIT","category":{"slug":"props","title":"Props & Furniture"},"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":79564,"triangles":1296,"vertices":3888,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5849999785423279,0,-0.04877529042566118],"max":[0.5849999785423279,1.1699999570846558,0.04877529042566118]},"sizeMeters":[1.17,1.17,0.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-07T17:16:25.861Z","updatedAt":"2026-10-06T02:52:02.609Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20836/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradeClosedShutterTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20836/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20836/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20836/v1/model.glb\" alt=\"Trade Closed Shutter (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20836/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20836/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20837","slug":"trading-post-and-barter-market-signal-windsock-80c7cc6f","title":"Signal Windsock (Trading Post and Barter Market)","summary":"Signal Windsock: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Signal Windsock. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.17 × 2.63 × 0.18 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-signal-windsock-80c7cc6f","cdnUrl":"https://cdn.3dassets.dev/assets/20837/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-signal-windsock-80c7cc6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20837/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20837/v1/poster.webp","blurhash":"U76*Ewtl01H=~Abb0znh%1W;IpnjkWt6V@Io","category":{"slug":"props","title":"Props & Furniture"},"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":32864,"triangles":632,"vertices":1896,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5840573909597506,0,-0.09001363055744661],"max":[0.5841185450553894,2.630000114440918,0.09001363055744661]},"sizeMeters":[1.168,2.63,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:25.917Z","updatedAt":"2026-10-25T13:06:44.875Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20837/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SignalWindsockTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20837/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20837/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20837/v1/model.glb\" alt=\"Signal Windsock (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20837/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20837/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20848","slug":"trading-post-and-barter-market-market-lantern-post-34483fe6","title":"Market Lantern Post (Trading Post and Barter Market)","summary":"Market Lantern Post: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Market Lantern Post. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.54 × 2.23 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-market-lantern-post-34483fe6","cdnUrl":"https://cdn.3dassets.dev/assets/20848/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-market-lantern-post-34483fe6","thumbnailUrl":"https://cdn.3dassets.dev/assets/20848/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20848/v1/poster.webp","blurhash":"U24{0ZjE00TJ_3R%4nxv;*X8B6rrRiogo#M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27548,"triangles":536,"vertices":1608,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.26997071835840974,0,-0.12004761604618523],"max":[0.26997071835840974,2.2350001335144043,0.12004761604618523]},"sizeMeters":[0.54,2.235,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:29.125Z","updatedAt":"2026-10-05T09:42:37.678Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20848/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarketLanternPostTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20848/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20848/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20848/v1/model.glb\" alt=\"Market Lantern Post (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20848/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20848/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20847","slug":"trading-post-and-barter-market-roadside-trade-marker-3e96a686","title":"Roadside Trade Marker (Trading Post and Barter Market)","summary":"Roadside Trade Marker: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Roadside Trade Marker. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.21 × 1.80 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-roadside-trade-marker-3e96a686","cdnUrl":"https://cdn.3dassets.dev/assets/20847/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-roadside-trade-marker-3e96a686","thumbnailUrl":"https://cdn.3dassets.dev/assets/20847/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20847/v1/poster.webp","blurhash":"U76Hry%K02E2~oxt9HIVWUt6s:M|8|WV-:jb","category":{"slug":"props","title":"Props & Furniture"},"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":21956,"triangles":276,"vertices":828,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6036213040351868,0,-0.05504318223276213],"max":[0.6036213040351868,1.7999999523162842,0.05504318223276213]},"sizeMeters":[1.207,1.8,0.11],"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-07T17:16:29.113Z","updatedAt":"2026-10-06T02:52:04.246Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20847/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoadsideTradeMarkerTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20847/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20847/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20847/v1/model.glb\" alt=\"Roadside Trade Marker (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20847/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20847/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20850","slug":"trading-post-and-barter-market-flag-hoist-23641833","title":"Flag Hoist (Trading Post and Barter Market)","summary":"Flag Hoist: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Flag Hoist. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.95 × 3.04 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-flag-hoist-23641833","cdnUrl":"https://cdn.3dassets.dev/assets/20850/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-flag-hoist-23641833","thumbnailUrl":"https://cdn.3dassets.dev/assets/20850/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20850/v1/poster.webp","blurhash":"U26kbN?b0000~oRj02%2xut7NFIU9Ixu?XDi","category":{"slug":"props","title":"Props & Furniture"},"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":33204,"triangles":640,"vertices":1920,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4738037328560363,0,-0.13990661160540682],"max":[0.4739480388411637,3.0399999618530273,0.13990661160540682]},"sizeMeters":[0.948,3.04,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:29.307Z","updatedAt":"2026-10-25T17:34:06.266Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20850/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlagHoistTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20850/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20850/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20850/v1/model.glb\" alt=\"Flag Hoist (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20850/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20850/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20849","slug":"trading-post-and-barter-market-request-board-455ddcc6","title":"Request Board (Trading Post and Barter Market)","summary":"Request Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Request Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.27 × 1.57 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-request-board-455ddcc6","cdnUrl":"https://cdn.3dassets.dev/assets/20849/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-request-board-455ddcc6","thumbnailUrl":"https://cdn.3dassets.dev/assets/20849/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20849/v1/poster.webp","blurhash":"U25E86%10MIp~A$%9aIpELW;s;aKn3s.o}Nc","category":{"slug":"props","title":"Props & Furniture"},"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":128764,"triangles":2052,"vertices":6156,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6350290137996686,0,-0.062479936167409954],"max":[0.6350290137996686,1.5700000524520874,0.062479936167409954]},"sizeMeters":[1.27,1.57,0.125],"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-07T17:16:29.158Z","updatedAt":"2026-10-06T06:24:59.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20849/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RequestBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20849/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20849/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20849/v1/model.glb\" alt=\"Request Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20849/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20849/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20853","slug":"trading-post-and-barter-market-barter-offer-pedestal-e30fcdcc","title":"Barter Offer Pedestal (Trading Post and Barter Market)","summary":"Barter Offer Pedestal: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Barter Offer Pedestal. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.65 × 1.20 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-barter-offer-pedestal-e30fcdcc","cdnUrl":"https://cdn.3dassets.dev/assets/20853/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-offer-pedestal-e30fcdcc","thumbnailUrl":"https://cdn.3dassets.dev/assets/20853/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20853/v1/poster.webp","blurhash":"U27^xts:00gNHXIBTz_3?^WE8_s+F2xv-o9Y","category":{"slug":"props","title":"Props & Furniture"},"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":83744,"triangles":1348,"vertices":4044,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3250113033533831,-0.0000032819071566630997,-0.30000001192092896],"max":[0.3250113033533831,1.2000000476837158,0.30000001192092896]},"sizeMeters":[0.65,1.2,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:29.474Z","updatedAt":"2026-10-06T09:36:48.316Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20853/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarterOfferPedestalTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20853/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20853/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20853/v1/model.glb\" alt=\"Barter Offer Pedestal (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20853/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20853/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20851","slug":"trading-post-and-barter-market-settlemen-6e6da115-starter-scene","title":"Settlement Barter Square (Trading Post and Barter Market)","summary":"Composed settlement barter square with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed settlement barter square with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-settlemen-6e6da115-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/20851/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-settlemen-6e6da115-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/20851/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20851/v1/poster.webp","blurhash":"U47^[7~p004p?r-:M*Dk00D%oetRM,IVbBtL","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":222844,"triangles":9916,"vertices":8292,"meshes":18,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.6036213040351868,-0.00001894432526894363,-2.2500106914128484],"max":[3.4100166336331785,2.339907169998716,2.055043182232762]},"sizeMeters":[7.014,2.34,4.305],"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-07T17:16:29.380Z","updatedAt":"2026-10-12T11:36:23.630Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20851/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SettlementBarterSquareTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20851/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20851/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20851/v1/model.glb\" alt=\"Settlement Barter Square (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20851/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20851/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20852","slug":"trading-post-and-barter-market-secure-exchange-desk-80d7d3fa","title":"Secure Exchange Desk (Trading Post and Barter Market)","summary":"Composed secure exchange desk with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed secure exchange desk with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-secure-exchange-desk-80d7d3fa","cdnUrl":"https://cdn.3dassets.dev/assets/20852/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-exchange-desk-80d7d3fa","thumbnailUrl":"https://cdn.3dassets.dev/assets/20852/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20852/v1/poster.webp","blurhash":"U284b@$%57ox~VxHR*%#00kC$%b^00tlM|8w","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":208104,"triangles":9912,"vertices":8304,"meshes":22,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-2.6350290137996684,0,-1.299963369842313],"max":[2.600036606315829,2.2350001335144043,1.4000335556872798]},"sizeMeters":[5.235,2.235,2.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-07T17:16:29.443Z","updatedAt":"2026-10-06T01:35:29.689Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20852/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecureExchangeDeskTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20852/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20852/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20852/v1/model.glb\" alt=\"Secure Exchange Desk (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20852/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20852/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"trading-post-and-barter-market","title":"Trading post market square","url":"https://3dassets.dev/demos/trading-post-and-barter-market"}}}