{"data":{"id":27,"slug":"trading-post-and-barter-market","title":"Trading Post and Barter Market","summary":"45 distinct original survival designs with two assembled examples.","description":"Trading Post and Barter Market: individually specified survival equipment, honest static construction, metre scale. CC0, AI-generated. ","url":"https://3dassets.dev/packs/trading-post-and-barter-market","coverUrl":"https://cdn.3dassets.dev/assets/1458/v1/poster.webp","assetCount":47,"aiGenerated":true,"aiGeneratedAssetCount":47,"aiModels":["GPT-6 via Codex"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":3192964,"totalTriangles":69488,"starterScene":{"id":"1458","slug":"trading-post-and-barter-market-settlemen-48bb04d1-starter-scene","title":"Settlement Barter Square (Trading Post and Barter Market)","summary":"Composed example for Trading Post and Barter Market.","description":"Composed settlement barter square with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-settlemen-48bb04d1-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/1458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-settlemen-48bb04d1-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/1458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1458/v1/poster.webp","blurhash":"U47^[7~p004p?r-:M*Dk00D%s.tRM,IVfetL","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":222840,"triangles":9916,"vertices":8292,"meshes":18,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.6036213040351868,-0.00001894432526894363,-2.2500106914128484],"max":[3.4100166336331785,2.339907169998716,2.055043182232762]},"sizeMeters":[7.014,2.34,4.305],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:47.926Z","updatedAt":"2026-09-06T04:50:48.902Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SettlementBarterSquareTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1458/v1/model.glb\" alt=\"Settlement Barter Square (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1458/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"1414","slug":"trading-post-and-barter-market-barter-counter-a5ec6297","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-a5ec6297","cdnUrl":"https://cdn.3dassets.dev/assets/1414/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-counter-a5ec6297","thumbnailUrl":"https://cdn.3dassets.dev/assets/1414/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1414/v1/poster.webp","blurhash":"U59ZAg~U5TVs-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":95740,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:25.162Z","updatedAt":"2026-09-06T04:50:26.027Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1414/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/1414/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1414/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1414/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/1414/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1414/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1412","slug":"trading-post-and-barter-market-secure-exchange-window-09a203c6","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-09a203c6","cdnUrl":"https://cdn.3dassets.dev/assets/1412/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-exchange-window-09a203c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/1412/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1412/v1/poster.webp","blurhash":"U77^.0xu00M{?^xuDiIUI:ogxFRPm,t7krM{","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":72516,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:25.225Z","updatedAt":"2026-09-06T04:50:25.994Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1412/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/1412/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1412/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1412/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/1412/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1412/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1419","slug":"trading-post-and-barter-market-folding-trader-stall-fac41c45","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-fac41c45","cdnUrl":"https://cdn.3dassets.dev/assets/1419/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-folding-trader-stall-fac41c45","thumbnailUrl":"https://cdn.3dassets.dev/assets/1419/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1419/v1/poster.webp","blurhash":"UG97RqxZ4pWC_Lt6DkRktkoyVtRRaet6oyM|","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":93248,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:24.984Z","updatedAt":"2026-09-06T04:50:26.018Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1419/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/1419/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1419/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1419/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/1419/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1419/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1413","slug":"trading-post-and-barter-market-canopy-market-booth-de69d85c","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-de69d85c","cdnUrl":"https://cdn.3dassets.dev/assets/1413/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-canopy-market-booth-de69d85c","thumbnailUrl":"https://cdn.3dassets.dev/assets/1413/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1413/v1/poster.webp","blurhash":"ULAmkwf7IBt6_LofIVaeXSoyRkRQMzoefkWB","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":87076,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:25.281Z","updatedAt":"2026-09-06T04:50:26.001Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1413/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/1413/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1413/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1413/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/1413/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1413/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1418","slug":"trading-post-and-barter-market-trade-inspection-table-524bb99b","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-524bb99b","cdnUrl":"https://cdn.3dassets.dev/assets/1418/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-inspection-table-524bb99b","thumbnailUrl":"https://cdn.3dassets.dev/assets/1418/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1418/v1/poster.webp","blurhash":"UKB|Z[t7Djoz~qxvE1RjM{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":54364,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:24.911Z","updatedAt":"2026-09-06T04:50:25.978Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1418/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/1418/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1418/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1418/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/1418/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1418/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1416","slug":"trading-post-and-barter-market-escrow-locker-cc1e57d5","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-cc1e57d5","cdnUrl":"https://cdn.3dassets.dev/assets/1416/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-escrow-locker-cc1e57d5","thumbnailUrl":"https://cdn.3dassets.dev/assets/1416/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1416/v1/poster.webp","blurhash":"UF9@edM{4nxu_Nt7D%WC%MxuM_Rjj[ofj[Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":50888,"triangles":972,"vertices":2916,"meshes":4,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3499999940395354,0,-0.2887289382975055],"max":[0.34999998807907107,0.7400000095367432,0.2887477863773114]},"sizeMeters":[0.7,0.74,0.577],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:24.945Z","updatedAt":"2026-09-06T04:50:26.050Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1416/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/1416/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1416/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1416/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/1416/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1416/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1415","slug":"trading-post-and-barter-market-two-sided-trade-hatch-37419d57","title":"Two Sided Trade Hatch (Trading Post and Barter Market)","summary":"Two Sided Trade Hatch: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Two Sided Trade Hatch. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.07 × 1.07 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-two-sided-trade-hatch-37419d57","cdnUrl":"https://cdn.3dassets.dev/assets/1415/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-two-sided-trade-hatch-37419d57","thumbnailUrl":"https://cdn.3dassets.dev/assets/1415/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1415/v1/poster.webp","blurhash":"U99aEOxa00Rk_Mx]DjIB0Moz?ZM_H@jc%eW,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":35212,"triangles":648,"vertices":1944,"meshes":4,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5350000262260437,0,-0.3500167851802118],"max":[0.5350000262260437,1.0700000524520874,0.3500167851802118]},"sizeMeters":[1.07,1.07,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:25.205Z","updatedAt":"2026-09-06T04:50:26.013Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1415/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TwoSidedTradeHatchTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1415/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1415/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1415/v1/model.glb\" alt=\"Two Sided Trade Hatch (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1415/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1415/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1417","slug":"trading-post-and-barter-market-merchant-display-cart-c5ea7e11","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-c5ea7e11","cdnUrl":"https://cdn.3dassets.dev/assets/1417/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-merchant-display-cart-c5ea7e11","thumbnailUrl":"https://cdn.3dassets.dev/assets/1417/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1417/v1/poster.webp","blurhash":"U15E1@}s0L10Mdwvx]I;0hEf}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":170068,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:24.896Z","updatedAt":"2026-09-06T04:50:26.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1417/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/1417/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1417/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1417/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/1417/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1417/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1425","slug":"trading-post-and-barter-market-queue-barrier-46060bec","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-46060bec","cdnUrl":"https://cdn.3dassets.dev/assets/1425/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-queue-barrier-46060bec","thumbnailUrl":"https://cdn.3dassets.dev/assets/1425/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1425/v1/poster.webp","blurhash":"U484#loeZ=oh-,_N9GH@00RO-.D*02x]_Lt7","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":24612,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:30.149Z","updatedAt":"2026-09-06T04:50:31.286Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1425/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/1425/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1425/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1425/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/1425/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1425/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1420","slug":"trading-post-and-barter-market-balance-scale-15fc2880","title":"Balance Scale (Trading Post and Barter Market)","summary":"Balance Scale: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Balance Scale. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.90 × 0.65 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-balance-scale-15fc2880","cdnUrl":"https://cdn.3dassets.dev/assets/1420/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-balance-scale-15fc2880","thumbnailUrl":"https://cdn.3dassets.dev/assets/1420/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1420/v1/poster.webp","blurhash":"U29@bV_300D%~W_3InDi00t8~q4TOG9EnNs;","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":67484,"triangles":1372,"vertices":4116,"meshes":2,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.000012944061495046011,-0.14998168492115652],"max":[0.44999998807907104,0.6500129794517528,0.14998168492115652]},"sizeMeters":[0.9,0.65,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:29.947Z","updatedAt":"2026-09-06T04:50:30.833Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1420/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalanceScaleTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1420/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1420/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1420/v1/model.glb\" alt=\"Balance Scale (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1420/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1420/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1421","slug":"trading-post-and-barter-market-beam-platform-scale-4d405eb0","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-4d405eb0","cdnUrl":"https://cdn.3dassets.dev/assets/1421/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-beam-platform-scale-4d405eb0","thumbnailUrl":"https://cdn.3dassets.dev/assets/1421/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1421/v1/poster.webp","blurhash":"U28NtiR500?v009F#k_NyEtRMwDi~B%2TKIo","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":30900,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:29.798Z","updatedAt":"2026-09-06T04:50:30.844Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1421/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/1421/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1421/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1421/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/1421/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1421/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1422","slug":"trading-post-and-barter-market-spring-hanging-scale-b4eb42aa","title":"Spring Hanging Scale (Trading Post and Barter Market)","summary":"Spring Hanging Scale: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Spring Hanging Scale. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.13 × 0.33 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-spring-hanging-scale-b4eb42aa","cdnUrl":"https://cdn.3dassets.dev/assets/1422/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-spring-hanging-scale-b4eb42aa","thumbnailUrl":"https://cdn.3dassets.dev/assets/1422/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1422/v1/poster.webp","blurhash":"U58g,0s+00NK~qoL4nR+00IU~p_29ENG-;%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39088,"triangles":760,"vertices":2280,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.0649901285345082,0,-0.03799779320700583],"max":[0.0649901285345082,0.3336516320705414,0.037999156598281056]},"sizeMeters":[0.13,0.334,0.076],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:30.010Z","updatedAt":"2026-09-06T04:50:30.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1422/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpringHangingScaleTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1422/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1422/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1422/v1/model.glb\" alt=\"Spring Hanging Scale (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1422/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1422/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1423","slug":"trading-post-and-barter-market-coin-assay-block-1a057a8f","title":"Coin Assay Block (Trading Post and Barter Market)","summary":"Coin Assay Block: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coin Assay Block. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.25 × 0.13 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-coin-assay-block-1a057a8f","cdnUrl":"https://cdn.3dassets.dev/assets/1423/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-coin-assay-block-1a057a8f","thumbnailUrl":"https://cdn.3dassets.dev/assets/1423/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1423/v1/poster.webp","blurhash":"U36b0[tl00r=?ct7D%Mx00xt_3Dj00kC_3kD","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14020,"triangles":296,"vertices":888,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.125,-0.0000033552479030141136,-0.07999664296395764],"max":[0.125,0.12499971189631227,0.07999664296395764]},"sizeMeters":[0.25,0.125,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:29.895Z","updatedAt":"2026-09-06T04:50:30.985Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1423/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoinAssayBlockTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1423/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1423/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1423/v1/model.glb\" alt=\"Coin Assay Block (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1423/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1423/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1424","slug":"trading-post-and-barter-market-weight-set-c5fdfcc2","title":"Weight Set (Trading Post and Barter Market)","summary":"Weight Set: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Weight Set. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.43 × 0.16 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-weight-set-c5fdfcc2","cdnUrl":"https://cdn.3dassets.dev/assets/1424/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-weight-set-c5fdfcc2","thumbnailUrl":"https://cdn.3dassets.dev/assets/1424/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1424/v1/poster.webp","blurhash":"U38}3?8_00_38_?v-;IA00xv~qM{.8009Fx]","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":89380,"triangles":1840,"vertices":5520,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2160000056028366,-0.000004104153242701081,-0.0519976819420507],"max":[0.2160000056028366,0.15700410939845144,0.0519976819420507]},"sizeMeters":[0.432,0.157,0.104],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:29.746Z","updatedAt":"2026-09-06T04:50:30.854Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1424/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeightSetTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1424/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1424/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1424/v1/model.glb\" alt=\"Weight Set (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1424/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1424/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1426","slug":"trading-post-and-barter-market-measuring-grain-scoop-27d48688","title":"Measuring Grain Scoop (Trading Post and Barter Market)","summary":"Measuring Grain Scoop: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Measuring Grain Scoop. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.39 × 0.09 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-measuring-grain-scoop-27d48688","cdnUrl":"https://cdn.3dassets.dev/assets/1426/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-measuring-grain-scoop-27d48688","thumbnailUrl":"https://cdn.3dassets.dev/assets/1426/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1426/v1/poster.webp","blurhash":"U784oO_N00Di_N%MITRj00D$?b%g00D%-;xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":29628,"triangles":444,"vertices":1332,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.19499999657273293,-0.0000010661158493449618,-0.10999999940395355],"max":[0.19499999284744263,0.09000106969212804,0.10999999940395355]},"sizeMeters":[0.39,0.09,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:29.687Z","updatedAt":"2026-09-06T04:50:30.313Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1426/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MeasuringGrainScoopTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1426/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1426/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1426/v1/model.glb\" alt=\"Measuring Grain Scoop (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1426/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1426/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1427","slug":"trading-post-and-barter-market-volume-measure-vessel-4b6c6832","title":"Volume Measure Vessel (Trading Post and Barter Market)","summary":"Volume Measure Vessel: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Volume Measure Vessel. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.34 × 0.25 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-volume-measure-vessel-4b6c6832","cdnUrl":"https://cdn.3dassets.dev/assets/1427/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-volume-measure-vessel-4b6c6832","thumbnailUrl":"https://cdn.3dassets.dev/assets/1427/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1427/v1/poster.webp","blurhash":"U9A16K.800Mx_Nt7D%t79FWVofoL%MofRPV@","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":48524,"triangles":972,"vertices":2916,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17212018370628357,-0.000007358984409205904,-0.1230066430260094],"max":[0.17212018370628357,0.2500073589844092,0.12300018173549145]},"sizeMeters":[0.344,0.25,0.246],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:29.712Z","updatedAt":"2026-09-06T04:50:30.341Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1427/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VolumeMeasureVesselTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1427/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1427/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1427/v1/model.glb\" alt=\"Volume Measure Vessel (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1427/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1427/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1428","slug":"trading-post-and-barter-market-cloth-measuring-board-631ff85e","title":"Cloth Measuring Board (Trading Post and Barter Market)","summary":"Cloth Measuring Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Cloth Measuring Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.00 × 0.06 × 0.18 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-cloth-measuring-board-631ff85e","cdnUrl":"https://cdn.3dassets.dev/assets/1428/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-cloth-measuring-board-631ff85e","thumbnailUrl":"https://cdn.3dassets.dev/assets/1428/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1428/v1/poster.webp","blurhash":"U36taiwc01oL-;={ROIV00tS~CM_4m0z%#=|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":76364,"triangles":1404,"vertices":4212,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.00001762440196948628,-0.08996856593523972],"max":[0.5,0.056933804338681226,0.08996856593523972]},"sizeMeters":[1,0.057,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:32.883Z","updatedAt":"2026-09-06T04:50:33.893Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1428/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClothMeasuringBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1428/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1428/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1428/v1/model.glb\" alt=\"Cloth Measuring Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1428/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1428/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1429","slug":"trading-post-and-barter-market-counterfeit-inspection--f75da98f","title":"Counterfeit Inspection Lens (Trading Post and Barter Market)","summary":"Counterfeit Inspection Lens: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Counterfeit Inspection Lens. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.22 × 0.51 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-counterfeit-inspection--f75da98f","cdnUrl":"https://cdn.3dassets.dev/assets/1429/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-counterfeit-inspection--f75da98f","thumbnailUrl":"https://cdn.3dassets.dev/assets/1429/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1429/v1/poster.webp","blurhash":"U184xl_3000000Ip~W$y?Z%2E3D*=NoMPSW,","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":28564,"triangles":556,"vertices":1668,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10998611192509637,4.470348535789981e-10,-0.10998611192509637],"max":[0.10998611192509637,0.5099999904632568,0.10998611192509637]},"sizeMeters":[0.22,0.51,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:32.797Z","updatedAt":"2026-09-06T04:50:33.887Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1429/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CounterfeitInspectionLensTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1429/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1429/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1429/v1/model.glb\" alt=\"Counterfeit Inspection Lens (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1429/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1429/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1430","slug":"trading-post-and-barter-market-wire-display-tree-aa64dca9","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-aa64dca9","cdnUrl":"https://cdn.3dassets.dev/assets/1430/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-wire-display-tree-aa64dca9","thumbnailUrl":"https://cdn.3dassets.dev/assets/1430/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1430/v1/poster.webp","blurhash":"U16[Eo%N009Fx]NGs:%M00IU_N=|00Di?u~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":53696,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:32.958Z","updatedAt":"2026-09-06T04:50:38.009Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1430/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/1430/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1430/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1430/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/1430/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1430/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1431","slug":"trading-post-and-barter-market-secure-glassless-case-5ae8cfa8","title":"Secure Glassless Case (Trading Post and Barter Market)","summary":"Secure Glassless Case: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Secure Glassless Case. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.10 × 1.50 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-secure-glassless-case-5ae8cfa8","cdnUrl":"https://cdn.3dassets.dev/assets/1431/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-glassless-case-5ae8cfa8","thumbnailUrl":"https://cdn.3dassets.dev/assets/1431/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1431/v1/poster.webp","blurhash":"U697qstl00o}~Vr=9GNG4TMw-;xvt,X9NGo#","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":91232,"triangles":1728,"vertices":5184,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5500114461953404,0,-0.3000183176084074],"max":[0.5500114461953404,1.4950000047683716,0.3000183176084074]},"sizeMeters":[1.1,1.495,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:33.454Z","updatedAt":"2026-09-06T04:50:37.892Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1431/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecureGlasslessCaseTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1431/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1431/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1431/v1/model.glb\" alt=\"Secure Glassless Case (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1431/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1431/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1432","slug":"trading-post-and-barter-market-rotating-pouch-rack-c981a8a8","title":"Rotating Pouch Rack (Trading Post and Barter Market)","summary":"Rotating Pouch Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Rotating Pouch Rack. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.64 × 1.45 × 0.64 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-rotating-pouch-rack-c981a8a8","cdnUrl":"https://cdn.3dassets.dev/assets/1432/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-rotating-pouch-rack-c981a8a8","thumbnailUrl":"https://cdn.3dassets.dev/assets/1432/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1432/v1/poster.webp","blurhash":"U27_A*%200D%E1R*-p$*00ja~WWU4.ay=|jG","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":77896,"triangles":1600,"vertices":4800,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.31797760017987253,-8.940697071579962e-10,-0.31797760017987253],"max":[0.31797760017987253,1.4449999332427979,0.31797760017987253]},"sizeMeters":[0.636,1.445,0.636],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:33.293Z","updatedAt":"2026-09-06T04:50:38.100Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1432/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RotatingPouchRackTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1432/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1432/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1432/v1/model.glb\" alt=\"Rotating Pouch Rack (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1432/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1432/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1434","slug":"trading-post-and-barter-market-barter-token-board-94d53f49","title":"Barter Token Board (Trading Post and Barter Market)","summary":"Barter Token Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Barter Token Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.72 × 0.87 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-barter-token-board-94d53f49","cdnUrl":"https://cdn.3dassets.dev/assets/1434/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-token-board-94d53f49","thumbnailUrl":"https://cdn.3dassets.dev/assets/1434/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1434/v1/poster.webp","blurhash":"U16@4l^P00D+}q=eAG5l0KI:~B$*pGxDRQJB","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":67060,"triangles":1128,"vertices":3384,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3600196864118392,0,-0.04249435456557026],"max":[0.3600196864118392,0.8700000047683716,0.04250694325602309]},"sizeMeters":[0.72,0.87,0.085],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:38.011Z","updatedAt":"2026-09-06T04:50:39.369Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1434/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarterTokenBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1434/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1434/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1434/v1/model.glb\" alt=\"Barter Token Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1434/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1434/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1433","slug":"trading-post-and-barter-market-deal-notice-board-c1e23e0a","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-c1e23e0a","cdnUrl":"https://cdn.3dassets.dev/assets/1433/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-deal-notice-board-c1e23e0a","thumbnailUrl":"https://cdn.3dassets.dev/assets/1433/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1433/v1/poster.webp","blurhash":"U470}LtP00Rk^jxZ9uIp00n%~WR+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":58804,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:37.931Z","updatedAt":"2026-09-06T04:50:39.357Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1433/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/1433/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1433/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1433/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/1433/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1433/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1435","slug":"trading-post-and-barter-market-goods-inspection-lamp-5944ad0d","title":"Goods Inspection Lamp (Trading Post and Barter Market)","summary":"Goods Inspection Lamp: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Goods Inspection Lamp. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.35 × 0.72 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-goods-inspection-lamp-5944ad0d","cdnUrl":"https://cdn.3dassets.dev/assets/1435/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-goods-inspection-lamp-5944ad0d","thumbnailUrl":"https://cdn.3dassets.dev/assets/1435/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1435/v1/poster.webp","blurhash":"U18Nz#?v0000_3?vD*00%h?vMw00E1R*%2aK","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":36020,"triangles":712,"vertices":2136,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17500655394589007,0,-0.13998107249824754],"max":[0.17500655394589007,0.7199999690055847,0.13998107249824754]},"sizeMeters":[0.35,0.72,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:38.037Z","updatedAt":"2026-09-06T04:50:38.782Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1435/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GoodsInspectionLampTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1435/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1435/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1435/v1/model.glb\" alt=\"Goods Inspection Lamp (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1435/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1435/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1437","slug":"trading-post-and-barter-market-weapon-free-check-rack-2907f72b","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-2907f72b","cdnUrl":"https://cdn.3dassets.dev/assets/1437/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-weapon-free-check-rack-2907f72b","thumbnailUrl":"https://cdn.3dassets.dev/assets/1437/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1437/v1/poster.webp","blurhash":"U38WKnt700Rj~V-U565RMvs:p0EL01$N~V5-","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":91272,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:41.514Z","updatedAt":"2026-09-06T04:50:42.351Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1437/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/1437/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1437/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1437/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/1437/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1437/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1436","slug":"trading-post-and-barter-market-parcel-check-shelf-114e0890","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-114e0890","cdnUrl":"https://cdn.3dassets.dev/assets/1436/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-parcel-check-shelf-114e0890","thumbnailUrl":"https://cdn.3dassets.dev/assets/1436/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1436/v1/poster.webp","blurhash":"U17^f5~W00E1?w^,NE0039cEqu4nx^?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":124896,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:40.508Z","updatedAt":"2026-09-06T04:50:41.258Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1436/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/1436/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1436/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1436/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/1436/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1436/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1440","slug":"trading-post-and-barter-market-sample-display-plinth-4a89c587","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-4a89c587","cdnUrl":"https://cdn.3dassets.dev/assets/1440/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-sample-display-plinth-4a89c587","thumbnailUrl":"https://cdn.3dassets.dev/assets/1440/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1440/v1/poster.webp","blurhash":"UKAc*xxu9FNG_NogIAjZtlWCRit7RjWBofof","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":19176,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:40.999Z","updatedAt":"2026-09-06T04:50:41.620Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1440/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/1440/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1440/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1440/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/1440/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1440/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1438","slug":"trading-post-and-barter-market-barter-strongbox-aacac254","title":"Barter Strongbox (Trading Post and Barter Market)","summary":"Barter Strongbox: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Barter Strongbox. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.52 × 0.34 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-barter-strongbox-aacac254","cdnUrl":"https://cdn.3dassets.dev/assets/1438/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-strongbox-aacac254","thumbnailUrl":"https://cdn.3dassets.dev/assets/1438/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1438/v1/poster.webp","blurhash":"U58z}n.88_IU9Et7%gof00D%Rjxu_4WBD%RP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":51872,"triangles":1044,"vertices":3132,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.25999999046325684,0.0000016850745321039806,-0.2009563232112162],"max":[0.25999999046325684,0.3349883369065052,0.200982240909694]},"sizeMeters":[0.52,0.335,0.402],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:40.838Z","updatedAt":"2026-09-06T04:50:41.555Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1438/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarterStrongboxTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1438/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1438/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1438/v1/model.glb\" alt=\"Barter Strongbox (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1438/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1438/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1439","slug":"trading-post-and-barter-market-coin-tray-e8a7dec8","title":"Coin Tray (Trading Post and Barter Market)","summary":"Coin Tray: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coin Tray. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.30 × 0.04 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-coin-tray-e8a7dec8","cdnUrl":"https://cdn.3dassets.dev/assets/1439/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-coin-tray-e8a7dec8","thumbnailUrl":"https://cdn.3dassets.dev/assets/1439/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1439/v1/poster.webp","blurhash":"U37TkA%101Vt-oxaRjNG00NH~WSg4.IotRt8","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":62356,"triangles":1020,"vertices":3060,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.15000000596046448,0.000004271256600723444,-0.11000397177739682],"max":[0.15000000596046448,0.039995727663065084,0.11000397177739682]},"sizeMeters":[0.3,0.04,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:41.055Z","updatedAt":"2026-09-06T04:50:41.580Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1439/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoinTrayTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1439/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1439/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1439/v1/model.glb\" alt=\"Coin Tray (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1439/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1439/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1441","slug":"trading-post-and-barter-market-token-tube-rack-88116b6f","title":"Token Tube Rack (Trading Post and Barter Market)","summary":"Token Tube Rack: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Token Tube Rack. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.32 × 0.20 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-token-tube-rack-88116b6f","cdnUrl":"https://cdn.3dassets.dev/assets/1441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-token-tube-rack-88116b6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/1441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1441/v1/poster.webp","blurhash":"U99jT8-U0Ke=.T%MMxIo9ttltRIUMcxb%MM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":103120,"triangles":1896,"vertices":5688,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.1599999964237213,-0.000006789064355042229,-0.0800122056153782],"max":[0.1599999964237213,0.20499939378288445,0.0800122056153782]},"sizeMeters":[0.32,0.205,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:41.367Z","updatedAt":"2026-09-06T04:50:41.823Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1441/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TokenTubeRackTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1441/v1/model.glb\" alt=\"Token Tube Rack (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1441/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1442","slug":"trading-post-and-barter-market-trade-sack-stand-fdf00a8d","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-fdf00a8d","cdnUrl":"https://cdn.3dassets.dev/assets/1442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-sack-stand-fdf00a8d","thumbnailUrl":"https://cdn.3dassets.dev/assets/1442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1442/v1/poster.webp","blurhash":"U69G{t-;009F*0t7H?M_8yWA.Pt7xZt7jIIo","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":59644,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:41.643Z","updatedAt":"2026-09-06T04:50:42.422Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1442/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/1442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1442/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/1442/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1443","slug":"trading-post-and-barter-market-secure-drop-slot-55872ce6","title":"Secure Drop Slot (Trading Post and Barter Market)","summary":"Secure Drop Slot: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Secure Drop Slot. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.45 × 0.70 × 0.38 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-secure-drop-slot-55872ce6","cdnUrl":"https://cdn.3dassets.dev/assets/1443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-drop-slot-55872ce6","thumbnailUrl":"https://cdn.3dassets.dev/assets/1443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1443/v1/poster.webp","blurhash":"UBAAdjso00S#_Nt7DiRPtSbbMxenxZoLR+W=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27028,"triangles":432,"vertices":1296,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.2250160183854749,0,-0.1900234960162156],"max":[0.2250160183854749,0.699999988079071,0.1900234960162156]},"sizeMeters":[0.45,0.7,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:41.927Z","updatedAt":"2026-09-06T04:50:42.851Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SecureDropSlotTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1443/v1/model.glb\" alt=\"Secure Drop Slot (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1443/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1444","slug":"trading-post-and-barter-market-numbered-locker-bank-38ccbe84","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-38ccbe84","cdnUrl":"https://cdn.3dassets.dev/assets/1444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-numbered-locker-bank-38ccbe84","thumbnailUrl":"https://cdn.3dassets.dev/assets/1444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1444/v1/poster.webp","blurhash":"U67-m8Ri00%N_4t79FM{?bt7DiM{%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":85404,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:43.338Z","updatedAt":"2026-09-06T04:50:44.087Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1444/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/1444/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1444/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/1444/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1446","slug":"trading-post-and-barter-market-currency-counting-board-83e5a587","title":"Currency Counting Board (Trading Post and Barter Market)","summary":"Currency Counting Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Currency Counting Board. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.55 × 0.06 × 0.35 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-currency-counting-board-83e5a587","cdnUrl":"https://cdn.3dassets.dev/assets/1446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-currency-counting-board-83e5a587","thumbnailUrl":"https://cdn.3dassets.dev/assets/1446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1446/v1/poster.webp","blurhash":"U47wTqxs01Rl%M%1WBIo00R.~WWA9E9axa-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":76360,"triangles":1296,"vertices":3888,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.2750000059604645,-0.000005951863001436505,-0.17498550750070754],"max":[0.2750000059604645,0.05498458818996753,0.17498550750070754]},"sizeMeters":[0.55,0.055,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:43.895Z","updatedAt":"2026-09-06T04:50:44.580Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1446/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CurrencyCountingBoardTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1446/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1446/v1/model.glb\" alt=\"Currency Counting Board (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1446/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1445","slug":"trading-post-and-barter-market-receipts-spike-acc00da0","title":"Receipts Spike (Trading Post and Barter Market)","summary":"Receipts Spike: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Receipts Spike. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.13 × 0.20 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-receipts-spike-acc00da0","cdnUrl":"https://cdn.3dassets.dev/assets/1445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-receipts-spike-acc00da0","thumbnailUrl":"https://cdn.3dassets.dev/assets/1445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1445/v1/poster.webp","blurhash":"UA8qTwxt00IV00R*?ut7IUayxuoL~pofD%WV","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":12724,"triangles":228,"vertices":684,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0650039699333747,1.6763807009212428e-10,-0.0650039699333747],"max":[0.0650039699333747,0.19500000774860382,0.0650039699333747]},"sizeMeters":[0.13,0.195,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:43.483Z","updatedAt":"2026-09-06T04:50:44.624Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1445/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReceiptsSpikeTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1445/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1445/v1/model.glb\" alt=\"Receipts Spike (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1445/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1447","slug":"trading-post-and-barter-market-stamp-and-inkpad-2012cf0f","title":"Stamp And Inkpad (Trading Post and Barter Market)","summary":"Stamp And Inkpad: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stamp And Inkpad. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 0.26 × 0.12 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-stamp-and-inkpad-2012cf0f","cdnUrl":"https://cdn.3dassets.dev/assets/1447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-stamp-and-inkpad-2012cf0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/1447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1447/v1/poster.webp","blurhash":"U14_LXt%4n#95SOF$$ng00Mx-=F{]$,oOrS$","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":45896,"triangles":692,"vertices":2076,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.1274999976158142,0.0000030054887679084596,-0.04999687091786239],"max":[0.1274999976158142,0.11599699117337198,0.04999687091786239]},"sizeMeters":[0.255,0.116,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:43.748Z","updatedAt":"2026-09-06T04:50:44.593Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1447/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StampAndInkpadTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1447/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1447/v1/model.glb\" alt=\"Stamp And Inkpad (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1447/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1448","slug":"trading-post-and-barter-market-settlement-bell-b4190ea7","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-b4190ea7","cdnUrl":"https://cdn.3dassets.dev/assets/1448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-settlement-bell-b4190ea7","thumbnailUrl":"https://cdn.3dassets.dev/assets/1448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1448/v1/poster.webp","blurhash":"U25}Efx@00Dk_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":67388,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:43.822Z","updatedAt":"2026-09-06T04:50:44.916Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1448/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/1448/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1448/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/1448/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1449","slug":"trading-post-and-barter-market-trade-open-sign-6a2c0fe5","title":"Trade Open Sign (Trading Post and Barter Market)","summary":"Trade Open Sign: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Trade Open Sign. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.07 × 1.67 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-trade-open-sign-6a2c0fe5","cdnUrl":"https://cdn.3dassets.dev/assets/1449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-open-sign-6a2c0fe5","thumbnailUrl":"https://cdn.3dassets.dev/assets/1449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1449/v1/poster.webp","blurhash":"U57^JQ=d00EM~U$%9HIp4oOD.7r?4Uni_Lbv","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":34832,"triangles":484,"vertices":1452,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5349891521810856,0,-0.042462614225452465],"max":[0.5349891521810856,1.6699999570846558,0.04251329361063727]},"sizeMeters":[1.07,1.67,0.085],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:44.599Z","updatedAt":"2026-09-06T04:50:45.672Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1449/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradeOpenSignTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1449/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1449/v1/model.glb\" alt=\"Trade Open Sign (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1449/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1450","slug":"trading-post-and-barter-market-trade-closed-shutter-d26d0c7b","title":"Trade Closed Shutter (Trading Post and Barter Market)","summary":"Trade Closed Shutter: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Trade Closed Shutter. Original survivor trade construction with physical interfaces. No currency, transaction, locking or gameplay systems. Dimensions 1.17 × 1.17 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-trade-closed-shutter-d26d0c7b","cdnUrl":"https://cdn.3dassets.dev/assets/1450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-trade-closed-shutter-d26d0c7b","thumbnailUrl":"https://cdn.3dassets.dev/assets/1450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1450/v1/poster.webp","blurhash":"U78|nu%L0LW=_NxvIAIoK6kCn4RPxux]RjIU","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":79568,"triangles":1296,"vertices":3888,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5849999785423279,0,-0.04877529042566118],"max":[0.5849999785423279,1.1699999570846558,0.04877529042566118]},"sizeMeters":[1.17,1.17,0.098],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:44.721Z","updatedAt":"2026-09-06T04:50:45.714Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1450/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradeClosedShutterTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1450/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1450/v1/model.glb\" alt=\"Trade Closed Shutter (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1450/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1451","slug":"trading-post-and-barter-market-signal-windsock-05733c0c","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-05733c0c","cdnUrl":"https://cdn.3dassets.dev/assets/1451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-signal-windsock-05733c0c","thumbnailUrl":"https://cdn.3dassets.dev/assets/1451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1451/v1/poster.webp","blurhash":"U76tt8tl01H=~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":32868,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:45.023Z","updatedAt":"2026-09-06T04:50:46.018Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1451/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/1451/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1451/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/1451/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1452","slug":"trading-post-and-barter-market-market-lantern-post-f2a273e3","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-f2a273e3","cdnUrl":"https://cdn.3dassets.dev/assets/1452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-market-lantern-post-f2a273e3","thumbnailUrl":"https://cdn.3dassets.dev/assets/1452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1452/v1/poster.webp","blurhash":"U24{0ZjF00TJ_3R%4nxv=1X8B6nORiogo#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":27552,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:46.187Z","updatedAt":"2026-09-06T04:50:47.119Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1452/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/1452/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1452/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/1452/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1453","slug":"trading-post-and-barter-market-roadside-trade-marker-75995bd2","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-75995bd2","cdnUrl":"https://cdn.3dassets.dev/assets/1453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-roadside-trade-marker-75995bd2","thumbnailUrl":"https://cdn.3dassets.dev/assets/1453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1453/v1/poster.webp","blurhash":"U76RDQ%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":21964,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:46.906Z","updatedAt":"2026-09-06T04:50:47.893Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1453/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/1453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1453/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/1453/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1455","slug":"trading-post-and-barter-market-flag-hoist-07276faf","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-07276faf","cdnUrl":"https://cdn.3dassets.dev/assets/1455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-flag-hoist-07276faf","thumbnailUrl":"https://cdn.3dassets.dev/assets/1455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1455/v1/poster.webp","blurhash":"U26kbN?b0000~oRj02%2xvt7NFIU9Ixu?YDi","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":33208,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:46.957Z","updatedAt":"2026-09-06T04:50:47.966Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1455/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/1455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1455/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/1455/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1454","slug":"trading-post-and-barter-market-request-board-db5ae33c","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-db5ae33c","cdnUrl":"https://cdn.3dassets.dev/assets/1454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-request-board-db5ae33c","thumbnailUrl":"https://cdn.3dassets.dev/assets/1454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1454/v1/poster.webp","blurhash":"U25E86%10MIp~AxZ9aIpELbHs;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":128768,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:47.012Z","updatedAt":"2026-09-06T04:50:47.897Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1454/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/1454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1454/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/1454/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1456","slug":"trading-post-and-barter-market-barter-offer-pedestal-b6b4e023","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-b6b4e023","cdnUrl":"https://cdn.3dassets.dev/assets/1456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-barter-offer-pedestal-b6b4e023","thumbnailUrl":"https://cdn.3dassets.dev/assets/1456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1456/v1/poster.webp","blurhash":"U27^xts:00gNHXIBTz_3?^WE8_s+F2x]-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":83748,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:47.065Z","updatedAt":"2026-09-06T04:50:48.028Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1456/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/1456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1456/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/1456/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1458","slug":"trading-post-and-barter-market-settlemen-48bb04d1-starter-scene","title":"Settlement Barter Square (Trading Post and Barter Market)","summary":"Composed example for Trading Post and Barter Market.","description":"Composed settlement barter square with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/trading-post-and-barter-market-settlemen-48bb04d1-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/1458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-settlemen-48bb04d1-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/1458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1458/v1/poster.webp","blurhash":"U47^[7~p004p?r-:M*Dk00D%s.tRM,IVfetL","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":222840,"triangles":9916,"vertices":8292,"meshes":18,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.6036213040351868,-0.00001894432526894363,-2.2500106914128484],"max":[3.4100166336331785,2.339907169998716,2.055043182232762]},"sizeMeters":[7.014,2.34,4.305],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:47.926Z","updatedAt":"2026-09-06T04:50:48.902Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SettlementBarterSquareTradingPostAndBarterMarket(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/1458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1458/v1/model.glb\" alt=\"Settlement Barter Square (Trading Post and Barter Market)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/1458/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"1457","slug":"trading-post-and-barter-market-secure-exchange-desk-31e9f977","title":"Secure Exchange Desk (Trading Post and Barter Market)","summary":"Composed example for Trading Post and Barter Market.","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-31e9f977","cdnUrl":"https://cdn.3dassets.dev/assets/1457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/trading-post-and-barter-market-secure-exchange-desk-31e9f977","thumbnailUrl":"https://cdn.3dassets.dev/assets/1457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/1457/v1/poster.webp","blurhash":"U284b@$$57kV_3xHR*%#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":208096,"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":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T04:50:47.906Z","updatedAt":"2026-09-06T04:50:48.906Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/1457/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/1457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/1457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/1457/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/1457/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/1457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"trading-post-and-barter-market","title":"Barter square","url":"https://3dassets.dev/demos/trading-post-and-barter-market"}}}