{"data":{"id":208,"slug":"desert-caravanserai-and-bazaar","title":"Desert Caravanserai and Bazaar","summary":"Fifty stylized caravan lodging, stable and trade-court designs in ochre plaster and indigo cloth.","description":"Premium original fantasy caravanserai with voussoir arcades, enclosed roofed merchant lodgings, covered stable bays, vaulted gateway, hollow trade vessels, caravan equipment and shaded merchant counters. Complete connected arcade loop and serviced courtyard. Static fabric, fire and mechanisms; no animals, collision or navigation.","url":"https://3dassets.dev/packs/desert-caravanserai-and-bazaar","coverUrl":"https://cdn.3dassets.dev/assets/30494/v1/poster.webp","assetCount":51,"aiGenerated":true,"aiGeneratedAssetCount":51,"aiModels":["GPT-6"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":9303976,"totalTriangles":555940,"starterScene":{"id":"30494","slug":"desert-caravanserai-and-bazaar-ochre-car-e45a309c-starter-scene","title":"Ochre Caravan Trading Court (Desert Caravanserai and Bazaar)","summary":"Enclosed lodging and stable compound around a complete roofed arcade circuit, two supported shaded trade stalls, well, tea corner and staffed-looking merchant administration.","description":"Enclosed lodging and stable compound around a complete roofed arcade circuit, two supported shaded trade stalls, well, tea corner and staffed-looking merchant administration.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-ochre-car-e45a309c-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/30494/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-ochre-car-e45a309c-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/30494/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30494/v1/poster.webp","blurhash":"U6Du}C-.00ovIqRjs.tQ00IW~BM{$_x[ofMy","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":4388264,"triangles":283820,"vertices":206244,"meshes":159,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-11.00022888882107,0.00015351167894295248,-11.5],"max":[11.00022888882107,4.500022668839447,11.5]},"sizeMeters":[22,4.5,23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:38:33.082Z","updatedAt":"2026-09-09T06:47:28.113Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30494/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OchreCaravanTradingCourtDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30494/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30494/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30494/v1/model.glb\" alt=\"Ochre Caravan Trading Court (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30494/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30494/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"30442","slug":"desert-caravanserai-and-bazaar-vaulted-gatehouse-15f7d118","title":"Vaulted Gatehouse (Desert Caravanserai and Bazaar)","summary":"Deep vaulted gateway with thirteen individually bevelled voussoirs, thick side piers, barrel passage, complete flat roof, parapets and stepped original battlements.","description":"Deep vaulted gateway with thirteen individually bevelled voussoirs, thick side piers, barrel passage, complete flat roof, parapets and stepped original battlements. Dimensions 4.18 × 4.32 × 3.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-vaulted-gatehouse-15f7d118","cdnUrl":"https://cdn.3dassets.dev/assets/30442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-vaulted-gatehouse-15f7d118","thumbnailUrl":"https://cdn.3dassets.dev/assets/30442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30442/v1/poster.webp","blurhash":"UBHd?1%f00-o~p-oIUEM04RRIVV]D*j?xuWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":163744,"triangles":7588,"vertices":7209,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.0899999141693115,-0.00006085549026661752,-1.700154048652089],"max":[2.0899999141693115,4.320022668839447,1.700154048652089]},"sizeMeters":[4.18,4.32,3.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:06.204Z","updatedAt":"2026-09-08T10:38:06.314Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30442/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VaultedGatehouseDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30442/v1/model.glb\" alt=\"Vaulted Gatehouse (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30442/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30443","slug":"desert-caravanserai-and-bazaar-courtyard-arcade-straig-7675b072","title":"Courtyard Arcade Straight (Desert Caravanserai and Bazaar)","summary":"Four-metre roofed arcade bay with voussoir arch, rear supporting piers, cedar ceiling beams and thick paved floor. East and west connection ports form continuous walks.","description":"Four-metre roofed arcade bay with voussoir arch, rear supporting piers, cedar ceiling beams and thick paved floor. East and west connection ports form continuous walks. Dimensions 4.01 × 3.28 × 2.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-courtyard-arcade-straig-7675b072","cdnUrl":"https://cdn.3dassets.dev/assets/30443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-courtyard-arcade-straig-7675b072","thumbnailUrl":"https://cdn.3dassets.dev/assets/30443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30443/v1/poster.webp","blurhash":"U8Hx4p?a00%K~o^%M|E30$sp4:D*x]^*sp4:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":112332,"triangles":4588,"vertices":5073,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.005000114440918,-0.00012574192148262497,-1.00015259254738],"max":[2.005000114440918,3.2801257305965996,1.00015259254738]},"sizeMeters":[4.01,3.28,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:06.804Z","updatedAt":"2026-09-08T10:38:06.910Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourtyardArcadeStraightDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30443/v1/model.glb\" alt=\"Courtyard Arcade Straight (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30443/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30444","slug":"desert-caravanserai-and-bazaar-courtyard-arcade-corner-b01d4a46","title":"Courtyard Arcade Corner (Desert Caravanserai and Bazaar)","summary":"Four-metre square roofed corner arcade with perpendicular voussoir arches, four piers and ceiling beams. Local east and south walkway ports turn the courtyard circuit.","description":"Four-metre square roofed corner arcade with perpendicular voussoir arches, four piers and ceiling beams. Local east and south walkway ports turn the courtyard circuit. Dimensions 4.01 × 3.28 × 4.01 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-courtyard-arcade-corner-b01d4a46","cdnUrl":"https://cdn.3dassets.dev/assets/30444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-courtyard-arcade-corner-b01d4a46","thumbnailUrl":"https://cdn.3dassets.dev/assets/30444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30444/v1/poster.webp","blurhash":"UAIN?M-:00s:~VfhMxox0gj]0LNGSif8R+bH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":219092,"triangles":9176,"vertices":10018,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.0037999153137207,-0.00012574192148262497,-2.0037999153137207],"max":[2.005000114440918,3.2801257305965996,2.005000114440918]},"sizeMeters":[4.009,3.28,4.009],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:06.939Z","updatedAt":"2026-09-08T10:38:07.038Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30444/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourtyardArcadeCornerDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30444/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30444/v1/model.glb\" alt=\"Courtyard Arcade Corner (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30444/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30445","slug":"desert-caravanserai-and-bazaar-roofed-merchant-lodging-9a503d70","title":"Roofed Merchant Lodging (Desert Caravanserai and Bazaar)","summary":"Enclosed cedar-furnished lodging with complete plaster roof, accessible arched doorway, thick back and side walls, roof parapet and built-in padded sleeping platform.","description":"Enclosed cedar-furnished lodging with complete plaster roof, accessible arched doorway, thick back and side walls, roof parapet and built-in padded sleeping platform. Dimensions 4.15 × 3.72 × 3.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-roofed-merchant-lodging-9a503d70","cdnUrl":"https://cdn.3dassets.dev/assets/30445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-roofed-merchant-lodging-9a503d70","thumbnailUrl":"https://cdn.3dassets.dev/assets/30445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30445/v1/poster.webp","blurhash":"UBI;bC~o00ac~VxsIoW=03MzD*RSV@s:WFRQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":241276,"triangles":11604,"vertices":10388,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-2.075000047683716,-0.000013880557393541881,-1.5749786732365396],"max":[2.075000047683716,3.7199123136114376,1.5749786732365396]},"sizeMeters":[4.15,3.72,3.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:07.689Z","updatedAt":"2026-09-08T10:38:08.433Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30445/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofedMerchantLodgingDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30445/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30445/v1/model.glb\" alt=\"Roofed Merchant Lodging (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30445/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30446","slug":"desert-caravanserai-and-bazaar-covered-stable-bay-ccb239bf","title":"Covered Stable Bay (Desert Caravanserai and Bazaar)","summary":"Roofed stable bay with thick plaster rear and side walls, open stable entrance, eight cedar rafters and a broad fitted feed manger; no animals included.","description":"Roofed stable bay with thick plaster rear and side walls, open stable entrance, eight cedar rafters and a broad fitted feed manger; no animals included. Dimensions 4.10 × 3.18 × 3.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-covered-stable-bay-ccb239bf","cdnUrl":"https://cdn.3dassets.dev/assets/30446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-covered-stable-bay-ccb239bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/30446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30446/v1/poster.webp","blurhash":"U5HnA[%y00JMm7vzggXT01=f0MV]~V?aof9u","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":92192,"triangles":5100,"vertices":3625,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2.049999952316284,-0.000060427989866981835,-1.5499969120955823],"max":[2.049999952316284,3.1799142282636588,1.5499969120955823]},"sizeMeters":[4.1,3.18,3.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:08.446Z","updatedAt":"2026-09-08T10:38:08.764Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30446/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoveredStableBayDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30446/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30446/v1/model.glb\" alt=\"Covered Stable Bay (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30446/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30448","slug":"desert-caravanserai-and-bazaar-rooftop-stair-b3663080","title":"Rooftop Stair (Desert Caravanserai and Bazaar)","summary":"Twelve-step solid masonry stair with full riser thickness, stepped side parapets and a top landing reaching 3.22 metres.","description":"Twelve-step solid masonry stair with full riser thickness, stepped side parapets and a top landing reaching 3.22 metres. Dimensions 1.24 × 3.52 × 3.57 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-rooftop-stair-b3663080","cdnUrl":"https://cdn.3dassets.dev/assets/30448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-rooftop-stair-b3663080","thumbnailUrl":"https://cdn.3dassets.dev/assets/30448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30448/v1/poster.webp","blurhash":"UADb+j~o01020gsp-.of01ae?FWY$$9aay-o","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":195796,"triangles":11100,"vertices":7947,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6200442091037542,-0.00002452298836486122,-1.7850513122733667],"max":[0.6200442091037542,3.5188000202178955,1.784999966621399]},"sizeMeters":[1.24,3.519,3.57],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:08.646Z","updatedAt":"2026-09-08T10:38:08.840Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30448/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RooftopStairDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30448/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30448/v1/model.glb\" alt=\"Rooftop Stair (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30448/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30447","slug":"desert-caravanserai-and-bazaar-parapet-return-7af5ce9a","title":"Parapet Return (Desert Caravanserai and Bazaar)","summary":"L-shaped plaster roof parapet with thick pale coping stones and a closed outside corner.","description":"L-shaped plaster roof parapet with thick pale coping stones and a closed outside corner. Dimensions 2.06 × 0.48 × 1.94 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-parapet-return-7af5ce9a","cdnUrl":"https://cdn.3dassets.dev/assets/30447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-parapet-return-7af5ce9a","thumbnailUrl":"https://cdn.3dassets.dev/assets/30447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30447/v1/poster.webp","blurhash":"UGCsBOoJIV%2~Vs:E2of01ofNGIo00Rk-oRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22772,"triangles":1200,"vertices":850,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0299999713897705,0.00004272889349862807,-0.9700237774931159],"max":[1.0299999713897705,0.4799841268802506,0.9700237774931159]},"sizeMeters":[2.06,0.48,1.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:08.702Z","updatedAt":"2026-09-08T10:38:08.857Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30447/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParapetReturnDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30447/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30447/v1/model.glb\" alt=\"Parapet Return (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30447/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30450","slug":"desert-caravanserai-and-bazaar-carved-entrance-door-2f8fe990","title":"Carved Entrance Door (Desert Caravanserai and Bazaar)","summary":"Cedar plank door with thick brass straps, bolt heads, raised original diamond inlays and ring pull; closed static door leaf.","description":"Cedar plank door with thick brass straps, bolt heads, raised original diamond inlays and ring pull; closed static door leaf. Dimensions 1.35 × 2.15 × 0.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-carved-entrance-door-2f8fe990","cdnUrl":"https://cdn.3dassets.dev/assets/30450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-carved-entrance-door-2f8fe990","thumbnailUrl":"https://cdn.3dassets.dev/assets/30450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30450/v1/poster.webp","blurhash":"U2BVwrkD00RO~T-n9I0h02M|~C-o-n-TIX5S","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":129648,"triangles":7508,"vertices":4998,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6749794299461278,0,-0.10299847601570296],"max":[0.6749794299461278,2.1500000953674316,0.10302877149307299]},"sizeMeters":[1.35,2.15,0.206],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:10.428Z","updatedAt":"2026-09-08T10:38:10.566Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30450/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CarvedEntranceDoorDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30450/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30450/v1/model.glb\" alt=\"Carved Entrance Door (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30450/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30449","slug":"desert-caravanserai-and-bazaar-courtyard-paving-eb3954a0","title":"Courtyard Paving (Desert Caravanserai and Bazaar)","summary":"Two-metre paving panel with sixteen bevelled ochre and pale sandstone slabs on a solid backing.","description":"Two-metre paving panel with sixteen bevelled ochre and pale sandstone slabs on a solid backing. Dimensions 2.00 × 0.13 × 2.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-courtyard-paving-eb3954a0","cdnUrl":"https://cdn.3dassets.dev/assets/30449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-courtyard-paving-eb3954a0","thumbnailUrl":"https://cdn.3dassets.dev/assets/30449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30449/v1/poster.webp","blurhash":"UAE2zi%M00WT-:afRjof00My~VWE4.oyt7R%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":91036,"triangles":5100,"vertices":3604,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.00005035479557733563,-1],"max":[1,0.12505165369255822,1]},"sizeMeters":[2,0.125,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:10.403Z","updatedAt":"2026-09-08T10:38:10.500Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30449/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CourtyardPavingDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30449/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30449/v1/model.glb\" alt=\"Courtyard Paving (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30449/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30451","slug":"desert-caravanserai-and-bazaar-well-curb-96b2ec3d","title":"Well Curb (Desert Caravanserai and Bazaar)","summary":"Hollow masonry well curb with thick stone wall and twelve distinct beveled rim voussoirs around a deep open shaft.","description":"Hollow masonry well curb with thick stone wall and twelve distinct beveled rim voussoirs around a deep open shaft. Dimensions 1.77 × 0.70 × 1.77 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-well-curb-96b2ec3d","cdnUrl":"https://cdn.3dassets.dev/assets/30451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-well-curb-96b2ec3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/30451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30451/v1/poster.webp","blurhash":"UAELsX-p00RQ~VagIVt600Io~Uoy0Lt6bYMy","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":65352,"triangles":1552,"vertices":3378,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8825599551200867,-0.000026841750386363827,-0.8825599551200867],"max":[0.8825599551200867,0.7050098561060404,0.8825599551200867]},"sizeMeters":[1.765,0.705,1.765],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:10.423Z","updatedAt":"2026-09-08T10:38:10.551Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30451/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WellCurbDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30451/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30451/v1/model.glb\" alt=\"Well Curb (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30451/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30452","slug":"desert-caravanserai-and-bazaar-well-windlass-1f31785b","title":"Well Windlass (Desert Caravanserai and Bazaar)","summary":"Freestanding well windlass with two footed cedar uprights, horizontal drum, fourteen rope wraps, lowered rope and rounded crank grip.","description":"Freestanding well windlass with two footed cedar uprights, horizontal drum, fourteen rope wraps, lowered rope and rounded crank grip. Dimensions 2.48 × 2.20 × 0.48 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-well-windlass-1f31785b","cdnUrl":"https://cdn.3dassets.dev/assets/30452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-well-windlass-1f31785b","thumbnailUrl":"https://cdn.3dassets.dev/assets/30452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30452/v1/poster.webp","blurhash":"U5Bo]X^*00$MQ.^Os.0M01E1~B%MJ7-:?ZIW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":128604,"triangles":7848,"vertices":4862,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.2400000095367432,-0.0000021096225935601787,-0.23994872992565594],"max":[1.2400000095367432,2.199937565195283,0.23994872992565594]},"sizeMeters":[2.48,2.2,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:10.568Z","updatedAt":"2026-09-08T10:38:10.686Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30452/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WellWindlassDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30452/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30452/v1/model.glb\" alt=\"Well Windlass (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30452/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30453","slug":"desert-caravanserai-and-bazaar-water-trough-91b30324","title":"Water Trough (Desert Caravanserai and Bazaar)","summary":"Long hollow stone trough with thick walls, corner thickness, low feet and an inset static water surface.","description":"Long hollow stone trough with thick walls, corner thickness, low feet and an inset static water surface. Dimensions 1.80 × 0.52 × 0.64 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-water-trough-91b30324","cdnUrl":"https://cdn.3dassets.dev/assets/30453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-water-trough-91b30324","thumbnailUrl":"https://cdn.3dassets.dev/assets/30453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30453/v1/poster.webp","blurhash":"UAF#,L?a01t6?H~Ut6E200WC?GM{D*58IqV[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":44336,"triangles":2400,"vertices":1696,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000012818021993044049,-0.3199590967212805],"max":[0.8999999761581421,0.5199572579118271,0.3199590967212805]},"sizeMeters":[1.8,0.52,0.64],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:38:12.229Z","updatedAt":"2026-09-09T06:39:15.530Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30453/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterTroughDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30453/v1/model.glb\" alt=\"Water Trough (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30453/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30455","slug":"desert-caravanserai-and-bazaar-tether-rail-2e7994e2","title":"Tether Rail (Desert Caravanserai and Bazaar)","summary":"Three-post cedar tether rail with two crossbars, broad feet and two metal tie rings.","description":"Three-post cedar tether rail with two crossbars, broad feet and two metal tie rings. Dimensions 2.54 × 1.18 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-tether-rail-2e7994e2","cdnUrl":"https://cdn.3dassets.dev/assets/30455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-tether-rail-2e7994e2","thumbnailUrl":"https://cdn.3dassets.dev/assets/30455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30455/v1/poster.webp","blurhash":"UCDIRBw}Rks:=w}@aeaL0gw[%1RQE3koxGoy","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":62896,"triangles":3568,"vertices":2420,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.2699999809265137,-0.00003768968397793032,-0.12495742480260873],"max":[1.2699999809265137,1.1799609232693546,0.12495742480260873]},"sizeMeters":[2.54,1.18,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:12.232Z","updatedAt":"2026-09-08T10:38:12.331Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30455/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TetherRailDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30455/v1/model.glb\" alt=\"Tether Rail (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30455/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30454","slug":"desert-caravanserai-and-bazaar-pack-saddle-51b0229a","title":"Pack Saddle (Desert Caravanserai and Bazaar)","summary":"Twin padded pack-saddle bars with raised cedar arches, broad cargo straps and exposed crossrails; open underside fits an animal-shaped mount without including one.","description":"Twin padded pack-saddle bars with raised cedar arches, broad cargo straps and exposed crossrails; open underside fits an animal-shaped mount without including one. Dimensions 0.73 × 0.47 × 0.72 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-pack-saddle-51b0229a","cdnUrl":"https://cdn.3dassets.dev/assets/30454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-pack-saddle-51b0229a","thumbnailUrl":"https://cdn.3dassets.dev/assets/30454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30454/v1/poster.webp","blurhash":"U89%Ycfn02xa;HR*JCxZ00Rj$|jE7Qj[xao#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":64076,"triangles":4128,"vertices":2730,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.36500000953674316,-0.000007021740985269087,-0.36000001430511475],"max":[0.36500000953674316,0.4650050931130877,0.36000001430511475]},"sizeMeters":[0.73,0.465,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:12.210Z","updatedAt":"2026-09-08T10:38:12.304Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30454/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PackSaddleDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30454/v1/model.glb\" alt=\"Pack Saddle (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30454/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30456","slug":"desert-caravanserai-and-bazaar-saddle-stand-dd8cbbed","title":"Saddle Stand (Desert Caravanserai and Bazaar)","summary":"Braced cedar saddle stand with a raised rounded central support rail and four pegged legs.","description":"Braced cedar saddle stand with a raised rounded central support rail and four pegged legs. Dimensions 0.85 × 0.85 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-saddle-stand-dd8cbbed","cdnUrl":"https://cdn.3dassets.dev/assets/30456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-saddle-stand-dd8cbbed","thumbnailUrl":"https://cdn.3dassets.dev/assets/30456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30456/v1/poster.webp","blurhash":"U9CYXC-T0Nwg~AxGI.W-0gNva_NH9vR+s;WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":77324,"triangles":4596,"vertices":2982,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.42500001192092896,0,-0.3999931445548731],"max":[0.42500001192092896,0.8500000238418579,0.3999931445548731]},"sizeMeters":[0.85,0.85,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:12.259Z","updatedAt":"2026-09-08T10:38:12.368Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30456/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SaddleStandDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30456/v1/model.glb\" alt=\"Saddle Stand (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30456/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30457","slug":"desert-caravanserai-and-bazaar-saddlebag-pair-1bd2f76e","title":"Saddlebag Pair (Desert Caravanserai and Bazaar)","summary":"Paired indigo saddlebags joined by a broad saddle strap, with thick rounded flaps, leather closure belts and brass buckle rings.","description":"Paired indigo saddlebags joined by a broad saddle strap, with thick rounded flaps, leather closure belts and brass buckle rings. Dimensions 0.83 × 0.44 × 0.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-saddlebag-pair-1bd2f76e","cdnUrl":"https://cdn.3dassets.dev/assets/30457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-saddlebag-pair-1bd2f76e","thumbnailUrl":"https://cdn.3dassets.dev/assets/30457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30457/v1/poster.webp","blurhash":"U98XbI%5D#xc%Q%is;NF8^W[kERiRPR;RlVr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":55048,"triangles":3124,"vertices":2090,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.41499999165534973,0.000005801748260952921,-0.1309926703026105],"max":[0.41499999165534973,0.4399941958675533,0.13100994870220806]},"sizeMeters":[0.83,0.44,0.262],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:13.813Z","updatedAt":"2026-09-08T10:38:13.925Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30457/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SaddlebagPairDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30457/v1/model.glb\" alt=\"Saddlebag Pair (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30457/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30460","slug":"desert-caravanserai-and-bazaar-cargo-pannier-600e39fd","title":"Cargo Pannier (Desert Caravanserai and Bazaar)","summary":"Slatted cedar cargo pannier with solid base, thick side rails, indigo retaining bands and a pale packed textile cover.","description":"Slatted cedar cargo pannier with solid base, thick side rails, indigo retaining bands and a pale packed textile cover. Dimensions 0.66 × 0.61 × 0.46 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-cargo-pannier-600e39fd","cdnUrl":"https://cdn.3dassets.dev/assets/30460/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-cargo-pannier-600e39fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/30460/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30460/v1/poster.webp","blurhash":"UCEelW?G00Ri~pxa9GNHEJaKIpI=IBxZ%MIp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":107176,"triangles":6000,"vertices":4272,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.33000001311302185,-0.000004725562178953258,-0.23000397654576837],"max":[0.33000001311302185,0.6100047398672936,0.23000397654576837]},"sizeMeters":[0.66,0.61,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:14.025Z","updatedAt":"2026-09-08T10:38:14.114Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30460/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CargoPannierDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30460/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30460/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30460/v1/model.glb\" alt=\"Cargo Pannier (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30460/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30460/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30458","slug":"desert-caravanserai-and-bazaar-folded-tent-bundle-ccfe91c4","title":"Folded Tent Bundle (Desert Caravanserai and Bazaar)","summary":"Thick folded indigo tent bundle with two leather lashings and a tied pair of cedar tent poles.","description":"Thick folded indigo tent bundle with two leather lashings and a tied pair of cedar tent poles. Dimensions 1.04 × 0.26 × 0.48 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-folded-tent-bundle-ccfe91c4","cdnUrl":"https://cdn.3dassets.dev/assets/30458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-folded-tent-bundle-ccfe91c4","thumbnailUrl":"https://cdn.3dassets.dev/assets/30458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30458/v1/poster.webp","blurhash":"U57USh-s00WS-qxwNwM{00M_%jNwD#Mvn#t6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20624,"triangles":1044,"vertices":770,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5199999809265137,-0.00001983598735061376,-0.2399645897271588],"max":[0.5199999809265137,0.2600198285367698,0.2399645897271588]},"sizeMeters":[1.04,0.26,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:13.949Z","updatedAt":"2026-09-08T10:38:14.067Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldedTentBundleDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30458/v1/model.glb\" alt=\"Folded Tent Bundle (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30458/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30459","slug":"desert-caravanserai-and-bazaar-rolled-sleeping-mat-16d98702","title":"Rolled Sleeping Mat (Desert Caravanserai and Bazaar)","summary":"Hollow rolled sleeping mat with visible roll thickness and two indigo bindings around its cylindrical body.","description":"Hollow rolled sleeping mat with visible roll thickness and two indigo bindings around its cylindrical body. Dimensions 0.75 × 0.31 × 0.31 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-rolled-sleeping-mat-16d98702","cdnUrl":"https://cdn.3dassets.dev/assets/30459/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-rolled-sleeping-mat-16d98702","thumbnailUrl":"https://cdn.3dassets.dev/assets/30459/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30459/v1/poster.webp","blurhash":"UDFP7^xv4.of-;~pj[Io00t6?bWA9F00ocxa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26240,"triangles":1408,"vertices":986,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.375,0.0000036047808465444753,-0.15399639438468843],"max":[0.375,0.3079963935502234,0.15399639438468843]},"sizeMeters":[0.75,0.308,0.308],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:13.967Z","updatedAt":"2026-09-08T10:38:14.088Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30459/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RolledSleepingMatDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30459/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30459/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30459/v1/model.glb\" alt=\"Rolled Sleeping Mat (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30459/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30459/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30461","slug":"desert-caravanserai-and-bazaar-traveling-chest-d6c4953f","title":"Traveling Chest (Desert Caravanserai and Bazaar)","summary":"Cedar traveling chest with lid thickness, brass bands, lock plate, front hasp and side carry rings; closed static lid.","description":"Cedar traveling chest with lid thickness, brass bands, lock plate, front hasp and side carry rings; closed static lid. Dimensions 0.91 × 0.60 × 0.57 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-traveling-chest-d6c4953f","cdnUrl":"https://cdn.3dassets.dev/assets/30461/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-traveling-chest-d6c4953f","thumbnailUrl":"https://cdn.3dassets.dev/assets/30461/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30461/v1/poster.webp","blurhash":"UBEU-^?W0fXf~U$#NZS204IYV{M}MyxGNIEN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":52564,"triangles":3036,"vertices":1966,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.453000009059906,-0.00002764384914705209,-0.28652996681856857],"max":[0.453000009059906,0.600027667691005,0.28649976380560715]},"sizeMeters":[0.906,0.6,0.573],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:16.678Z","updatedAt":"2026-09-08T10:38:16.909Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30461/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TravelingChestDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30461/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30461/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30461/v1/model.glb\" alt=\"Traveling Chest (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30461/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30461/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30462","slug":"desert-caravanserai-and-bazaar-rope-coil-rack-34b91d05","title":"Rope Coil Rack (Desert Caravanserai and Bazaar)","summary":"Cedar rope rack holding three multi-loop hanging coils on forward pegs, with four braced feet.","description":"Cedar rope rack holding three multi-loop hanging coils on forward pegs, with four braced feet. Dimensions 1.10 × 1.14 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-rope-coil-rack-34b91d05","cdnUrl":"https://cdn.3dassets.dev/assets/30462/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-rope-coil-rack-34b91d05","thumbnailUrl":"https://cdn.3dassets.dev/assets/30462/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30462/v1/poster.webp","blurhash":"U9DIdq-;01Ri~U?GE3E300Mx?Goz9GIBaeS#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":204952,"triangles":12744,"vertices":7850,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.549967930577194,0,-0.24798855733916664],"max":[0.549967930577194,1.1380000114440918,0.2479887201372063]},"sizeMeters":[1.1,1.138,0.496],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:15.639Z","updatedAt":"2026-09-08T10:38:15.746Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30462/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RopeCoilRackDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30462/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30462/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30462/v1/model.glb\" alt=\"Rope Coil Rack (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30462/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30462/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30463","slug":"desert-caravanserai-and-bazaar-trading-counter-f80d9fb7","title":"Trading Counter (Desert Caravanserai and Bazaar)","summary":"Broad cedar trading counter with pegged legs, enclosed customer apron and thick projecting transaction surface.","description":"Broad cedar trading counter with pegged legs, enclosed customer apron and thick projecting transaction surface. Dimensions 1.76 × 0.95 × 0.78 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-trading-counter-f80d9fb7","cdnUrl":"https://cdn.3dassets.dev/assets/30463/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-trading-counter-f80d9fb7","thumbnailUrl":"https://cdn.3dassets.dev/assets/30463/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30463/v1/poster.webp","blurhash":"UHEBjB%058od~A-nNHNG0#kBs.R*EMbbbHRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":82592,"triangles":4896,"vertices":3198,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8799999952316284,0.00001968105187782898,-0.3899801608556925],"max":[0.8799999952316284,0.9499803070271933,0.3899801608556925]},"sizeMeters":[1.76,0.95,0.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:15.671Z","updatedAt":"2026-09-08T10:38:16.116Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30463/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TradingCounterDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30463/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30463/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30463/v1/model.glb\" alt=\"Trading Counter (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30463/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30463/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30464","slug":"desert-caravanserai-and-bazaar-balance-scale-4b0e76bb","title":"Balance Scale (Desert Caravanserai and Bazaar)","summary":"Supported equal-arm brass balance with central pivot, pointer, paired suspended shallow pans and walnut base; mechanism fixed at balance.","description":"Supported equal-arm brass balance with central pivot, pointer, paired suspended shallow pans and walnut base; mechanism fixed at balance. Dimensions 0.80 × 0.66 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-balance-scale-4b0e76bb","cdnUrl":"https://cdn.3dassets.dev/assets/30464/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-balance-scale-4b0e76bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/30464/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30464/v1/poster.webp","blurhash":"U39@CZ^*00D+14%z}oDi00Iq?[rq}7iIKjPB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":86080,"triangles":4700,"vertices":3441,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,0.000014954261900367027,-0.12501144084389218],"max":[0.4000000059604645,0.6599927262714611,0.12501144084389218]},"sizeMeters":[0.8,0.66,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:15.691Z","updatedAt":"2026-09-08T10:38:16.340Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30464/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalanceScaleDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30464/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30464/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30464/v1/model.glb\" alt=\"Balance Scale (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30464/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30464/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30465","slug":"desert-caravanserai-and-bazaar-nested-trade-weights-2ed644d1","title":"Nested Trade Weights (Desert Caravanserai and Bazaar)","summary":"Four decreasing brass trade weights with broad feet, chamfered shoulders and loop grips, laid out as one working set.","description":"Four decreasing brass trade weights with broad feet, chamfered shoulders and loop grips, laid out as one working set. Dimensions 0.38 × 0.13 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-nested-trade-weights-2ed644d1","cdnUrl":"https://cdn.3dassets.dev/assets/30465/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-nested-trade-weights-2ed644d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/30465/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30465/v1/poster.webp","blurhash":"U47nzF?[01IVV].7tPD*00Dk?ut6ti8zR8-:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":66020,"triangles":3392,"vertices":2776,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.1914999932050705,0.000010824121952524024,-0.055012342785098686],"max":[0.1914999932050705,0.12798918195772124,0.055012342785098686]},"sizeMeters":[0.383,0.128,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:19.105Z","updatedAt":"2026-09-08T10:38:19.205Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30465/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NestedTradeWeightsDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30465/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30465/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30465/v1/model.glb\" alt=\"Nested Trade Weights (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30465/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30465/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30466","slug":"desert-caravanserai-and-bazaar-coin-counting-board-68d39f7f","title":"Coin Counting Board (Desert Caravanserai and Bazaar)","summary":"Rimmed cedar counting board with five separate stacks of three brass coins and thick base.","description":"Rimmed cedar counting board with five separate stacks of three brass coins and thick base. Dimensions 0.43 × 0.05 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-coin-counting-board-68d39f7f","cdnUrl":"https://cdn.3dassets.dev/assets/30466/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-coin-counting-board-68d39f7f","thumbnailUrl":"https://cdn.3dassets.dev/assets/30466/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30466/v1/poster.webp","blurhash":"U5BM3x-U02s.%0-UafM|00I;~ANHD,58Szxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":81992,"triangles":3780,"vertices":3576,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2150000035762787,-0.000008378084712035855,-0.12499618726548384],"max":[0.2150000035762787,0.05300837745886326,0.12499618726548384]},"sizeMeters":[0.43,0.053,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:18.210Z","updatedAt":"2026-09-08T10:38:18.312Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30466/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoinCountingBoardDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30466/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30466/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30466/v1/model.glb\" alt=\"Coin Counting Board (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30466/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30466/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30467","slug":"desert-caravanserai-and-bazaar-abacus-13c25a35","title":"Abacus (Desert Caravanserai and Bazaar)","summary":"Seven-rod cedar counting frame with twenty-eight individual pale and brass beads on visible steel rods.","description":"Seven-rod cedar counting frame with twenty-eight individual pale and brass beads on visible steel rods. Dimensions 0.40 × 0.07 × 0.23 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-abacus-13c25a35","cdnUrl":"https://cdn.3dassets.dev/assets/30467/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-abacus-13c25a35","thumbnailUrl":"https://cdn.3dassets.dev/assets/30467/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30467/v1/poster.webp","blurhash":"U5CPU_^i00E3?v^%R59H00Nf~pR64T0MX.?a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":291152,"triangles":18276,"vertices":11114,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.20000000298023224,0.000013962777086866385,-0.11500595282307004],"max":[0.20000000298023224,0.07199710226092021,0.11500595282307004]},"sizeMeters":[0.4,0.072,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:18.385Z","updatedAt":"2026-09-08T10:38:18.481Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30467/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AbacusDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30467/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30467/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30467/v1/model.glb\" alt=\"Abacus (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30467/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30467/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30468","slug":"desert-caravanserai-and-bazaar-ledger-stand-9e361b91","title":"Ledger Stand (Desert Caravanserai and Bazaar)","summary":"Low cedar ledger lectern with tilted book support, retaining lip and thick blank folio; four legs support its slope.","description":"Low cedar ledger lectern with tilted book support, retaining lip and thick blank folio; four legs support its slope. Dimensions 0.50 × 0.47 × 0.38 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-ledger-stand-9e361b91","cdnUrl":"https://cdn.3dassets.dev/assets/30468/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-ledger-stand-9e361b91","thumbnailUrl":"https://cdn.3dassets.dev/assets/30468/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30468/v1/poster.webp","blurhash":"UBDbi=^i01M}_M-nR4Ip0Nof-URQ0LS4x]V@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":88504,"triangles":5196,"vertices":3407,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,-0.000010190510180807522,-0.1902142399365215],"max":[0.25,0.4709744382078139,0.1902142399365215]},"sizeMeters":[0.5,0.471,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:18.574Z","updatedAt":"2026-09-08T10:38:18.677Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30468/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LedgerStandDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30468/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30468/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30468/v1/model.glb\" alt=\"Ledger Stand (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30468/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30468/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30469","slug":"desert-caravanserai-and-bazaar-merchant-seal-f8ad6b2c","title":"Merchant Seal (Desert Caravanserai and Bazaar)","summary":"Turned cedar merchant stamp with narrowed handle and thick brass impression foot; abstract blank seal face.","description":"Turned cedar merchant stamp with narrowed handle and thick brass impression foot; abstract blank seal face. Dimensions 0.07 × 0.14 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-merchant-seal-f8ad6b2c","cdnUrl":"https://cdn.3dassets.dev/assets/30469/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-merchant-seal-f8ad6b2c","thumbnailUrl":"https://cdn.3dassets.dev/assets/30469/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30469/v1/poster.webp","blurhash":"U29Gmi^%0002QAVvK%pE1HSw}BwO_MWqM{xs","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19700,"triangles":752,"vertices":823,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03500000014901161,0,-0.03500000014901161],"max":[0.03500000014901161,0.13500000536441803,0.03500000014901161]},"sizeMeters":[0.07,0.135,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:19.981Z","updatedAt":"2026-09-08T10:38:20.074Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30469/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MerchantSealDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30469/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30469/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30469/v1/model.glb\" alt=\"Merchant Seal (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30469/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30469/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30470","slug":"desert-caravanserai-and-bazaar-sealed-document-tube-0c01df08","title":"Sealed Document Tube (Desert Caravanserai and Bazaar)","summary":"Cedar document tube with raised base band, removable-looking brass cap and indigo side binding; sealed static prop.","description":"Cedar document tube with raised base band, removable-looking brass cap and indigo side binding; sealed static prop. Dimensions 0.10 × 0.40 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-sealed-document-tube-0c01df08","cdnUrl":"https://cdn.3dassets.dev/assets/30470/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-sealed-document-tube-0c01df08","thumbnailUrl":"https://cdn.3dassets.dev/assets/30470/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30470/v1/poster.webp","blurhash":"U37n8k%K000OufbaUynPd9X8qcrr.QkBH[e:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":23276,"triangles":1000,"vertices":900,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.05000277798859663,0,-0.05000277798859663],"max":[0.05000277798859663,0.4000000059604645,0.05000277798859663]},"sizeMeters":[0.1,0.4,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:20.034Z","updatedAt":"2026-09-08T10:38:20.134Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30470/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SealedDocumentTubeDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30470/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30470/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30470/v1/model.glb\" alt=\"Sealed Document Tube (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30470/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30470/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30471","slug":"desert-caravanserai-and-bazaar-textile-hanging-rail-79a6764c","title":"Textile Hanging Rail (Desert Caravanserai and Bazaar)","summary":"Tall footed textile rail with suspended striped indigo cloth, visible hanging rings and broad cedar crossbar.","description":"Tall footed textile rail with suspended striped indigo cloth, visible hanging rings and broad cedar crossbar. Dimensions 1.50 × 1.90 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-textile-hanging-rail-79a6764c","cdnUrl":"https://cdn.3dassets.dev/assets/30471/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-textile-hanging-rail-79a6764c","thumbnailUrl":"https://cdn.3dassets.dev/assets/30471/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30471/v1/poster.webp","blurhash":"U7Am6xxv00Z}~V%29aE1ZexCk]Ng-4$yJDET","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":157388,"triangles":9220,"vertices":6145,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.750067131308745,0,-0.2500610338810995],"max":[0.750067131308745,1.899999976158142,0.2500610338810995]},"sizeMeters":[1.5,1.9,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:20.341Z","updatedAt":"2026-09-08T10:38:20.449Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30471/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TextileHangingRailDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30471/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30471/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30471/v1/model.glb\" alt=\"Textile Hanging Rail (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30471/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30471/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30472","slug":"desert-caravanserai-and-bazaar-carpet-roll-9dab39ae","title":"Carpet Roll (Desert Caravanserai and Bazaar)","summary":"Partly unfurled indigo display carpet with a thick rolled cylinder, five visible spiral layers at each end, a continuous curved transition onto a supported flat fabric extension, woven edge stitches and twenty-four pale fringe tassels.","description":"Partly unfurled indigo display carpet with a thick rolled cylinder, five visible spiral layers at each end, a continuous curved transition onto a supported flat fabric extension, woven edge stitches and twenty-four pale fringe tassels. Dimensions 1.16 × 0.36 × 1.41 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-carpet-roll-9dab39ae","cdnUrl":"https://cdn.3dassets.dev/assets/30472/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-carpet-roll-9dab39ae","thumbnailUrl":"https://cdn.3dassets.dev/assets/30472/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30472/v1/poster.webp","blurhash":"U58qgT^~8wR:IaITV?xb009cTORP?W?cxwWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":506692,"triangles":30456,"vertices":20118,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5806709571717391,0.00001318905701855333,-0.703000009059906],"max":[0.5806709571717391,0.3599868252480962,0.703000009059906]},"sizeMeters":[1.161,0.36,1.406],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:20.872Z","updatedAt":"2026-09-08T10:38:20.987Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30472/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CarpetRollDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30472/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30472/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30472/v1/model.glb\" alt=\"Carpet Roll (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30472/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30472/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30473","slug":"desert-caravanserai-and-bazaar-folded-cloth-stack-319db52d","title":"Folded Cloth Stack (Desert Caravanserai and Bazaar)","summary":"Five individually thick folded trade cloths with rounded edges and alternating indigo and pale woven layers.","description":"Five individually thick folded trade cloths with rounded edges and alternating indigo and pale woven layers. Dimensions 0.56 × 0.33 × 0.37 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-folded-cloth-stack-319db52d","cdnUrl":"https://cdn.3dassets.dev/assets/30473/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-folded-cloth-stack-319db52d","thumbnailUrl":"https://cdn.3dassets.dev/assets/30473/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30473/v1/poster.webp","blurhash":"U7B::T.A4ToeIyxv%GW;00D$NFkQ~3My4;M^","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28040,"triangles":1500,"vertices":1062,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2800000011920929,-0.000012290352420507578,-0.18500580758590354],"max":[0.2800000011920929,0.32501227843149155,0.18500580758590354]},"sizeMeters":[0.56,0.325,0.37],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:21.633Z","updatedAt":"2026-09-08T10:38:21.726Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30473/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldedClothStackDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30473/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30473/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30473/v1/model.glb\" alt=\"Folded Cloth Stack (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30473/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30473/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30474","slug":"desert-caravanserai-and-bazaar-spice-chest-bf41549e","title":"Spice Chest (Desert Caravanserai and Bazaar)","summary":"Open four-cell spice chest with thick divider walls, inset spice mounds and its hinged cedar lid resting behind the box.","description":"Open four-cell spice chest with thick divider walls, inset spice mounds and its hinged cedar lid resting behind the box. Dimensions 0.62 × 0.26 × 0.85 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-spice-chest-bf41549e","cdnUrl":"https://cdn.3dassets.dev/assets/30474/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-spice-chest-bf41549e","thumbnailUrl":"https://cdn.3dassets.dev/assets/30474/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30474/v1/poster.webp","blurhash":"U7CO:c}?03WE?F9uIW-U0258-UWp4;^i%1EM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":56812,"triangles":3672,"vertices":2621,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3100176876918526,0.00001427038281195947,-0.42499998211860657],"max":[0.3100176876918526,0.25498572484881643,0.42499998211860657]},"sizeMeters":[0.62,0.255,0.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:21.741Z","updatedAt":"2026-09-08T10:38:21.840Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30474/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpiceChestDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30474/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30474/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30474/v1/model.glb\" alt=\"Spice Chest (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30474/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30474/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30475","slug":"desert-caravanserai-and-bazaar-spice-scoop-2f00aa09","title":"Spice Scoop (Desert Caravanserai and Bazaar)","summary":"Hollow shallow brass spice scoop with rolled-looking rim and an angled rounded cedar handle.","description":"Hollow shallow brass spice scoop with rolled-looking rim and an angled rounded cedar handle. Dimensions 0.30 × 0.08 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-spice-scoop-2f00aa09","cdnUrl":"https://cdn.3dassets.dev/assets/30475/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-spice-scoop-2f00aa09","thumbnailUrl":"https://cdn.3dassets.dev/assets/30475/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30475/v1/poster.webp","blurhash":"U571cY.k9]R5%ex[S2Rj00H@=xXm4WH[$%%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32016,"triangles":1704,"vertices":1234,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.14849999733269215,-0.0000025030257576018344,-0.054999999701976776],"max":[0.148499995470047,0.07699964796002087,0.054999999701976776]},"sizeMeters":[0.297,0.077,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:22.012Z","updatedAt":"2026-09-08T10:38:22.120Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30475/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpiceScoopDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30475/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30475/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30475/v1/model.glb\" alt=\"Spice Scoop (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30475/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30475/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30476","slug":"desert-caravanserai-and-bazaar-grain-measure-0da697c1","title":"Grain Measure (Desert Caravanserai and Bazaar)","summary":"Open wooden grain measure with thick inner walls, brass retaining band and a rounded loop handle.","description":"Open wooden grain measure with thick inner walls, brass retaining band and a rounded loop handle. Dimensions 0.44 × 0.24 × 0.34 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-grain-measure-0da697c1","cdnUrl":"https://cdn.3dassets.dev/assets/30476/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-grain-measure-0da697c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/30476/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30476/v1/poster.webp","blurhash":"U69?t9}r025=~AxaEMNH01EM^$$M4;M|$$of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32376,"triangles":1760,"vertices":1236,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.21899355947971344,0.000006103701758769509,-0.16900204896888682],"max":[0.21899355947971344,0.2399938909338232,0.16900204896888682]},"sizeMeters":[0.438,0.24,0.338],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:22.594Z","updatedAt":"2026-09-08T10:38:22.691Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30476/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrainMeasureDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30476/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30476/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30476/v1/model.glb\" alt=\"Grain Measure (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30476/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30476/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30477","slug":"desert-caravanserai-and-bazaar-lidded-grain-jar-a6876247","title":"Lidded Grain Jar (Desert Caravanserai and Bazaar)","summary":"Round ochre grain jar with modeled hollow body, thick matching domed lid and brass knob; closed.","description":"Round ochre grain jar with modeled hollow body, thick matching domed lid and brass knob; closed. Dimensions 0.50 × 0.65 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-lidded-grain-jar-a6876247","cdnUrl":"https://cdn.3dassets.dev/assets/30477/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-lidded-grain-jar-a6876247","thumbnailUrl":"https://cdn.3dassets.dev/assets/30477/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30477/v1/poster.webp","blurhash":"UDDlWP%L00D*%LbHRPn$01M|~BxtIVjat7WX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38912,"triangles":1968,"vertices":1566,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.24999734165139728,0,-0.24999734165139728],"max":[0.24999734165139728,0.6530000045895576,0.24999734165139728]},"sizeMeters":[0.5,0.653,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:23.312Z","updatedAt":"2026-09-08T10:38:23.424Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30477/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LiddedGrainJarDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30477/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30477/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30477/v1/model.glb\" alt=\"Lidded Grain Jar (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30477/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30477/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30478","slug":"desert-caravanserai-and-bazaar-dried-fruit-tray-65f9ac72","title":"Dried Fruit Tray (Desert Caravanserai and Bazaar)","summary":"Shallow hollow cedar fruit tray with raised rim and eighteen individually modeled dried fruit pieces.","description":"Shallow hollow cedar fruit tray with raised rim and eighteen individually modeled dried fruit pieces. Dimensions 0.48 × 0.08 × 0.48 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-dried-fruit-tray-65f9ac72","cdnUrl":"https://cdn.3dassets.dev/assets/30478/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-dried-fruit-tray-65f9ac72","thumbnailUrl":"https://cdn.3dassets.dev/assets/30478/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30478/v1/poster.webp","blurhash":"UBB3A?xZ02R*-obFNGoM00Rk~Bof4:jv%2R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":191112,"triangles":11792,"vertices":7339,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999999463558197,0.000008773605616942126,-0.23999999463558197],"max":[0.23999999463558197,0.08398869620145474,0.23999999463558197]},"sizeMeters":[0.48,0.084,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:24.658Z","updatedAt":"2026-09-08T10:38:24.771Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30478/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DriedFruitTrayDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30478/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30478/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30478/v1/model.glb\" alt=\"Dried Fruit Tray (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30478/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30478/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30479","slug":"desert-caravanserai-and-bazaar-brass-ewer-9cad9d2a","title":"Brass Ewer (Desert Caravanserai and Bazaar)","summary":"Bulbous patinated brass ewer with hollow body, domed lid, graceful loop handle and tapered rising spout; static vessel.","description":"Bulbous patinated brass ewer with hollow body, domed lid, graceful loop handle and tapered rising spout; static vessel. Dimensions 0.55 × 0.45 × 0.28 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-brass-ewer-9cad9d2a","cdnUrl":"https://cdn.3dassets.dev/assets/30479/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-brass-ewer-9cad9d2a","thumbnailUrl":"https://cdn.3dassets.dev/assets/30479/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30479/v1/poster.webp","blurhash":"U47xHu%f008{_LtQIBRQ00t6_Loe4VoM-:ox","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":47916,"triangles":2688,"vertices":1911,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2760072946548462,0.000004393358191578933,-0.14001261182753544],"max":[0.2760072946548462,0.44999559472087947,0.14001261182753544]},"sizeMeters":[0.552,0.45,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:23.680Z","updatedAt":"2026-09-08T10:38:23.777Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30479/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BrassEwerDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30479/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30479/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30479/v1/model.glb\" alt=\"Brass Ewer (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30479/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30479/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30480","slug":"desert-caravanserai-and-bazaar-tea-brazier-9f5ddc4b","title":"Tea Brazier (Desert Caravanserai and Bazaar)","summary":"Hollow brass tea brazier with vent recess details, flared charcoal cup and two supported kettle rails; unlit with no fire simulation.","description":"Hollow brass tea brazier with vent recess details, flared charcoal cup and two supported kettle rails; unlit with no fire simulation. Dimensions 0.40 × 0.40 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-tea-brazier-9f5ddc4b","cdnUrl":"https://cdn.3dassets.dev/assets/30480/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-tea-brazier-9f5ddc4b","thumbnailUrl":"https://cdn.3dassets.dev/assets/30480/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30480/v1/poster.webp","blurhash":"U69HUtyB00IB_4RkM_%Kr{jJRPWAD%s;WBIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":85236,"triangles":4608,"vertices":3423,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.20000000298023224,0.0000057977718287693936,-0.20000000298023224],"max":[0.20000000298023224,0.39999359707321985,0.20000000298023224]},"sizeMeters":[0.4,0.4,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:25.305Z","updatedAt":"2026-09-08T10:38:25.399Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30480/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeaBrazierDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30480/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30480/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30480/v1/model.glb\" alt=\"Tea Brazier (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30480/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30480/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30481","slug":"desert-caravanserai-and-bazaar-tea-serving-tray-6438afbb","title":"Tea Serving Tray (Desert Caravanserai and Bazaar)","summary":"Rimmed brass serving tray with three individually hollow miniature tea cups supported on its inner base.","description":"Rimmed brass serving tray with three individually hollow miniature tea cups supported on its inner base. Dimensions 0.50 × 0.09 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-tea-serving-tray-6438afbb","cdnUrl":"https://cdn.3dassets.dev/assets/30481/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-tea-serving-tray-6438afbb","thumbnailUrl":"https://cdn.3dassets.dev/assets/30481/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30481/v1/poster.webp","blurhash":"U67np]tQ00R%xaWBR*t600Rk_LofIVt6t7M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":70908,"triangles":3584,"vertices":3013,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,0.000004013958856477484,-0.25],"max":[0.25,0.08899598759086429,0.25]},"sizeMeters":[0.5,0.089,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:25.053Z","updatedAt":"2026-09-08T10:38:25.149Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30481/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeaServingTrayDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30481/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30481/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30481/v1/model.glb\" alt=\"Tea Serving Tray (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30481/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30481/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30482","slug":"desert-caravanserai-and-bazaar-low-tea-table-e5a43bfd","title":"Low Tea Table (Desert Caravanserai and Bazaar)","summary":"Low pegged cedar tea table with thick top, four legs, stretcher and an indigo inset cloth.","description":"Low pegged cedar tea table with thick top, four legs, stretcher and an indigo inset cloth. Dimensions 0.95 × 0.39 × 0.68 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-low-tea-table-e5a43bfd","cdnUrl":"https://cdn.3dassets.dev/assets/30482/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-low-tea-table-e5a43bfd","thumbnailUrl":"https://cdn.3dassets.dev/assets/30482/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30482/v1/poster.webp","blurhash":"U7AvkF%19D%J~X%2RNNG00jcJrIo4mM{KSS5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":78124,"triangles":4596,"vertices":2982,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4749999940395355,0.00002609332527453434,-0.3399960283273802],"max":[0.4749999940395355,0.3929987274201042,0.3399960283273802]},"sizeMeters":[0.95,0.393,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:25.352Z","updatedAt":"2026-09-08T10:38:25.442Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30482/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowTeaTableDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30482/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30482/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30482/v1/model.glb\" alt=\"Low Tea Table (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30482/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30482/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30483","slug":"desert-caravanserai-and-bazaar-woven-stool-9e1e1f13","title":"Woven Stool (Desert Caravanserai and Bazaar)","summary":"Low cedar stool with individually interlaced pale and indigo seat strips, pegged legs and stretchers.","description":"Low cedar stool with individually interlaced pale and indigo seat strips, pegged legs and stretchers. Dimensions 0.43 × 0.43 × 0.43 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-woven-stool-9e1e1f13","cdnUrl":"https://cdn.3dassets.dev/assets/30483/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-woven-stool-9e1e1f13","thumbnailUrl":"https://cdn.3dassets.dev/assets/30483/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30483/v1/poster.webp","blurhash":"UFB{fd-n9Yaftpjcrps.16S1s*SNROWUShba","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":167840,"triangles":9696,"vertices":6628,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2150000035762787,-0.000013581083481345457,-0.2150000035762787],"max":[0.2150000035762787,0.42999851220414514,0.2150000035762787]},"sizeMeters":[0.43,0.43,0.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:26.966Z","updatedAt":"2026-09-08T10:38:27.128Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30483/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WovenStoolDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30483/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30483/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30483/v1/model.glb\" alt=\"Woven Stool (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30483/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30483/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30484","slug":"desert-caravanserai-and-bazaar-cushioned-settle-142d1e42","title":"Cushioned Settle (Desert Caravanserai and Bazaar)","summary":"Cedar courtyard settle with paneled back, supported arms, long indigo seat pad and two separate pale cushions.","description":"Cedar courtyard settle with paneled back, supported arms, long indigo seat pad and two separate pale cushions. Dimensions 1.65 × 0.88 × 0.66 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-cushioned-settle-142d1e42","cdnUrl":"https://cdn.3dassets.dev/assets/30484/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-cushioned-settle-142d1e42","thumbnailUrl":"https://cdn.3dassets.dev/assets/30484/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30484/v1/poster.webp","blurhash":"UECr$XXAD$-5~V-VIoIo0KxYJEE39FjXkDSP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":104964,"triangles":6096,"vertices":4047,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.824999988079071,-0.000057065638252529194,-0.3299546752457114],"max":[0.824999988079071,0.880057060869881,0.3299546752457114]},"sizeMeters":[1.65,0.88,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:38:28.013Z","updatedAt":"2026-09-09T06:51:28.364Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30484/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CushionedSettleDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30484/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30484/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30484/v1/model.glb\" alt=\"Cushioned Settle (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30484/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30484/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30485","slug":"desert-caravanserai-and-bazaar-oil-lantern-3e058c06","title":"Oil Lantern (Desert Caravanserai and Bazaar)","summary":"Six-rib brass oil lantern with thick glass envelope, closed vent cap, foot and carry ring; unlit.","description":"Six-rib brass oil lantern with thick glass envelope, closed vent cap, foot and carry ring; unlit. Dimensions 0.20 × 0.49 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-oil-lantern-3e058c06","cdnUrl":"https://cdn.3dassets.dev/assets/30485/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-oil-lantern-3e058c06","thumbnailUrl":"https://cdn.3dassets.dev/assets/30485/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30485/v1/poster.webp","blurhash":"U48N|J-p004.MwWBkXt700Io_N-ps[R*s~xb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42656,"triangles":2144,"vertices":1736,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09999525286040117,0,-0.09999525286040117],"max":[0.09999525286040117,0.48899999260902405,0.09999525286040117]},"sizeMeters":[0.2,0.489,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:27.055Z","updatedAt":"2026-09-08T10:38:27.180Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30485/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OilLanternDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30485/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30485/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30485/v1/model.glb\" alt=\"Oil Lantern (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30485/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30485/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30486","slug":"desert-caravanserai-and-bazaar-lantern-bracket-a54035ed","title":"Lantern Bracket (Desert Caravanserai and Bazaar)","summary":"Cedar-mounted lantern bracket with a curved brass hook and diagonal brace; wall-facing back is flat.","description":"Cedar-mounted lantern bracket with a curved brass hook and diagonal brace; wall-facing back is flat. Dimensions 0.10 × 0.42 × 0.36 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-lantern-bracket-a54035ed","cdnUrl":"https://cdn.3dassets.dev/assets/30486/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-lantern-bracket-a54035ed","thumbnailUrl":"https://cdn.3dassets.dev/assets/30486/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30486/v1/poster.webp","blurhash":"UC8:@W9{4;}q?FNbIV$%IVadt6kWixNGbv%2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13640,"triangles":692,"vertices":464,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.049989316960942866,0,-0.17783058448504074],"max":[0.049989316960942866,0.41999998688697815,0.17782257497310638]},"sizeMeters":[0.1,0.42,0.356],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:27.076Z","updatedAt":"2026-09-08T10:38:27.197Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30486/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LanternBracketDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30486/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30486/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30486/v1/model.glb\" alt=\"Lantern Bracket (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30486/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30486/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30487","slug":"desert-caravanserai-and-bazaar-sunshade-frame-e0b8e866","title":"Sunshade Frame (Desert Caravanserai and Bazaar)","summary":"Four-post cedar shade frame with complete upper perimeter beams and broad foot pads; supports a matching four-by-three-metre sail.","description":"Four-post cedar shade frame with complete upper perimeter beams and broad foot pads; supports a matching four-by-three-metre sail. Dimensions 4.30 × 2.95 × 3.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-sunshade-frame-e0b8e866","cdnUrl":"https://cdn.3dassets.dev/assets/30487/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-sunshade-frame-e0b8e866","thumbnailUrl":"https://cdn.3dassets.dev/assets/30487/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30487/v1/poster.webp","blurhash":"UAB.oxozIpt6}?xGNtS15SsAEMW.E3kCX9bH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":64548,"triangles":3600,"vertices":2558,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.1500000953674316,0.000055977392812156523,-1.6500153324443738],"max":[2.1500000953674316,2.9499440702909037,1.6500153324443738]},"sizeMeters":[4.3,2.95,3.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:29.751Z","updatedAt":"2026-09-08T10:38:29.964Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30487/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SunshadeFrameDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30487/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30487/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30487/v1/model.glb\" alt=\"Sunshade Frame (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30487/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30487/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30489","slug":"desert-caravanserai-and-bazaar-awning-sail-7d52c317","title":"Awning Sail (Desert Caravanserai and Bazaar)","summary":"Thick stretched indigo shade sail with pale stitched edge bands and four brass corner rings; fixed taut cloth fits the sunshade frame.","description":"Thick stretched indigo shade sail with pale stitched edge bands and four brass corner rings; fixed taut cloth fits the sunshade frame. Dimensions 3.91 × 0.05 × 2.91 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-awning-sail-7d52c317","cdnUrl":"https://cdn.3dassets.dev/assets/30489/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-awning-sail-7d52c317","thumbnailUrl":"https://cdn.3dassets.dev/assets/30489/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30489/v1/poster.webp","blurhash":"U57_KOt94Txs%MfnR%t100V?tpRQD$nxoeE9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":49712,"triangles":2948,"vertices":1827,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.9539999961853027,-0.00011528402578961025,-1.4539758875389888],"max":[1.9539999961853027,0.050117420598513936,1.4539758875389888]},"sizeMeters":[3.908,0.05,2.908],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:29.818Z","updatedAt":"2026-09-08T10:38:29.932Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30489/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AwningSailDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30489/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30489/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30489/v1/model.glb\" alt=\"Awning Sail (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30489/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30489/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30488","slug":"desert-caravanserai-and-bazaar-lodging-key-rack-1a57ac9b","title":"Lodging Key Rack (Desert Caravanserai and Bazaar)","summary":"Cedar key board with five projecting hooks and five separate brass keys with ring bows and modeled bits.","description":"Cedar key board with five projecting hooks and five separate brass keys with ring bows and modeled bits. Dimensions 0.65 × 0.38 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-lodging-key-rack-1a57ac9b","cdnUrl":"https://cdn.3dassets.dev/assets/30488/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-lodging-key-rack-1a57ac9b","thumbnailUrl":"https://cdn.3dassets.dev/assets/30488/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30488/v1/poster.webp","blurhash":"U9ELD{XR0May~A~9I;EM04%0-UNHW.spjYNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":87260,"triangles":5080,"vertices":3419,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.32499998807907104,-0.000018916890208414694,-0.0649925203126161],"max":[0.32499998807907104,0.3800189121218368,0.06499182085555569]},"sizeMeters":[0.65,0.38,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:28.767Z","updatedAt":"2026-09-08T10:38:28.861Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30488/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LodgingKeyRackDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30488/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30488/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30488/v1/model.glb\" alt=\"Lodging Key Rack (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30488/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30488/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30490","slug":"desert-caravanserai-and-bazaar-stable-muck-cart-4432e514","title":"Stable Muck Cart (Desert Caravanserai and Bazaar)","summary":"Open cedar stable cart with thick slatted-looking box, two eight-spoke wheels, steel axle, rear resting legs and long handles; static wheels.","description":"Open cedar stable cart with thick slatted-looking box, two eight-spoke wheels, steel axle, rear resting legs and long handles; static wheels. Dimensions 1.06 × 0.87 × 1.48 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-stable-muck-cart-4432e514","cdnUrl":"https://cdn.3dassets.dev/assets/30490/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-stable-muck-cart-4432e514","thumbnailUrl":"https://cdn.3dassets.dev/assets/30490/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30490/v1/poster.webp","blurhash":"UBAvB^5S58$%}@R*EMoK0hxEt3WX58WCxYs:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":82988,"triangles":4612,"vertices":3329,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5299999713897705,0.000011895444135767708,-0.7415146827697754],"max":[0.5299999713897705,0.8719880835750293,0.7415146827697754]},"sizeMeters":[1.06,0.872,1.483],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:38:29.733Z","updatedAt":"2026-09-09T06:51:34.710Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30490/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StableMuckCartDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30490/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30490/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30490/v1/model.glb\" alt=\"Stable Muck Cart (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30490/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30490/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30491","slug":"desert-caravanserai-and-bazaar-caravan-court-base-fe11aa2d","title":"Caravan Court Base (Desert Caravanserai and Bazaar)","summary":"Broad stone caravan court base with enclosing plaster perimeter walls, pale coping and a southern gateway opening. Interior arcade, lodgings and stable roof pieces complete the serviced court.","description":"Broad stone caravan court base with enclosing plaster perimeter walls, pale coping and a southern gateway opening. Interior arcade, lodgings and stable roof pieces complete the serviced court. Dimensions 22.00 × 3.08 × 23.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Original fantasy ochre plaster, cedar, indigo cloth and patinated brass. Static fabric, mechanisms and fire; no cultural logos. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-caravan-court-base-fe11aa2d","cdnUrl":"https://cdn.3dassets.dev/assets/30491/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-caravan-court-base-fe11aa2d","thumbnailUrl":"https://cdn.3dassets.dev/assets/30491/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30491/v1/poster.webp","blurhash":"U6D]9p-:00xuxuRkRjt700IV~UMyIo%2t7IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":60176,"triangles":3300,"vertices":2348,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-11.00022888882107,0.00015351167894295248,-11.5],"max":[11.00022888882107,3.0801479883959715,11.5]},"sizeMeters":[22,3.08,23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:38:30.701Z","updatedAt":"2026-09-08T10:38:30.799Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30491/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CaravanCourtBaseDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30491/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30491/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30491/v1/model.glb\" alt=\"Caravan Court Base (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30491/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30491/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"30494","slug":"desert-caravanserai-and-bazaar-ochre-car-e45a309c-starter-scene","title":"Ochre Caravan Trading Court (Desert Caravanserai and Bazaar)","summary":"Enclosed lodging and stable compound around a complete roofed arcade circuit, two supported shaded trade stalls, well, tea corner and staffed-looking merchant administration.","description":"Enclosed lodging and stable compound around a complete roofed arcade circuit, two supported shaded trade stalls, well, tea corner and staffed-looking merchant administration.","status":"published","url":"https://3dassets.dev/assets/desert-caravanserai-and-bazaar-ochre-car-e45a309c-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/30494/v1/model.glb","downloadUrl":"https://3dassets.dev/download/desert-caravanserai-and-bazaar-ochre-car-e45a309c-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/30494/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/30494/v1/poster.webp","blurhash":"U6Du}C-.00ovIqRjs.tQ00IW~BM{$_x[ofMy","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":4388264,"triangles":283820,"vertices":206244,"meshes":159,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-11.00022888882107,0.00015351167894295248,-11.5],"max":[11.00022888882107,4.500022668839447,11.5]},"sizeMeters":[22,4.5,23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:38:33.082Z","updatedAt":"2026-09-09T06:47:28.113Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/30494/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OchreCaravanTradingCourtDesertCaravanseraiAndBazaar(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/30494/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/30494/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/30494/v1/model.glb\" alt=\"Ochre Caravan Trading Court (Desert Caravanserai and Bazaar)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/30494/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/30494/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}