{"data":{"id":"45","slug":"trading-post-and-barter-market","title":"Trading post market square","summary":"Walk a 26 by 26 metre trading post built from the Trading Post and Barter Market pack: a secure exchange desk and window, a barter counter with pedestals and scales, trader stalls and canopy booths, display carts, boards, lockers and a bell.","url":"https://3dassets.dev/demos/trading-post-and-barter-market","coverUrl":"https://cdn.3dassets.dev/media/trading-post-and-barter-market-demo-2.png","featured":false,"pack":{"slug":"trading-post-and-barter-market","title":"Trading Post and Barter Market","url":"https://3dassets.dev/packs/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.","assetCount":47,"totalBytes":3193092,"starterScene":{"slug":"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","fileSize":222844}},"placementCount":38,"assetCount":24,"spawn":{"position":[0,0,11.8],"yaw":180},"publishedAt":"2026-09-07T21:20:46.625Z","updatedAt":"2026-09-07T21:20:46.625Z","description":"One square from 24 of the pack's 47 models, on plain dust in the outdoor preset with warm light.\n\nYou arrive at the trade marker and the weapon-free check rack. Three trader stalls face you with sample plinths and sack stands, then the barter counter with its offer pedestals, scale and inspection table. Canopy booths and display carts line both sides, and the secure exchange desk with its window, escrow locker and queue barriers closes the square under the flag hoist, with the request and deal boards, the locker bank, the parcel shelf, the settlement bell and a windsock round the back.\n\nNothing moves: this pack ships without animation clips. The coins, tokens, scales and small props in the pack are not placed here.","scene":{"version":1,"spawn":{"position":[0,0,11.8],"yaw":180},"bounds":{"min":[-13,0,-13],"max":[13,8,13]},"ground":{"style":"plain"},"environment":{"preset":"outdoor","floor":"#b3a184","light":"warm","shadows":true},"placements":[{"asset":"trading-post-and-barter-market-secure-exchange-desk-80d7d3fa","position":[0,0,-8],"rotation":0},{"asset":"trading-post-and-barter-market-secure-exchange-window-2bef1745","position":[5,0,-8.5],"rotation":0},{"asset":"trading-post-and-barter-market-flag-hoist-23641833","position":[0,0,-11],"rotation":0},{"asset":"trading-post-and-barter-market-settlement-bell-b149141f","position":[-7.5,0,-11.5],"rotation":0},{"asset":"trading-post-and-barter-market-signal-windsock-80c7cc6f","position":[12,0,-10],"rotation":0},{"asset":"trading-post-and-barter-market-queue-barrier-f3a96778","position":[-1.6,0,-5.5],"rotation":0},{"asset":"trading-post-and-barter-market-queue-barrier-f3a96778","position":[0.3,0,-5.5],"rotation":0},{"asset":"trading-post-and-barter-market-queue-barrier-f3a96778","position":[2.2,0,-5.5],"rotation":0},{"asset":"trading-post-and-barter-market-canopy-market-booth-46c6c10f","position":[-10,0,-4],"rotation":90},{"asset":"trading-post-and-barter-market-canopy-market-booth-46c6c10f","position":[-10,0,1],"rotation":90},{"asset":"trading-post-and-barter-market-canopy-market-booth-46c6c10f","position":[10,0,-4],"rotation":270},{"asset":"trading-post-and-barter-market-canopy-market-booth-46c6c10f","position":[10,0,1],"rotation":270},{"asset":"trading-post-and-barter-market-folding-trader-stall-4625ce03","position":[-4,0,5],"rotation":180},{"asset":"trading-post-and-barter-market-folding-trader-stall-4625ce03","position":[0,0,5],"rotation":180},{"asset":"trading-post-and-barter-market-folding-trader-stall-4625ce03","position":[4,0,5],"rotation":180},{"asset":"trading-post-and-barter-market-merchant-display-cart-244b6efc","position":[-6,0,-3],"rotation":30},{"asset":"trading-post-and-barter-market-merchant-display-cart-244b6efc","position":[6,0,-2],"rotation":330},{"asset":"trading-post-and-barter-market-barter-counter-9cd0d597","position":[0,0,-3],"rotation":0},{"asset":"trading-post-and-barter-market-barter-offer-pedestal-e30fcdcc","position":[-1.5,0,-1],"rotation":0},{"asset":"trading-post-and-barter-market-barter-offer-pedestal-e30fcdcc","position":[1.5,0,-1],"rotation":0},{"asset":"trading-post-and-barter-market-beam-platform-scale-a35e9c87","position":[2.5,0,-4.5],"rotation":0},{"asset":"trading-post-and-barter-market-trade-inspection-table-10234330","position":[-3,0,-6],"rotation":0},{"asset":"trading-post-and-barter-market-sample-display-plinth-c1983fc4","position":[-2.5,0,2],"rotation":0},{"asset":"trading-post-and-barter-market-sample-display-plinth-c1983fc4","position":[2.5,0,2],"rotation":0},{"asset":"trading-post-and-barter-market-deal-notice-board-1ecad0a1","position":[-6,0,-9.5],"rotation":0},{"asset":"trading-post-and-barter-market-request-board-455ddcc6","position":[6.5,0,-9.8],"rotation":0},{"asset":"trading-post-and-barter-market-numbered-locker-bank-2457d33f","position":[8.5,0,-11.2],"rotation":0},{"asset":"trading-post-and-barter-market-parcel-check-shelf-d1f82f52","position":[-8.5,0,-9],"rotation":0},{"asset":"trading-post-and-barter-market-escrow-locker-1e707c57","position":[6,0,-6],"rotation":0},{"asset":"trading-post-and-barter-market-market-lantern-post-34483fe6","position":[-4,0,-1],"rotation":0},{"asset":"trading-post-and-barter-market-market-lantern-post-34483fe6","position":[4,0,-1],"rotation":0},{"asset":"trading-post-and-barter-market-market-lantern-post-34483fe6","position":[-4,0,7],"rotation":0},{"asset":"trading-post-and-barter-market-market-lantern-post-34483fe6","position":[4,0,7],"rotation":0},{"asset":"trading-post-and-barter-market-trade-sack-stand-399ad431","position":[-8,0,4],"rotation":20},{"asset":"trading-post-and-barter-market-trade-sack-stand-399ad431","position":[8,0,4],"rotation":340},{"asset":"trading-post-and-barter-market-wire-display-tree-ccb546bd","position":[-2,0,7.5],"rotation":0},{"asset":"trading-post-and-barter-market-roadside-trade-marker-3e96a686","position":[0,0,11],"rotation":0},{"asset":"trading-post-and-barter-market-weapon-free-check-rack-bdf27672","position":[3,0,10],"rotation":180}],"points":[{"position":[0,0,9],"title":"Trade marker","text":"The roadside trade marker and the weapon-free check rack at the way in, with a wire display tree beside them.","asset":"trading-post-and-barter-market-roadside-trade-marker-3e96a686"},{"position":[0,0,6.2],"title":"Trader stalls","text":"Three folding trader stalls facing the square, two sample display plinths in front and trade sack stands either side, under four market lantern posts.","asset":"trading-post-and-barter-market-folding-trader-stall-4625ce03"},{"position":[0,0,0.3],"title":"Barter counter","text":"The barter counter with two offer pedestals, the beam platform scale and the trade inspection table.","asset":"trading-post-and-barter-market-barter-counter-9cd0d597"},{"position":[2.8,0,-6.5],"title":"Secure exchange","text":"The secure exchange desk behind queue barriers, the exchange window and the escrow locker, under the flag hoist.","asset":"trading-post-and-barter-market-secure-exchange-desk-80d7d3fa"},{"position":[-8,0,-1.5],"title":"Canopy booths","text":"Two canopy market booths each side of the square with a merchant display cart in front of each pair.","asset":"trading-post-and-barter-market-canopy-market-booth-46c6c10f"},{"position":[7,0,-9],"title":"Boards and lockers","text":"The request board, the deal notice board, the numbered locker bank, the parcel check shelf, the settlement bell and the signal windsock round the back of the square.","asset":"trading-post-and-barter-market-numbered-locker-bank-2457d33f"}],"poster":{"position":[-3.4,3.4,9.9],"lookAt":[0,0.9,5]}},"bounds":{"min":[-13,0,-13],"max":[13,8,13]},"assets":[{"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":0,"publishedAt":"2026-09-07T17:16:29.443Z","updatedAt":"2026-09-07T21:20:53.344Z","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);"}},{"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":0,"publishedAt":"2026-09-07T17:16:12.183Z","updatedAt":"2026-09-07T17:16:12.275Z","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":"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":0,"publishedAt":"2026-09-07T17:16:29.307Z","updatedAt":"2026-09-07T17:16:29.415Z","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":"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":0,"publishedAt":"2026-09-07T17:16:26.003Z","updatedAt":"2026-09-07T17:16:26.157Z","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":"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":0,"publishedAt":"2026-09-07T17:16:25.917Z","updatedAt":"2026-09-07T17:16:26.039Z","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":"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":0,"publishedAt":"2026-09-07T17:16:15.205Z","updatedAt":"2026-09-07T17:16:15.320Z","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":"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":0,"publishedAt":"2026-09-07T17:16:11.880Z","updatedAt":"2026-09-07T17:16:11.976Z","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":"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":0,"publishedAt":"2026-09-07T17:16:11.964Z","updatedAt":"2026-09-07T17:16:12.129Z","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":"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":0,"publishedAt":"2026-09-07T17:16:11.985Z","updatedAt":"2026-09-07T17:16:12.080Z","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":"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":0,"publishedAt":"2026-09-07T17:16:11.952Z","updatedAt":"2026-09-07T17:16:12.061Z","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":"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":0,"publishedAt":"2026-09-07T17:16:29.474Z","updatedAt":"2026-09-07T17:16:29.571Z","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":"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":0,"publishedAt":"2026-09-07T17:16:15.459Z","updatedAt":"2026-09-07T17:16:15.574Z","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":"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":0,"publishedAt":"2026-09-07T17:16:11.912Z","updatedAt":"2026-09-07T17:16:12.016Z","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":"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":0,"publishedAt":"2026-09-07T17:16:22.253Z","updatedAt":"2026-09-07T17:16:22.368Z","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":"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":0,"publishedAt":"2026-09-07T17:16:18.853Z","updatedAt":"2026-09-07T17:16:18.959Z","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":"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":0,"publishedAt":"2026-09-07T17:16:29.158Z","updatedAt":"2026-09-07T17:16:29.266Z","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":"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":0,"publishedAt":"2026-09-07T17:16:25.707Z","updatedAt":"2026-09-07T17:16:25.840Z","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":"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":0,"publishedAt":"2026-09-07T17:16:22.273Z","updatedAt":"2026-09-07T17:16:22.388Z","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":"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":0,"publishedAt":"2026-09-07T17:16:11.805Z","updatedAt":"2026-09-07T17:16:11.931Z","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":"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":0,"publishedAt":"2026-09-07T17:16:29.125Z","updatedAt":"2026-09-07T17:16:29.242Z","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":"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":0,"publishedAt":"2026-09-07T17:16:22.155Z","updatedAt":"2026-09-07T17:16:22.236Z","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":"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":0,"publishedAt":"2026-09-07T17:16:18.803Z","updatedAt":"2026-09-07T17:16:18.904Z","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":"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":0,"publishedAt":"2026-09-07T17:16:29.113Z","updatedAt":"2026-09-07T17:16:29.234Z","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":"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":0,"publishedAt":"2026-09-07T17:16:22.202Z","updatedAt":"2026-09-07T17:16:22.299Z","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);"}}]}}