{"data":{"id":198,"slug":"witch-cottage-and-apothecary","title":"Witch Cottage and Apothecary","summary":"A hedge witch cottage and her working apothecary: a 2 m cob and timber shell that closes into a thatched cottage, the furniture of a lived in home, and the still, bench, chest and glassware of a herbalist practice.","description":"A cottage a developer can walk into and a practice they can stock. The shell is a 2 m module system: cob wall sections plain, windowed, doored and bayed, timber frame corner posts, flagged floor slabs, beamed ceilings, a loft floor with a hatch and its ladder, a stair flight, thatch roof sections and ridge caps, gable ends, a crooked chimney and a stone hearth, all ported on the same grid so a cottage of any size closes properly. The home half is furnished the way a cottage really is: a rocking chair that rocks, a patchwork armchair, mismatched stools, a scrubbed table, a Welsh dresser whose doors open, a spinning wheel that turns, a floor loom, a besom, lanterns and candles, a braided rug, a cat basket, a herb wreath, tea and bread on the board, a log basket and a water pail. The apothecary half is the practice: a cauldron on a hearth crane that swings off the fire, a copper still, a stone topped mixing bench, an apothecary chest and a writing desk with drawers that pull, a jar wall shelf, a drying rack of bundles, a bottle crate with a lid, a distillation flask rack, mortar and pestle, brass scales, herb press, wax and seal set, funnels and measures, and seven bottles across three shapes and four tints. Rigid node transform clips only, no skinning. The magic is domestic: there are no spell effects, glows or particles anywhere in the pack. Original AI assisted CC0 geometry with no reference to any existing story.","url":"https://3dassets.dev/packs/witch-cottage-and-apothecary","coverUrl":"https://cdn.3dassets.dev/assets/32485/v1/poster.webp","assetCount":55,"aiGenerated":true,"aiGeneratedAssetCount":55,"aiModels":["GPT-6"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":6967308,"totalTriangles":233216,"starterScene":{"id":"32485","slug":"witch-cottage-and-apothecary-hedge-witch-25562947-starter-scene","title":"Hedge Witch Cottage (Witch Cottage and Apothecary)","summary":"A hedge witch cottage built from the pack 2 m cob and timber modules: a stone hearth with the cauldron swung over it on its crane, a rocking chair and a patchwork armchair on the braided rug, a scrubbed table laid for tea, a Welsh dresser, a spinning wheel and loom in the...","description":"A hedge witch cottage built from the pack 2 m cob and timber modules: a stone hearth with the cauldron swung over it on its crane, a rocking chair and a patchwork armchair on the braided rug, a scrubbed table laid for tea, a Welsh dresser, a spinning wheel and loom in the corner, a loft over the back of the room, and the whole west end given over to the apothecary bench, still, chest and bottles. Fully enclosed beneath both continuous thatched roof slopes, with seated ridge rolls and complete gable-side walls.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-hedge-witch-25562947-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/32485/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-hedge-witch-25562947-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/32485/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32485/v1/poster.webp","blurhash":"UBEoi4~V0057Mx-ot8E100D+^%xsWGM|xuxt","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":2744952,"triangles":115536,"vertices":105268,"meshes":179,"materials":12,"textures":3,"animations":[],"boundingBox":{"min":[-5.149755539659666,-0.000033617460169166336,-3.829969195641013],"max":[4.542003449465545,6.5200155234065456,3.494135856628418]},"sizeMeters":[9.692,6.52,7.324],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":3,"publishedAt":"2026-09-08T10:57:41.410Z","updatedAt":"2026-09-08T15:02:55.447Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32485/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HedgeWitchCottageWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32485/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32485/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32485/v1/model.glb\" alt=\"Hedge Witch Cottage (Witch Cottage and Apothecary)\" 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/32485/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/32485/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"32432","slug":"witch-cottage-and-apothecary-cob-wall-section-b9c2305f","title":"Cob Wall Section (Witch Cottage and Apothecary)","summary":"Two metre cob and timber-frame wall bay on a stone plinth, with pegged studs, a raking brace and an oak wall plate.","description":"Two metre cob and timber-frame wall bay on a stone plinth, with pegged studs, a raking brace and an oak wall plate. Dimensions 2.00 by 2.60 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (cottage-wall) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); right (cottage-wall) at (1.00, 0.00, 0.00) facing (1, 0, 0); top (cottage-wall) at (0.00, 2.60, 0.00) facing (0, 1, 0). Bays butt at their ports on a 2.00 m module and a 2.60 m storey; the plinth and plate stop on the module line so a run of them never doubles up. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-cob-wall-section-b9c2305f","cdnUrl":"https://cdn.3dassets.dev/assets/32432/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-cob-wall-section-b9c2305f","thumbnailUrl":"https://cdn.3dassets.dev/assets/32432/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32432/v1/poster.webp","blurhash":"U9D]J6xF00IoQm%Lt,9a00ae~qtQxas:S2Na","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":85876,"triangles":756,"vertices":655,"meshes":3,"materials":3,"textures":3,"animations":[],"boundingBox":{"min":[-1.0000570983617336,0.000011291550482891988,-0.17996820474753655],"max":[1.0000570983617336,2.5999999046325684,0.17996820474753655]},"sizeMeters":[2,2.6,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:13.581Z","updatedAt":"2026-09-08T10:57:13.698Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32432/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CobWallSectionWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32432/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32432/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32432/v1/model.glb\" alt=\"Cob Wall Section (Witch Cottage and Apothecary)\" 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/32432/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/32432/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32431","slug":"witch-cottage-and-apothecary-cob-wall-window-section-d55b2973","title":"Cob Wall Window Section (Witch Cottage and Apothecary)","summary":"Cob wall bay with a small leaded casement: deep oak sill, fixed inner glazing and a separately hung outward opening leaf.","description":"Cob wall bay with a small leaded casement: deep oak sill, fixed inner glazing and a separately hung outward opening leaf. Dimensions 2.00 by 2.60 by 0.41 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: casement at (-0.45, 1.06, 0.16) m. Connectors: left (cottage-wall) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); right (cottage-wall) at (1.00, 0.00, 0.00) facing (1, 0, 0); top (cottage-wall) at (0.00, 2.60, 0.00) facing (0, 1, 0). The casement leaf is node `casement`, hinged on the left jamb at the weather face. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-cob-wall-window-section-d55b2973","cdnUrl":"https://cdn.3dassets.dev/assets/32431/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-cob-wall-window-section-d55b2973","thumbnailUrl":"https://cdn.3dassets.dev/assets/32431/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32431/v1/poster.webp","blurhash":"U8CG3_Di00.7,;xtEME200%M_NIU#-oeS~Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":117212,"triangles":2000,"vertices":1769,"meshes":7,"materials":5,"textures":3,"animations":["open","close"],"boundingBox":{"min":[-1.0000298644116206,1.2516975456122736e-8,-0.18005675655439876],"max":[1.0000298644116206,2.5999999046325684,0.23399958941005333]},"sizeMeters":[2,2.6,0.414],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:13.561Z","updatedAt":"2026-09-08T10:57:13.685Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32431/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CobWallWindowSectionWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32431/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32431/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32431/v1/model.glb\" alt=\"Cob Wall Window Section (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32431/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32431/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32433","slug":"witch-cottage-and-apothecary-cob-wall-door-section-ec4fa38c","title":"Cob Wall Door Section (Witch Cottage and Apothecary)","summary":"Cob wall bay framed for a plank door, with a low oak lintel, a porch hood and a strapped board leaf hung outside.","description":"Cob wall bay framed for a plank door, with a low oak lintel, a porch hood and a strapped board leaf hung outside. Dimensions 2.00 by 2.60 by 0.53 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door-cottage at (-0.50, 0.16, 0.15) m. Connectors: left (cottage-wall) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); right (cottage-wall) at (1.00, 0.00, 0.00) facing (1, 0, 0); top (cottage-wall) at (0.00, 2.60, 0.00) facing (0, 1, 0). The leaf is node `door-cottage`, hinged on the left jamb; the head is 2.09 m, low on purpose. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-cob-wall-door-section-ec4fa38c","cdnUrl":"https://cdn.3dassets.dev/assets/32433/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-cob-wall-door-section-ec4fa38c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32433/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32433/v1/poster.webp","blurhash":"U5By,AIo00%1=y-;EM4o00xa~qNGs:aKR*kq","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":116156,"triangles":1988,"vertices":1762,"meshes":5,"materials":4,"textures":3,"animations":["open","close"],"boundingBox":{"min":[-1.0000298705188364,1.847743991145734e-8,-0.1799513209483503],"max":[1.0000298705188364,2.5999999046325684,0.3487513173243879]},"sizeMeters":[2,2.6,0.529],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:13.653Z","updatedAt":"2026-09-08T10:57:13.749Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32433/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CobWallDoorSectionWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32433/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32433/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32433/v1/model.glb\" alt=\"Cob Wall Door Section (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32433/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32433/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32434","slug":"witch-cottage-and-apothecary-cob-wall-bay-window-secti-105e1d45","title":"Cob Wall Bay Window Section (Witch Cottage and Apothecary)","summary":"Cob wall bay with a three light bay window projecting 620 mm, a stone sill shelf and a copper lean-to roof.","description":"Cob wall bay with a three light bay window projecting 620 mm, a stone sill shelf and a copper lean-to roof. Dimensions 2.00 by 2.60 by 1.06 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (cottage-wall) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); right (cottage-wall) at (1.00, 0.00, 0.00) facing (1, 0, 0); top (cottage-wall) at (0.00, 2.60, 0.00) facing (0, 1, 0). The bay glazing is fixed; nothing on this module opens. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-cob-wall-bay-window-secti-105e1d45","cdnUrl":"https://cdn.3dassets.dev/assets/32434/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-cob-wall-bay-window-secti-105e1d45","thumbnailUrl":"https://cdn.3dassets.dev/assets/32434/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32434/v1/poster.webp","blurhash":"U5BC}bDi00_N}8?GAb0L00%2.6E1b{a%aJR%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":133704,"triangles":2808,"vertices":2429,"meshes":5,"materials":5,"textures":3,"animations":[],"boundingBox":{"min":[-1.0000006304998406,0.0000143376080453117,-0.22996918670031596],"max":[1.0000006304998406,2.5999911091010937,0.8299691956410127]},"sizeMeters":[2,2.6,1.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:14.087Z","updatedAt":"2026-09-08T10:57:14.191Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32434/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CobWallBayWindowSectionWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32434/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32434/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32434/v1/model.glb\" alt=\"Cob Wall Bay Window Section (Witch Cottage and Apothecary)\" 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/32434/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/32434/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32435","slug":"witch-cottage-and-apothecary-timber-frame-corner-post-e4bfbeeb","title":"Timber Frame Corner Post (Witch Cottage and Apothecary)","summary":"Turned oak corner post on a stone pad with iron collars, filling the square where two cob wall runs meet.","description":"Turned oak corner post on a stone pad with iron collars, filling the square where two cob wall runs meet. Dimensions 0.50 by 2.79 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: wall-a (cottage-wall) at (0.00, 0.00, 0.00) facing (1, 0, 0); wall-b (cottage-wall) at (0.00, 0.00, 0.00) facing (0, 0, -1). Both ports sit on the post axis, which is where the wall bays butt; rotate the post so its port faces the bay it answers. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-timber-frame-corner-post-e4bfbeeb","cdnUrl":"https://cdn.3dassets.dev/assets/32435/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-timber-frame-corner-post-e4bfbeeb","thumbnailUrl":"https://cdn.3dassets.dev/assets/32435/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32435/v1/poster.webp","blurhash":"U15gx5-U000z4TRj?v%2yrX9MIrqMde.tmkD","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":81628,"triangles":674,"vertices":619,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.25,0.000013428293181058648,-0.25],"max":[0.25,2.7899999618530273,0.25]},"sizeMeters":[0.5,2.79,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:15.359Z","updatedAt":"2026-09-08T10:57:15.467Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32435/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberFrameCornerPostWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32435/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32435/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32435/v1/model.glb\" alt=\"Timber Frame Corner Post (Witch Cottage and Apothecary)\" 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/32435/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/32435/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32436","slug":"witch-cottage-and-apothecary-flagged-floor-slab-f40e2689","title":"Flagged Floor Slab (Witch Cottage and Apothecary)","summary":"Two metre flagged floor tile: sixteen separately laid stone flags of slightly different size and height on a solid bed.","description":"Two metre flagged floor tile: sixteen separately laid stone flags of slightly different size and height on a solid bed. Dimensions 2.00 by 0.15 by 2.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: west (cottage-floor) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); east (cottage-floor) at (1.00, 0.00, 0.00) facing (1, 0, 0); north (cottage-floor) at (0.00, 0.00, -1.00) facing (0, 0, -1); south (cottage-floor) at (0.00, 0.00, 1.00) facing (0, 0, 1). Walking surface at 138 to 148 mm; tiles butt at their edge ports on the same 2.00 m module as the walls. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-flagged-floor-slab-f40e2689","cdnUrl":"https://cdn.3dassets.dev/assets/32436/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-flagged-floor-slab-f40e2689","thumbnailUrl":"https://cdn.3dassets.dev/assets/32436/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32436/v1/poster.webp","blurhash":"U4A^I2?v00My?bbEMxkC00D%~qWT00sqx]Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":97060,"triangles":1836,"vertices":1581,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.000033617460169166336,-1],"max":[1,0.14596693187300142,1]},"sizeMeters":[2,0.146,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:15.449Z","updatedAt":"2026-09-08T10:57:15.552Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32436/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlaggedFloorSlabWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32436/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32436/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32436/v1/model.glb\" alt=\"Flagged Floor Slab (Witch Cottage and Apothecary)\" 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/32436/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/32436/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32437","slug":"witch-cottage-and-apothecary-beamed-ceiling-slab-48dbb1bf","title":"Beamed Ceiling Slab (Witch Cottage and Apothecary)","summary":"Two metre ceiling tile of separate oak boards carried on a pair of chamfered cross beams.","description":"Two metre ceiling tile of separate oak boards carried on a pair of chamfered cross beams. Dimensions 2.00 by 0.19 by 1.99 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: west (cottage-floor) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); east (cottage-floor) at (1.00, 0.00, 0.00) facing (1, 0, 0); north (cottage-floor) at (0.00, 0.00, -1.00) facing (0, 0, -1); south (cottage-floor) at (0.00, 0.00, 1.00) facing (0, 0, 1). Place at 2.42 m so the beam soffit shows below the wall plate and the boards finish flush with the plate at 2.60 m. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-beamed-ceiling-slab-48dbb1bf","cdnUrl":"https://cdn.3dassets.dev/assets/32437/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-beamed-ceiling-slab-48dbb1bf","thumbnailUrl":"https://cdn.3dassets.dev/assets/32437/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32437/v1/poster.webp","blurhash":"U38Mjb%I0gR,=yRnNHt402Ir}Yoc1F$|xGIr","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":41888,"triangles":1080,"vertices":936,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.000026397318603835207,-0.9875534884562283],"max":[1,0.1899736002972104,0.9975534789194851]},"sizeMeters":[2,0.19,1.985],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:15.478Z","updatedAt":"2026-09-08T10:57:15.588Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32437/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BeamedCeilingSlabWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32437/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32437/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32437/v1/model.glb\" alt=\"Beamed Ceiling Slab (Witch Cottage and Apothecary)\" 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/32437/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/32437/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32438","slug":"witch-cottage-and-apothecary-loft-floor-slab-with-hatc-4cc6583c","title":"Loft Floor Slab With Hatch (Witch Cottage and Apothecary)","summary":"Two metre loft floor tile with a 900 mm ladder opening trimmed in oak and a turned baluster rail on its two open sides.","description":"Two metre loft floor tile with a 900 mm ladder opening trimmed in oak and a turned baluster rail on its two open sides. Dimensions 2.02 by 0.82 by 1.99 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: west (cottage-floor) at (-1.00, 0.00, 0.00) facing (-1, 0, 0); east (cottage-floor) at (1.00, 0.00, 0.00) facing (1, 0, 0); north (cottage-floor) at (0.00, 0.00, -1.00) facing (0, 0, -1); south (cottage-floor) at (0.00, 0.00, 1.00) facing (0, 0, 1). The opening is offset to the tile corner so a run of plain ceiling tiles closes the rest of the loft. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-loft-floor-slab-with-hatc-4cc6583c","cdnUrl":"https://cdn.3dassets.dev/assets/32438/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-loft-floor-slab-with-hatc-4cc6583c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32438/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32438/v1/poster.webp","blurhash":"U37]-L$#0zs.9}ahR*NH02NI^6R+}ls+-T%1","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":75228,"triangles":2052,"vertices":1922,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.00004801100656737223,-0.9875201970729006],"max":[1.016800045967102,0.8199519818408753,0.9975201875361575]},"sizeMeters":[2.017,0.82,1.985],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:15.829Z","updatedAt":"2026-09-08T10:57:15.960Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32438/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoftFloorSlabWithHatchWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32438/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32438/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32438/v1/model.glb\" alt=\"Loft Floor Slab With Hatch (Witch Cottage and Apothecary)\" 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/32438/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/32438/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32439","slug":"witch-cottage-and-apothecary-loft-ladder-5475f56d","title":"Loft Ladder (Witch Cottage and Apothecary)","summary":"Nine rung oak loft ladder leaning at 15 degrees, reaching a 2.55 m opening.","description":"Nine rung oak loft ladder leaning at 15 degrees, reaching a 2.55 m opening. Dimensions 0.56 by 2.54 by 0.78 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the ladder is a single piece and does not fold or slide. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-loft-ladder-5475f56d","cdnUrl":"https://cdn.3dassets.dev/assets/32439/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-loft-ladder-5475f56d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32439/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32439/v1/poster.webp","blurhash":"U16jL7}r020N#q9^AV}rACNH,[-V$ks.W-Na","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":44452,"triangles":1188,"vertices":1030,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.2774937409929977,0,-0.7395853706259135],"max":[0.2774937409929977,2.5426838397979736,0.0395853937227133]},"sizeMeters":[0.555,2.543,0.779],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:17.104Z","updatedAt":"2026-09-08T10:57:17.210Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32439/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoftLadderWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32439/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32439/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32439/v1/model.glb\" alt=\"Loft Ladder (Witch Cottage and Apothecary)\" 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/32439/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/32439/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32440","slug":"witch-cottage-and-apothecary-stair-flight-39950d11","title":"Stair Flight (Witch Cottage and Apothecary)","summary":"Eleven tread oak stair climbing 2.60 m over 2.86 m, with closed risers, chamfered strings and a turned baluster rail.","description":"Eleven tread oak stair climbing 2.60 m over 2.86 m, with closed risers, chamfered strings and a turned baluster rail. Dimensions 1.01 by 3.31 by 2.89 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry; the flight is one piece and the handrail does not move. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-stair-flight-39950d11","cdnUrl":"https://cdn.3dassets.dev/assets/32440/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-stair-flight-39950d11","thumbnailUrl":"https://cdn.3dassets.dev/assets/32440/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32440/v1/poster.webp","blurhash":"U15gL?+^0$AX;3=eOV5,0#w{}XJ+2t5R=K}s","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":116772,"triangles":3528,"vertices":3287,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.5049965057941461,0,-1.3181008520581685],"max":[0.5049965057941461,3.305147409439087,1.57510094074988]},"sizeMeters":[1.01,3.305,2.893],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:18.268Z","updatedAt":"2026-09-08T10:57:18.392Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32440/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StairFlightWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32440/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32440/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32440/v1/model.glb\" alt=\"Stair Flight (Witch Cottage and Apothecary)\" 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/32440/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/32440/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32441","slug":"witch-cottage-and-apothecary-thatch-roof-section-62950bdf","title":"Thatch Roof Section (Witch Cottage and Apothecary)","summary":"Two metre thatch roof slope over a 3.40 m rafter run and a 2.60 m rise: nine overlapping straw courses over a continuous thick straw blanket on oak rafters with a rolled cut eaves.","description":"Two metre thatch roof slope over a 3.40 m rafter run and a 2.60 m rise: nine overlapping straw courses over a continuous thick straw blanket on oak rafters with a rolled cut eaves. Dimensions 2.02 by 2.98 by 3.59 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The ridge end is at Z=0 and the eaves at Z=3.40; set on the wall plate at 2.60 m and mirror it with a half turn for the far slope. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-thatch-roof-section-62950bdf","cdnUrl":"https://cdn.3dassets.dev/assets/32441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-thatch-roof-section-62950bdf","thumbnailUrl":"https://cdn.3dassets.dev/assets/32441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32441/v1/poster.webp","blurhash":"UGFYSs%L00M|?Z0MD*~U02D*?Z-:xt?GxtIV","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":194008,"triangles":8956,"vertices":7577,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0110938523734285,-0.00010732077449815414,-0.09413580596446991],"max":[1.0110938523734285,2.9795952030770003,3.494135856628418]},"sizeMeters":[2.022,2.98,3.588],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:17.257Z","updatedAt":"2026-09-08T10:57:17.381Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32441/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThatchRoofSectionWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32441/v1/model.glb\" alt=\"Thatch Roof Section (Witch Cottage and Apothecary)\" 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/32441/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/32441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32442","slug":"witch-cottage-and-apothecary-thatch-ridge-cap-f23ab902","title":"Thatch Ridge Cap (Witch Cottage and Apothecary)","summary":"Two metre thatch ridge roll with a scalloped cut edge and split hazel liggers pegged over it.","description":"Two metre thatch ridge roll with a scalloped cut edge and split hazel liggers pegged over it. Dimensions 2.09 by 0.48 by 0.88 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Sits astride the ridge line; the roll is 720 mm across the apex. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-thatch-ridge-cap-f23ab902","cdnUrl":"https://cdn.3dassets.dev/assets/32442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-thatch-ridge-cap-f23ab902","thumbnailUrl":"https://cdn.3dassets.dev/assets/32442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32442/v1/poster.webp","blurhash":"U9BfqU%202sq-o?ZofIV00ox~UNG9a03WT?Z","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":73988,"triangles":2700,"vertices":2169,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0462391376495361,0.0000166773171239587,-0.442144075304267],"max":[1.0462391376495361,0.47998331195404,0.442144075304267]},"sizeMeters":[2.092,0.48,0.884],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:17.590Z","updatedAt":"2026-09-08T10:57:17.693Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32442/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThatchRidgeCapWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32442/v1/model.glb\" alt=\"Thatch Ridge Cap (Witch Cottage and Apothecary)\" 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/32442/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/32442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32443","slug":"witch-cottage-and-apothecary-gable-end-wall-08dd4255","title":"Gable End Wall (Witch Cottage and Apothecary)","summary":"Limewashed cob gable filling one end of the roof, with barge boards on the rake and a diamond loft light.","description":"Limewashed cob gable filling one end of the roof, with barge boards on the rake and a diamond loft light. Dimensions 0.62 by 2.68 by 6.07 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Six metres across, apex 2.60 m above the wall plate and 0.31 m at the barge, which is the roof slope; set it at 2.60 m on the gable wall line. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-gable-end-wall-08dd4255","cdnUrl":"https://cdn.3dassets.dev/assets/32443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-gable-end-wall-08dd4255","thumbnailUrl":"https://cdn.3dassets.dev/assets/32443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32443/v1/poster.webp","blurhash":"U9BWD7$e00X9009ZS~tR00?v~pRO_2nQMxMx","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"modular","title":"Modular"},{"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":37048,"triangles":664,"vertices":596,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.30960457632109234,0.0001861152240878461,-3.033735990524292],"max":[0.30960457632109234,2.675908978153844,3.033735990524292]},"sizeMeters":[0.619,2.676,6.067],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:18.931Z","updatedAt":"2026-09-08T10:57:19.043Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GableEndWallWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32443/v1/model.glb\" alt=\"Gable End Wall (Witch Cottage and Apothecary)\" 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/32443/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/32443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32444","slug":"witch-cottage-and-apothecary-crooked-chimney-stack-e93946da","title":"Crooked Chimney Stack (Witch Cottage and Apothecary)","summary":"Leaning drystone chimney stack 5.90 m tall, corbelled out at the head with two glazed clay pots and moss on its shoulders.","description":"Leaning drystone chimney stack 5.90 m tall, corbelled out at the head with two glazed clay pots and moss on its shoulders. Dimensions 1.50 by 6.52 by 1.38 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a gable wall on its own footing; the lean is modelled, not applied at placement time. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-crooked-chimney-stack-e93946da","cdnUrl":"https://cdn.3dassets.dev/assets/32444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-crooked-chimney-stack-e93946da","thumbnailUrl":"https://cdn.3dassets.dev/assets/32444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32444/v1/poster.webp","blurhash":"U19Qjf?b0000nmM|9Z%f^,xu9XE0~px[4nDj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":100876,"triangles":2200,"vertices":1987,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7497555396596655,0,-0.5999523854602751],"max":[0.7497555396596655,6.5200155234065456,0.7841006386241223]},"sizeMeters":[1.5,6.52,1.384],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:18.946Z","updatedAt":"2026-09-08T10:57:19.055Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32444/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CrookedChimneyStackWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32444/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32444/v1/model.glb\" alt=\"Crooked Chimney Stack (Witch Cottage and Apothecary)\" 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/32444/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/32444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32445","slug":"witch-cottage-and-apothecary-stone-hearth-12db6eef","title":"Stone Hearth (Witch Cottage and Apothecary)","summary":"Open stone inglenook 2.40 m wide with a chamfered oak bressumer, a lit log fire, a stand of fire irons and a copper kettle on its trivet.","description":"Open stone inglenook 2.40 m wide with a chamfered oak bressumer, a lit log fire, a stand of fire irons and a copper kettle on its trivet. Dimensions 2.40 by 2.40 by 1.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a wall with its back at Z = -0.50; the fire, the irons and the kettle are part of the model and do not move. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-stone-hearth-12db6eef","cdnUrl":"https://cdn.3dassets.dev/assets/32445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-stone-hearth-12db6eef","thumbnailUrl":"https://cdn.3dassets.dev/assets/32445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32445/v1/poster.webp","blurhash":"U6C~^?=|00Nuv}$%M{E257MyMwS2?^.7My9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":161904,"triangles":4402,"vertices":3801,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-1.2000000476837158,0,-0.5000030717192838],"max":[1.2000000476837158,2.4000000953674316,0.5000030717192838]},"sizeMeters":[2.4,2.4,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:20.425Z","updatedAt":"2026-09-08T10:57:20.517Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32445/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneHearthWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32445/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32445/v1/model.glb\" alt=\"Stone Hearth (Witch Cottage and Apothecary)\" 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/32445/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/32445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32446","slug":"witch-cottage-and-apothecary-rocking-chair-5f3fe570","title":"Rocking Chair (Witch Cottage and Apothecary)","summary":"Spindle backed rocking chair in waxed oak with curved rockers, a wool seat pad and a cushion at the small of the back.","description":"Spindle backed rocking chair in waxed oak with curved rockers, a wool seat pad and a cushion at the small of the back. Dimensions 0.58 by 1.10 by 0.86 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: rocker at (0.00, 0.06, 0.00) m. The whole chair is one node, `rocker`, tipping about the rocker contact line at the origin. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: rock. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-rocking-chair-5f3fe570","cdnUrl":"https://cdn.3dassets.dev/assets/32446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-rocking-chair-5f3fe570","thumbnailUrl":"https://cdn.3dassets.dev/assets/32446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32446/v1/poster.webp","blurhash":"U68V=vt60eI:S#e:Rkoe0yS1}[xaEfS4-BsT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":60740,"triangles":1596,"vertices":1444,"meshes":2,"materials":2,"textures":1,"animations":["rock"],"boundingBox":{"min":[-0.2899836619608926,0,-0.43001821903643705],"max":[0.2899836619608926,1.1049999594688416,0.43001821903643705]},"sizeMeters":[0.58,1.105,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:19.990Z","updatedAt":"2026-09-08T10:57:20.087Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32446/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function RockingChairWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32446/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32446/v1/model.glb\" alt=\"Rocking Chair (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32446/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32447","slug":"witch-cottage-and-apothecary-patchwork-armchair-91dd084b","title":"Patchwork Armchair (Witch Cottage and Apothecary)","summary":"Deep patchwork armchair in red wool with pale pieced panels across its back, rolled arms and turned oak feet.","description":"Deep patchwork armchair in red wool with pale pieced panels across its back, rolled arms and turned oak feet. Dimensions 0.96 by 1.12 by 0.92 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-patchwork-armchair-91dd084b","cdnUrl":"https://cdn.3dassets.dev/assets/32447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-patchwork-armchair-91dd084b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32447/v1/poster.webp","blurhash":"U9Gjpu-p00S2~WEKD%=|0J9tnj$kRPtRK3IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":61300,"triangles":1748,"vertices":1548,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.4800170924089671,0,-0.46998717464766065],"max":[0.4800170924089671,1.1200000047683716,0.449987193721147]},"sizeMeters":[0.96,1.12,0.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:20.604Z","updatedAt":"2026-09-08T10:57:20.738Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32447/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatchworkArmchairWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32447/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32447/v1/model.glb\" alt=\"Patchwork Armchair (Witch Cottage and Apothecary)\" 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/32447/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/32447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32448","slug":"witch-cottage-and-apothecary-mismatched-stool-4eb25173","title":"Mismatched Stool (Witch Cottage and Apothecary)","summary":"Four legged turned oak stool 440 mm high, one of the mismatched set that fills a cottage table.","description":"Four legged turned oak stool 440 mm high, one of the mismatched set that fills a cottage table. Dimensions 0.36 by 0.49 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-mismatched-stool-4eb25173","cdnUrl":"https://cdn.3dassets.dev/assets/32448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-mismatched-stool-4eb25173","thumbnailUrl":"https://cdn.3dassets.dev/assets/32448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32448/v1/poster.webp","blurhash":"U58o*e$$0#Nb}?oL9]ayg3azEzW:$jWWSLs.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":55660,"triangles":1224,"vertices":1317,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.1822014544362111,0,-0.1822014544362111],"max":[0.1822014544362111,0.4950000047683716,0.1822014544362111]},"sizeMeters":[0.364,0.495,0.364],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:20.643Z","updatedAt":"2026-09-08T10:57:20.789Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32448/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MismatchedStoolWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32448/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32448/v1/model.glb\" alt=\"Mismatched Stool (Witch Cottage and Apothecary)\" 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/32448/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/32448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32449","slug":"witch-cottage-and-apothecary-mismatched-stool-painted-e224a042","title":"Mismatched Stool Painted (Witch Cottage and Apothecary)","summary":"The same stool limewashed pale, as the second of the mismatched pair.","description":"The same stool limewashed pale, as the second of the mismatched pair. Dimensions 0.36 by 0.49 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data. Colour variant of mismatched-stool.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-mismatched-stool-painted-e224a042","cdnUrl":"https://cdn.3dassets.dev/assets/32449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-mismatched-stool-painted-e224a042","thumbnailUrl":"https://cdn.3dassets.dev/assets/32449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32449/v1/poster.webp","blurhash":"UFFiMk-;00Rj~qoz9ZaeIVWBIUaet7WANGof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":43468,"triangles":1224,"vertices":1317,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.1822014544362111,0,-0.1822014544362111],"max":[0.1822014544362111,0.4950000047683716,0.1822014544362111]},"sizeMeters":[0.364,0.495,0.364],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:22.717Z","updatedAt":"2026-09-08T10:57:22.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32449/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MismatchedStoolPaintedWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32449/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32449/v1/model.glb\" alt=\"Mismatched Stool Painted (Witch Cottage and Apothecary)\" 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/32449/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/32449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32450","slug":"witch-cottage-and-apothecary-scrubbed-table-5d06a8da","title":"Scrubbed Table (Witch Cottage and Apothecary)","summary":"Scrubbed oak cottage table 1.72 m long with five separate top boards, turned legs and a pale cloth laid down its middle.","description":"Scrubbed oak cottage table 1.72 m long with five separate top boards, turned legs and a pale cloth laid down its middle. Dimensions 1.72 by 0.79 by 0.99 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-scrubbed-table-5d06a8da","cdnUrl":"https://cdn.3dassets.dev/assets/32450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-scrubbed-table-5d06a8da","thumbnailUrl":"https://cdn.3dassets.dev/assets/32450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32450/v1/poster.webp","blurhash":"UDA]mSxa01V@~W%1IAM{0exa%fM|00Rk.8bb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":73204,"triangles":1800,"vertices":1754,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-0.8600000143051147,-0.00004061041059616466,-0.4950505163677808],"max":[0.8600000143051147,0.7880162152746474,0.4950505163677808]},"sizeMeters":[1.72,0.788,0.99],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:22.147Z","updatedAt":"2026-09-08T10:57:22.251Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32450/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScrubbedTableWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32450/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32450/v1/model.glb\" alt=\"Scrubbed Table (Witch Cottage and Apothecary)\" 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/32450/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/32450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32451","slug":"witch-cottage-and-apothecary-welsh-dresser-8b7c2923","title":"Welsh Dresser (Witch Cottage and Apothecary)","summary":"Tall oak dresser 1.42 m wide: a two door cupboard under three fiddled shelves of standing plates, bowls and mugs.","description":"Tall oak dresser 1.42 m wide: a two door cupboard under three fiddled shelves of standing plates, bowls and mugs. Dimensions 1.42 by 2.47 by 0.57 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door-dresser-left at (-0.62, 0.16, 0.21) m; door-dresser-right at (0.62, 0.16, 0.21) m. The cupboard leaves are nodes `door-dresser-left` and `door-dresser-right`; the crockery is part of the model. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-welsh-dresser-8b7c2923","cdnUrl":"https://cdn.3dassets.dev/assets/32451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-welsh-dresser-8b7c2923","thumbnailUrl":"https://cdn.3dassets.dev/assets/32451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32451/v1/poster.webp","blurhash":"U58|CZNG00%2~VR*4ot60foL?HR%DixF.8I;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":163388,"triangles":5984,"vertices":6305,"meshes":7,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.7100109948875317,0,-0.2999640021305021],"max":[0.7100109948875317,2.4700000286102295,0.27399998813867565]},"sizeMeters":[1.42,2.47,0.574],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:23.365Z","updatedAt":"2026-09-08T10:57:23.453Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32451/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WelshDresserWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32451/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32451/v1/model.glb\" alt=\"Welsh Dresser (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32451/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32452","slug":"witch-cottage-and-apothecary-spinning-wheel-7422193e","title":"Spinning Wheel (Witch Cottage and Apothecary)","summary":"Saxony spinning wheel on a raked oak bench: a ten spoke 620 mm drive wheel, a turned maiden and a wound bobbin of red wool.","description":"Saxony spinning wheel on a raked oak bench: a ten spoke 620 mm drive wheel, a turned maiden and a wound bobbin of red wool. Dimensions 1.07 by 1.34 by 0.63 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-spinning at (-0.30, 0.68, 0.06) m. The drive wheel is node `wheel-spinning`. The drive band and the treadle linkage are static, because a rigid node transform cannot carry a loop of cord. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-spinning-wheel-7422193e","cdnUrl":"https://cdn.3dassets.dev/assets/32452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-spinning-wheel-7422193e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32452/v1/poster.webp","blurhash":"U57TUu9t01~Cx^nhMxkq0zxa=|IU4.oz?HMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":89200,"triangles":2688,"vertices":2331,"meshes":4,"materials":3,"textures":2,"animations":["spin"],"boundingBox":{"min":[-0.6219999670982361,0,-0.1539936066624279],"max":[0.4509470005818608,1.340000033378601,0.47975316653219413]},"sizeMeters":[1.073,1.34,0.634],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:22.468Z","updatedAt":"2026-09-08T10:57:22.600Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32452/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SpinningWheelWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32452/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32452/v1/model.glb\" alt=\"Spinning Wheel (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32452/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32453","slug":"witch-cottage-and-apothecary-floor-loom-27ba4cf9","title":"Floor Loom (Witch Cottage and Apothecary)","summary":"Four post oak floor loom 1.24 m wide with a beamed warp, a raised beater and a half woven length of red cloth.","description":"Four post oak floor loom 1.24 m wide with a beamed warp, a raised beater and a half woven length of red cloth. Dimensions 1.24 by 1.59 by 1.12 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the heddles, treadles and the beater are one piece, since the shed cannot be opened with a rigid node transform. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-floor-loom-27ba4cf9","cdnUrl":"https://cdn.3dassets.dev/assets/32453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-floor-loom-27ba4cf9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32453/v1/poster.webp","blurhash":"U49ibyxZ01r=}@s:E2NG00Rk-;t79tV@$*x]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":124612,"triangles":4252,"vertices":3634,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.6200593438838293,-7.450581263057643e-10,-0.5600301858795456],"max":[0.6200593438838293,1.5856311321258545,0.5600301858795456]},"sizeMeters":[1.24,1.586,1.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:23.859Z","updatedAt":"2026-09-08T10:57:23.984Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32453/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorLoomWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32453/v1/model.glb\" alt=\"Floor Loom (Witch Cottage and Apothecary)\" 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/32453/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/32453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32454","slug":"witch-cottage-and-apothecary-besom-broom-76d6d5a1","title":"Besom Broom (Witch Cottage and Apothecary)","summary":"Birch besom 1.68 m long: a turned handle bound into a splayed head of twigs with two wool ties.","description":"Birch besom 1.68 m long: a turned handle bound into a splayed head of twigs with two wool ties. Dimensions 0.30 by 1.75 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-besom-broom-76d6d5a1","cdnUrl":"https://cdn.3dassets.dev/assets/32454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-besom-broom-76d6d5a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32454/v1/poster.webp","blurhash":"U55X=6tP02Mg8yV[.jtjyBoeR7Rk%2bHIojZ","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":97804,"triangles":4012,"vertices":3410,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.14407209605119536,0,-0.17295574990152918],"max":[0.1512542769326956,1.7531152963638306,0.16819354740023218]},"sizeMeters":[0.295,1.753,0.341],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:24.227Z","updatedAt":"2026-09-08T15:01:31.551Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32454/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BesomBroomWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32454/v1/model.glb\" alt=\"Besom Broom (Witch Cottage and Apothecary)\" 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/32454/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/32454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32455","slug":"witch-cottage-and-apothecary-hanging-lantern-57e97573","title":"Hanging Lantern (Witch Cottage and Apothecary)","summary":"Hanging iron lantern with a glazed body, a lit candle inside and a ring for the beam hook.","description":"Hanging iron lantern with a glazed body, a lit candle inside and a ring for the beam hook. Dimensions 0.23 by 0.45 by 0.23 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the lantern's base; hang it about 400 mm below a beam. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-hanging-lantern-57e97573","cdnUrl":"https://cdn.3dassets.dev/assets/32455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-hanging-lantern-57e97573","thumbnailUrl":"https://cdn.3dassets.dev/assets/32455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32455/v1/poster.webp","blurhash":"U66bMht800IUizaybtof4TV@?[tR%yjaMfay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26036,"triangles":1116,"vertices":1024,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.11499196207475686,0,-0.11499196207475686],"max":[0.11499196207475686,0.4514126777648926,0.11499196207475686]},"sizeMeters":[0.23,0.451,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:24.420Z","updatedAt":"2026-09-08T10:57:24.518Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32455/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingLanternWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32455/v1/model.glb\" alt=\"Hanging Lantern (Witch Cottage and Apothecary)\" 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/32455/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/32455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32456","slug":"witch-cottage-and-apothecary-candle-holder-triple-37676885","title":"Candle Holder Triple (Witch Cottage and Apothecary)","summary":"Brass chamberstick carrying three lit beeswax candles of different lengths, with wax run down their sides.","description":"Brass chamberstick carrying three lit beeswax candles of different lengths, with wax run down their sides. Dimensions 0.39 by 0.63 by 0.27 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-candle-holder-triple-37676885","cdnUrl":"https://cdn.3dassets.dev/assets/32456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-candle-holder-triple-37676885","thumbnailUrl":"https://cdn.3dassets.dev/assets/32456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32456/v1/poster.webp","blurhash":"U8Bfzw~V0000-;%LIU9G009Z~V_20KIU?H?a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":23772,"triangles":946,"vertices":998,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.1423081010580063,-0.000006027167262945277,-0.13500603141092193],"max":[0.25200000405311584,0.6299999952316284,0.13500603141092193]},"sizeMeters":[0.394,0.63,0.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:26.056Z","updatedAt":"2026-09-08T10:57:26.174Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32456/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CandleHolderTripleWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32456/v1/model.glb\" alt=\"Candle Holder Triple (Witch Cottage and Apothecary)\" 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/32456/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/32456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32457","slug":"witch-cottage-and-apothecary-braided-rug-ccf15ab7","title":"Braided Rug (Witch Cottage and Apothecary)","summary":"Oval braided rag rug 2.20 m across in alternating red and cream coils, 54 mm thick.","description":"Oval braided rag rug 2.20 m across in alternating red and cream coils, 54 mm thick. Dimensions 2.40 by 0.05 by 2.38 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-braided-rug-ccf15ab7","cdnUrl":"https://cdn.3dassets.dev/assets/32457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-braided-rug-ccf15ab7","thumbnailUrl":"https://cdn.3dassets.dev/assets/32457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32457/v1/poster.webp","blurhash":"UBBftus;00bYxaWVR*s;00R*~CjHIos:s:M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33384,"triangles":1574,"vertices":1029,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.1979999542236328,0.000013048136063658483,-1.1914189430916935],"max":[1.1979999542236328,0.053246115958861265,1.1914189430916935]},"sizeMeters":[2.396,0.053,2.383],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:25.529Z","updatedAt":"2026-09-08T10:57:25.626Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32457/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BraidedRugWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32457/v1/model.glb\" alt=\"Braided Rug (Witch Cottage and Apothecary)\" 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/32457/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/32457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32458","slug":"witch-cottage-and-apothecary-cat-basket-d4ca71cd","title":"Cat Basket (Witch Cottage and Apothecary)","summary":"Woven basket 640 mm across with a folded wool blanket and a curled sleeping shape pressed into it.","description":"Woven basket 640 mm across with a folded wool blanket and a curled sleeping shape pressed into it. Dimensions 0.70 by 0.20 by 0.69 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-cat-basket-d4ca71cd","cdnUrl":"https://cdn.3dassets.dev/assets/32458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-cat-basket-d4ca71cd","thumbnailUrl":"https://cdn.3dassets.dev/assets/32458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32458/v1/poster.webp","blurhash":"UBC~x8%K01R*?Gj]NGoJ00M|~Bjb4:WBxaWE","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":53416,"triangles":2586,"vertices":2245,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.35215839743614197,0.00001899765102771067,-0.3449791680441518],"max":[0.35215839743614197,0.1999871806830857,0.3449791680441518]},"sizeMeters":[0.704,0.2,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:26.073Z","updatedAt":"2026-09-08T10:57:26.193Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CatBasketWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32458/v1/model.glb\" alt=\"Cat Basket (Witch Cottage and Apothecary)\" 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/32458/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/32458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32459","slug":"witch-cottage-and-apothecary-herb-wreath-e980521a","title":"Herb Wreath (Witch Cottage and Apothecary)","summary":"Hanging herb wreath 620 mm across: a willow ring wound with green sprigs, dried flowers and a wool tie.","description":"Hanging herb wreath 620 mm across: a willow ring wound with green sprigs, dried flowers and a wool tie. Dimensions 0.67 by 0.14 by 0.68 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Modelled lying flat with the origin under its centre; rotate it upright to hang it on a wall or a door. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-herb-wreath-e980521a","cdnUrl":"https://cdn.3dassets.dev/assets/32459/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-herb-wreath-e980521a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32459/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32459/v1/poster.webp","blurhash":"U89j.EtQ00wMtQW-e:xH00RQ_LS2Myr_btJ5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":92272,"triangles":3712,"vertices":3142,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.32912594079971313,-0.0000024654360470804937,-0.34638532996177673],"max":[0.3375528156757355,0.14118085707688954,0.33543823470648626]},"sizeMeters":[0.667,0.141,0.682],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:26.147Z","updatedAt":"2026-09-08T10:57:26.247Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32459/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HerbWreathWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32459/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32459/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32459/v1/model.glb\" alt=\"Herb Wreath (Witch Cottage and Apothecary)\" 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/32459/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/32459/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32460","slug":"witch-cottage-and-apothecary-tea-set-on-tray-2281bd16","title":"Tea Set On Tray (Witch Cottage and Apothecary)","summary":"Oak tray laid with a glazed teapot, three filled cups and a saucer, ready to carry to the fire.","description":"Oak tray laid with a glazed teapot, three filled cups and a saucer, ready to carry to the fire. Dimensions 0.47 by 0.20 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-tea-set-on-tray-2281bd16","cdnUrl":"https://cdn.3dassets.dev/assets/32460/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-tea-set-on-tray-2281bd16","thumbnailUrl":"https://cdn.3dassets.dev/assets/32460/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32460/v1/poster.webp","blurhash":"UBC6cC^*009Fk=%MV@D%00E1~qxum+D%of?b","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":47320,"triangles":1204,"vertices":1332,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.22480466961860657,0.000009460680313624209,-0.17798874944118315],"max":[0.25,0.2039918630100905,0.15999633691190607]},"sizeMeters":[0.475,0.204,0.338],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:27.168Z","updatedAt":"2026-09-08T15:00:48.649Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32460/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeaSetOnTrayWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32460/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32460/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32460/v1/model.glb\" alt=\"Tea Set On Tray (Witch Cottage and Apothecary)\" 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/32460/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/32460/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32461","slug":"witch-cottage-and-apothecary-bread-and-preserves-board-d797506d","title":"Bread And Preserves Board (Witch Cottage and Apothecary)","summary":"Oak board with a round loaf, three cut slices, two capped jars of preserve and a knife laid across it.","description":"Oak board with a round loaf, three cut slices, two capped jars of preserve and a knife laid across it. Dimensions 0.58 by 0.21 by 0.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-bread-and-preserves-board-d797506d","cdnUrl":"https://cdn.3dassets.dev/assets/32461/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-bread-and-preserves-board-d797506d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32461/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32461/v1/poster.webp","blurhash":"UBCPnf,-01Ot%MxtocMz00Os~Vi]9FIWRn%e","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":48380,"triangles":1128,"vertices":1007,"meshes":7,"materials":7,"textures":2,"animations":[],"boundingBox":{"min":[-0.25,0.000004915428972874017,-0.15001532320271632],"max":[0.32755282521247864,0.2149950199490397,0.15001532320271632]},"sizeMeters":[0.578,0.215,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:27.828Z","updatedAt":"2026-09-08T15:00:47.501Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32461/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreadAndPreservesBoardWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32461/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32461/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32461/v1/model.glb\" alt=\"Bread And Preserves Board (Witch Cottage and Apothecary)\" 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/32461/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/32461/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32463","slug":"witch-cottage-and-apothecary-log-basket-fb1e3f3d","title":"Log Basket (Witch Cottage and Apothecary)","summary":"Woven willow log basket 660 mm across, filled with nine split billets standing on end.","description":"Woven willow log basket 660 mm across, filled with nine split billets standing on end. Dimensions 0.67 by 0.68 by 0.67 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-log-basket-fb1e3f3d","cdnUrl":"https://cdn.3dassets.dev/assets/32463/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-log-basket-fb1e3f3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32463/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32463/v1/poster.webp","blurhash":"UECPOs%20MNH0MRk-.oy03WB%0WB~ntQD+Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":44980,"triangles":1296,"vertices":1071,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.3349115550518036,-0.000020566161843704744,-0.3349115550518036],"max":[0.3349115550518036,0.6800155943099236,0.3349115550518036]},"sizeMeters":[0.67,0.68,0.67],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:28.903Z","updatedAt":"2026-09-08T10:57:28.999Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32463/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LogBasketWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32463/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32463/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32463/v1/model.glb\" alt=\"Log Basket (Witch Cottage and Apothecary)\" 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/32463/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/32463/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32462","slug":"witch-cottage-and-apothecary-water-pail-933faea7","title":"Water Pail (Witch Cottage and Apothecary)","summary":"Coopered oak pail 350 mm across with two iron hoops, a swinging bail and water standing in it.","description":"Coopered oak pail 350 mm across with two iron hoops, a swinging bail and water standing in it. Dimensions 0.37 by 0.62 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The bail is modelled up and does not swing. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-water-pail-933faea7","cdnUrl":"https://cdn.3dassets.dev/assets/32462/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-water-pail-933faea7","thumbnailUrl":"https://cdn.3dassets.dev/assets/32462/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32462/v1/poster.webp","blurhash":"U15zwG%100E4BoNG#7$+0Mi|~AS|s%tQT0M_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":34892,"triangles":748,"vertices":634,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.18500508030264126,-0.0000015951968870830946,-0.1800138425389728],"max":[0.18500508030264126,0.6164619326591492,0.1800138425389728]},"sizeMeters":[0.37,0.616,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:27.858Z","updatedAt":"2026-09-08T10:57:27.965Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32462/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterPailWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32462/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32462/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32462/v1/model.glb\" alt=\"Water Pail (Witch Cottage and Apothecary)\" 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/32462/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/32462/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32464","slug":"witch-cottage-and-apothecary-cauldron-on-hearth-crane-8a2e8ee3","title":"Cauldron On Hearth Crane (Witch Cottage and Apothecary)","summary":"Wrought iron hearth crane on a stone footing swinging a three legged cauldron in and out of the fire, its brew glowing at the rim.","description":"Wrought iron hearth crane on a stone footing swinging a three legged cauldron in and out of the fire, its brew glowing at the rim. Dimensions 1.59 by 1.82 by 0.66 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: crane-arm at (0.00, -0.00, 0.00) m. The arm, chain and cauldron are one node, `crane-arm`, turning about the standard at the origin. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-cauldron-on-hearth-crane-8a2e8ee3","cdnUrl":"https://cdn.3dassets.dev/assets/32464/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-cauldron-on-hearth-crane-8a2e8ee3","thumbnailUrl":"https://cdn.3dassets.dev/assets/32464/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32464/v1/poster.webp","blurhash":"U45hV:t700adM{M{oL%M00t7~WD*%M%MWB9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":85968,"triangles":1718,"vertices":1494,"meshes":4,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.20999999344348907,0.00001068218756221373,-0.3299635178225264],"max":[1.3832168579101562,1.8200000524520874,0.3299635178225264]},"sizeMeters":[1.593,1.82,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:29.861Z","updatedAt":"2026-09-08T10:57:29.962Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32464/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CauldronOnHearthCraneWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32464/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32464/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32464/v1/model.glb\" alt=\"Cauldron On Hearth Crane (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32464/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32464/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32465","slug":"witch-cottage-and-apothecary-copper-still-f55cec8e","title":"Copper Still (Witch Cottage and Apothecary)","summary":"Small copper alembic on a stone furnace, its swan neck running into a coiled condenser in an oak worm tub with a receiving jar.","description":"Small copper alembic on a stone furnace, its swan neck running into a coiled condenser in an oak worm tub with a receiving jar. Dimensions 1.17 by 1.57 by 1.47 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the condenser coil, the swan neck and the furnace door are modelled in one piece, since a rigid node transform cannot bend a pipe. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-copper-still-f55cec8e","cdnUrl":"https://cdn.3dassets.dev/assets/32465/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-copper-still-f55cec8e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32465/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32465/v1/poster.webp","blurhash":"U37^lNIp00$_HqRjX:%L01%M}sIBu5fN#kN2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":125848,"triangles":2920,"vertices":2412,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-0.41999998688697815,-0.000021364375124399704,-0.34001707974946954],"max":[0.7480000257492065,1.5688768208220614,1.1299999952316284]},"sizeMeters":[1.168,1.569,1.47],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:30.557Z","updatedAt":"2026-09-08T10:57:31.114Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32465/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CopperStillWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32465/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32465/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32465/v1/model.glb\" alt=\"Copper Still (Witch Cottage and Apothecary)\" 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/32465/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/32465/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32466","slug":"witch-cottage-and-apothecary-mortar-and-pestle-2b6b8d3b","title":"Mortar And Pestle (Witch Cottage and Apothecary)","summary":"Glazed ceramic mortar with a turned oak pestle standing in it, 380 mm across the rim.","description":"Glazed ceramic mortar with a turned oak pestle standing in it, 380 mm across the rim. Dimensions 0.37 by 0.39 by 0.38 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-mortar-and-pestle-2b6b8d3b","cdnUrl":"https://cdn.3dassets.dev/assets/32466/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-mortar-and-pestle-2b6b8d3b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32466/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32466/v1/poster.webp","blurhash":"UADl.t%M00IUD*Rk-;t700RP~pofIUs:V@NG","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28276,"triangles":414,"vertices":451,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.18712393331888608,0.000005492155229283591,-0.1899999976158142],"max":[0.18712393331888608,0.38999998569488525,0.1899999976158142]},"sizeMeters":[0.374,0.39,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:29.551Z","updatedAt":"2026-09-08T15:01:30.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32466/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MortarAndPestleWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32466/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32466/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32466/v1/model.glb\" alt=\"Mortar And Pestle (Witch Cottage and Apothecary)\" 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/32466/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/32466/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32467","slug":"witch-cottage-and-apothecary-brass-scales-7295edbc","title":"Brass Scales (Witch Cottage and Apothecary)","summary":"Balance scales on an oak base: a turned brass column, a 560 mm beam and two suspended pans with a weight in one.","description":"Balance scales on an oak base: a turned brass column, a 560 mm beam and two suspended pans with a weight in one. Dimensions 0.70 by 0.56 by 0.20 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the beam and pans are one piece, so the balance does not tip. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-brass-scales-7295edbc","cdnUrl":"https://cdn.3dassets.dev/assets/32467/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-brass-scales-7295edbc","thumbnailUrl":"https://cdn.3dassets.dev/assets/32467/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32467/v1/poster.webp","blurhash":"U4840js:02oy~o%1IVNG0M-n%K4;0MWCx@I:","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":46736,"triangles":1296,"vertices":1267,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3449999988079071,0.0000032048259361056736,-0.10000640521877674],"max":[0.3504612147808075,0.5599977419457751,0.10000640521877674]},"sizeMeters":[0.695,0.56,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:30.697Z","updatedAt":"2026-09-08T15:01:29.484Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32467/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BrassScalesWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32467/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32467/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32467/v1/model.glb\" alt=\"Brass Scales (Witch Cottage and Apothecary)\" 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/32467/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/32467/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32468","slug":"witch-cottage-and-apothecary-herb-press-d1e57238","title":"Herb Press (Witch Cottage and Apothecary)","summary":"Bench top herb press: an oak frame, a threaded brass screw with an iron cross handle and a pressing plate over a bed of cut leaf.","description":"Bench top herb press: an oak frame, a threaded brass screw with an iron cross handle and a pressing plate over a bed of cut leaf. Dimensions 0.43 by 0.71 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the screw thread is modelled, not rigged, so the platen does not travel. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-herb-press-d1e57238","cdnUrl":"https://cdn.3dassets.dev/assets/32468/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-herb-press-d1e57238","thumbnailUrl":"https://cdn.3dassets.dev/assets/32468/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32468/v1/poster.webp","blurhash":"U18Mmj}=000OozaeR%kV03M}~n-o?GxGIBI:","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":55844,"triangles":1740,"vertices":1377,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.21423291058742774,6.705522803684971e-10,-0.1699757324874155],"max":[0.21423291058742774,0.7099999785423279,0.1699757324874155]},"sizeMeters":[0.428,0.71,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:32.326Z","updatedAt":"2026-09-08T15:01:28.503Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32468/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HerbPressWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32468/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32468/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32468/v1/model.glb\" alt=\"Herb Press (Witch Cottage and Apothecary)\" 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/32468/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/32468/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32469","slug":"witch-cottage-and-apothecary-distillation-flask-rack-fa91306a","title":"Distillation Flask Rack (Witch Cottage and Apothecary)","summary":"Oak rack of five round bottomed glass flasks held in iron rings over small brass spirit lamps.","description":"Oak rack of five round bottomed glass flasks held in iron rings over small brass spirit lamps. Dimensions 0.90 by 0.67 by 0.26 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the flasks are seated in their rings and lift out by hand, not by clip. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-distillation-flask-rack-fa91306a","cdnUrl":"https://cdn.3dassets.dev/assets/32469/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-distillation-flask-rack-fa91306a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32469/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32469/v1/poster.webp","blurhash":"U4ASlA={00rD^k=xn4Io4TnPuhXlz;;}O?71","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":74464,"triangles":2442,"vertices":2387,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.000010817037721932987,-0.12998595804218901],"max":[0.44999998807907104,0.6700108333544934,0.12998595804218901]},"sizeMeters":[0.9,0.67,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:32.554Z","updatedAt":"2026-09-08T10:57:32.660Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32469/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DistillationFlaskRackWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32469/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32469/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32469/v1/model.glb\" alt=\"Distillation Flask Rack (Witch Cottage and Apothecary)\" 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/32469/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/32469/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32471","slug":"witch-cottage-and-apothecary-drying-rack-of-bundles-05b32953","title":"Drying Rack Of Bundles (Witch Cottage and Apothecary)","summary":"Free standing oak drying rack 1.70 m tall carrying fourteen tied bundles of cut herbs on two rails.","description":"Free standing oak drying rack 1.70 m tall carrying fourteen tied bundles of cut herbs on two rails. Dimensions 1.68 by 1.70 by 0.50 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static: the bundles are tied to the rails and carry no clip, because a hanging bundle needs a soft body rather than a rigid node. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-drying-rack-of-bundles-05b32953","cdnUrl":"https://cdn.3dassets.dev/assets/32471/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-drying-rack-of-bundles-05b32953","thumbnailUrl":"https://cdn.3dassets.dev/assets/32471/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32471/v1/poster.webp","blurhash":"U27TXvx[00VZ^*=y570z02ah~USK01Rj~otk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":100376,"triangles":3944,"vertices":3084,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.8380672863020387,0,-0.24999085145921157],"max":[0.8380672863020387,1.7000000476837158,0.24999085145921157]},"sizeMeters":[1.676,1.7,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:32.792Z","updatedAt":"2026-09-08T10:57:32.884Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32471/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DryingRackOfBundlesWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32471/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32471/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32471/v1/model.glb\" alt=\"Drying Rack Of Bundles (Witch Cottage and Apothecary)\" 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/32471/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/32471/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32470","slug":"witch-cottage-and-apothecary-potion-bottle-round-797f4f6a","title":"Potion Bottle Round (Witch Cottage and Apothecary)","summary":"Round bellied apothecary bottle 235 mm tall with a corked and waxed neck and a blank paper label.","description":"Round bellied apothecary bottle 235 mm tall with a corked and waxed neck and a blank paper label. Dimensions 0.14 by 0.28 by 0.15 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-round-797f4f6a","cdnUrl":"https://cdn.3dassets.dev/assets/32470/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-round-797f4f6a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32470/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32470/v1/poster.webp","blurhash":"UA983lxa00M{DOWByWs:00Rj?]t7%#t7eTNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32996,"triangles":456,"vertices":442,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.07000442500631705,0,-0.07000442500631705],"max":[0.07000442500631705,0.27499886011940083,0.0784994674310537]},"sizeMeters":[0.14,0.275,0.149],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:33.800Z","updatedAt":"2026-09-08T10:57:33.897Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32470/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleRoundWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32470/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32470/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32470/v1/model.glb\" alt=\"Potion Bottle Round (Witch Cottage and Apothecary)\" 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/32470/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/32470/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32473","slug":"witch-cottage-and-apothecary-potion-bottle-conical-7fc75988","title":"Potion Bottle Conical (Witch Cottage and Apothecary)","summary":"Tall conical apothecary bottle 300 mm high with a long shoulder, corked neck and a blank paper label.","description":"Tall conical apothecary bottle 300 mm high with a long shoulder, corked neck and a blank paper label. Dimensions 0.12 by 0.34 by 0.13 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-conical-7fc75988","cdnUrl":"https://cdn.3dassets.dev/assets/32473/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-conical-7fc75988","thumbnailUrl":"https://cdn.3dassets.dev/assets/32473/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32473/v1/poster.webp","blurhash":"U88#cw%M009FD5R*%}s:4TRj?]xux]ofV@R*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33016,"triangles":456,"vertices":442,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.06200598409175364,0,-0.06200598409175364],"max":[0.06200598409175364,0.33999885028463445,0.06849946560570125]},"sizeMeters":[0.124,0.34,0.131],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:34.273Z","updatedAt":"2026-09-08T10:57:34.428Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32473/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleConicalWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32473/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32473/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32473/v1/model.glb\" alt=\"Potion Bottle Conical (Witch Cottage and Apothecary)\" 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/32473/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/32473/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32472","slug":"witch-cottage-and-apothecary-potion-bottle-flask-b657139c","title":"Potion Bottle Flask (Witch Cottage and Apothecary)","summary":"Flat sided flask bottle 240 mm high with a pinched shoulder and a corked, waxed neck.","description":"Flat sided flask bottle 240 mm high with a pinched shoulder and a corked, waxed neck. Dimensions 0.16 by 0.28 by 0.16 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-flask-b657139c","cdnUrl":"https://cdn.3dassets.dev/assets/32472/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-flask-b657139c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32472/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32472/v1/poster.webp","blurhash":"UD8}e@xt00IVMdWBtloz4TRk?]t7%zt7R6NG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33732,"triangles":488,"vertices":476,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.08000488117326768,0,-0.08000488117326768],"max":[0.08000488117326768,0.27999885535102925,0.0834994662017477]},"sizeMeters":[0.16,0.28,0.164],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":0,"publishedAt":"2026-09-08T10:57:34.258Z","updatedAt":"2026-09-08T10:57:34.372Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32472/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleFlaskWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32472/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32472/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32472/v1/model.glb\" alt=\"Potion Bottle Flask (Witch Cottage and Apothecary)\" 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/32472/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/32472/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32474","slug":"witch-cottage-and-apothecary-potion-bottle-round-amber-d2ababca","title":"Potion Bottle Round Amber (Witch Cottage and Apothecary)","summary":"Round apothecary bottle filled amber, in warm honey coloured glass.","description":"Round apothecary bottle filled amber, in warm honey coloured glass. Dimensions 0.14 by 0.28 by 0.15 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data. Colour variant of potion-bottle-round.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-round-amber-d2ababca","cdnUrl":"https://cdn.3dassets.dev/assets/32474/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-round-amber-d2ababca","thumbnailUrl":"https://cdn.3dassets.dev/assets/32474/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32474/v1/poster.webp","blurhash":"UIDvM{oz00RP4of5-:fl00WB~Vog?Ha}M{oc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32836,"triangles":456,"vertices":442,"meshes":4,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-0.07000442500631705,0,-0.07000442500631705],"max":[0.07000442500631705,0.27499886011940083,0.0784994674310537]},"sizeMeters":[0.14,0.275,0.149],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:35.599Z","updatedAt":"2026-09-08T11:21:52.581Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32474/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleRoundAmberWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32474/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32474/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32474/v1/model.glb\" alt=\"Potion Bottle Round Amber (Witch Cottage and Apothecary)\" 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/32474/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/32474/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32475","slug":"witch-cottage-and-apothecary-potion-bottle-round-rose-68569420","title":"Potion Bottle Round Rose (Witch Cottage and Apothecary)","summary":"Round apothecary bottle filled rose, in deep red glass.","description":"Round apothecary bottle filled rose, in deep red glass. Dimensions 0.14 by 0.28 by 0.15 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data. Colour variant of potion-bottle-round.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-round-rose-68569420","cdnUrl":"https://cdn.3dassets.dev/assets/32475/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-round-rose-68569420","thumbnailUrl":"https://cdn.3dassets.dev/assets/32475/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32475/v1/poster.webp","blurhash":"UBBL@nxu00D%9tV@-Voz0KRj}[xu-qozR%Vs","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32920,"triangles":456,"vertices":442,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.07000442500631705,0,-0.07000442500631705],"max":[0.07000442500631705,0.27499886011940083,0.0784994674310537]},"sizeMeters":[0.14,0.275,0.149],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:35.474Z","updatedAt":"2026-09-08T11:21:52.705Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32475/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleRoundRoseWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32475/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32475/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32475/v1/model.glb\" alt=\"Potion Bottle Round Rose (Witch Cottage and Apothecary)\" 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/32475/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/32475/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32476","slug":"witch-cottage-and-apothecary-potion-bottle-conical-cop-ace2e9e8","title":"Potion Bottle Conical Copper (Witch Cottage and Apothecary)","summary":"Conical apothecary bottle in copper red glass, for tinctures kept out of the light.","description":"Conical apothecary bottle in copper red glass, for tinctures kept out of the light. Dimensions 0.12 by 0.34 by 0.13 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data. Colour variant of potion-bottle-conical.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-conical-cop-ace2e9e8","cdnUrl":"https://cdn.3dassets.dev/assets/32476/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-conical-cop-ace2e9e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/32476/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32476/v1/poster.webp","blurhash":"U583^X-:004oI;R*xD$*02M{~U%f%MtRRjMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32988,"triangles":456,"vertices":442,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.06200598409175364,0,-0.06200598409175364],"max":[0.06200598409175364,0.33999885028463445,0.06849946560570125]},"sizeMeters":[0.124,0.34,0.131],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:35.972Z","updatedAt":"2026-09-08T11:21:52.772Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32476/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleConicalCopperWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32476/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32476/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32476/v1/model.glb\" alt=\"Potion Bottle Conical Copper (Witch Cottage and Apothecary)\" 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/32476/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/32476/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32477","slug":"witch-cottage-and-apothecary-potion-bottle-conical-cre-374bd5f9","title":"Potion Bottle Conical Cream (Witch Cottage and Apothecary)","summary":"Conical apothecary bottle in opaque cream glass, for oils that spoil in sunlight.","description":"Conical apothecary bottle in opaque cream glass, for oils that spoil in sunlight. Dimensions 0.12 by 0.34 by 0.13 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data. Colour variant of potion-bottle-conical.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-potion-bottle-conical-cre-374bd5f9","cdnUrl":"https://cdn.3dassets.dev/assets/32477/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-potion-bottle-conical-cre-374bd5f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32477/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32477/v1/poster.webp","blurhash":"U9B:mU%M009F00WB_3t700Rj~p%L%Mt6RiNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32976,"triangles":456,"vertices":442,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.06200598409175364,0,-0.06200598409175364],"max":[0.06200598409175364,0.33999885028463445,0.06849946560570125]},"sizeMeters":[0.124,0.34,0.131],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:36.095Z","updatedAt":"2026-09-08T11:21:53.002Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32477/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotionBottleConicalCreamWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32477/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32477/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32477/v1/model.glb\" alt=\"Potion Bottle Conical Cream (Witch Cottage and Apothecary)\" 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/32477/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/32477/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32478","slug":"witch-cottage-and-apothecary-bottle-crate-6b85d6ff","title":"Bottle Crate (Witch Cottage and Apothecary)","summary":"Slatted oak bottle crate with a straw bedded floor, six packed bottles and a hinged lid.","description":"Slatted oak bottle crate with a straw bedded floor, six packed bottles and a hinged lid. Dimensions 0.58 by 0.41 by 0.42 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lid-crate at (0.00, 0.30, -0.21) m. The lid is node `lid-crate`, hinged along its back edge. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-bottle-crate-6b85d6ff","cdnUrl":"https://cdn.3dassets.dev/assets/32478/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-bottle-crate-6b85d6ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/32478/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32478/v1/poster.webp","blurhash":"U48{ae}X58Vu1wso$iW.0#E|OrJAwMn%,;oe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":93248,"triangles":2836,"vertices":2687,"meshes":4,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.28999999165534973,0.000013580477284641512,-0.20998382242602082],"max":[0.28999999165534973,0.40706289647610266,0.20998381586950987]},"sizeMeters":[0.58,0.407,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:38.217Z","updatedAt":"2026-09-08T11:21:51.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32478/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BottleCrateWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32478/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32478/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32478/v1/model.glb\" alt=\"Bottle Crate (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32478/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32478/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32479","slug":"witch-cottage-and-apothecary-jar-wall-shelf-a317bfe1","title":"Jar Wall Shelf (Witch Cottage and Apothecary)","summary":"Wall hung apothecary shelving 1.78 m wide with three fiddled shelves and twenty four lidded jars, each with a blank paper label.","description":"Wall hung apothecary shelving 1.78 m wide with three fiddled shelves and twenty four lidded jars, each with a blank paper label. Dimensions 1.78 by 1.54 by 0.29 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Hangs against a wall with its back at Z = -0.14; the jars are part of the model and do not lift out. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-jar-wall-shelf-a317bfe1","cdnUrl":"https://cdn.3dassets.dev/assets/32479/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-jar-wall-shelf-a317bfe1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32479/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32479/v1/poster.webp","blurhash":"U6BfIa-:00Me-V={oID*00M|_MxuNHV@WBXS","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":245744,"triangles":8508,"vertices":9000,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.8899999856948853,-0.00005379791324089389,-0.13993361723013903],"max":[0.8899999856948853,1.5450537549978967,0.14993362259455706]},"sizeMeters":[1.78,1.545,0.29],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:38.368Z","updatedAt":"2026-09-08T11:21:52.536Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32479/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function JarWallShelfWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32479/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32479/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32479/v1/model.glb\" alt=\"Jar Wall Shelf (Witch Cottage and Apothecary)\" 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/32479/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/32479/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32480","slug":"witch-cottage-and-apothecary-apothecary-chest-bb68b654","title":"Apothecary Chest (Witch Cottage and Apothecary)","summary":"Waxed oak apothecary chest 1.22 m wide with twenty small labelled drawers, brass knobs and a moulded top.","description":"Waxed oak apothecary chest 1.22 m wide with twenty small labelled drawers, brass knobs and a moulded top. Dimensions 1.22 by 1.57 by 0.58 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: drawer-chest at (-0.13, 0.97, 0.21) m. One drawer is a separate node, `drawer-chest`, with its box modelled behind the front; the other nineteen fronts are part of the carcass. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-apothecary-chest-bb68b654","cdnUrl":"https://cdn.3dassets.dev/assets/32480/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-apothecary-chest-bb68b654","thumbnailUrl":"https://cdn.3dassets.dev/assets/32480/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32480/v1/poster.webp","blurhash":"U29PD$?E010h}[$iABJQ5UM}s:-B-Cw|I:Ef","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":166732,"triangles":5724,"vertices":5117,"meshes":6,"materials":4,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-0.6100178738239092,-2.980232727267662e-10,-0.30003374309060316],"max":[0.6100178738239092,1.5700000524520874,0.2759999921917915]},"sizeMeters":[1.22,1.57,0.576],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:37.866Z","updatedAt":"2026-09-08T11:21:52.538Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32480/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ApothecaryChestWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32480/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32480/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32480/v1/model.glb\" alt=\"Apothecary Chest (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32480/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32480/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32481","slug":"witch-cottage-and-apothecary-writing-desk-with-ledger-f0eddba2","title":"Writing Desk With Ledger (Witch Cottage and Apothecary)","summary":"Oak stillroom desk with a sloped writing board, an open ledger, quill and inkpot, a lit candle and one working drawer.","description":"Oak stillroom desk with a sloped writing board, an open ledger, quill and inkpot, a lit candle and one working drawer. Dimensions 1.16 by 1.13 by 0.75 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: drawer-desk at (0.28, 0.53, 0.34) m. The drawer is node `drawer-desk`. The ledger pages are blank; nothing in this pack carries writing. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-writing-desk-with-ledger-f0eddba2","cdnUrl":"https://cdn.3dassets.dev/assets/32481/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-writing-desk-with-ledger-f0eddba2","thumbnailUrl":"https://cdn.3dassets.dev/assets/32481/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32481/v1/poster.webp","blurhash":"U89ZTIt700RP~qxZ4oIo67X7n$R*4oR*?Ht7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":78532,"triangles":1944,"vertices":1932,"meshes":6,"materials":5,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-0.5799999833106995,0.00003514449713620804,-0.3400311190953867],"max":[0.5799999833106995,1.1300106916457135,0.4079999887943268]},"sizeMeters":[1.16,1.13,0.748],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:37.861Z","updatedAt":"2026-09-08T11:21:53.152Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32481/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WritingDeskWithLedgerWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32481/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32481/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32481/v1/model.glb\" alt=\"Writing Desk With Ledger (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32481/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32481/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32483","slug":"witch-cottage-and-apothecary-wax-and-seal-set-5f7dac1e","title":"Wax And Seal Set (Witch Cottage and Apothecary)","summary":"Brass tray of sealing kit: three sticks of wax, a turned brass seal, a small spirit burner and a poured wax disc.","description":"Brass tray of sealing kit: three sticks of wax, a turned brass seal, a small spirit burner and a poured wax disc. Dimensions 0.36 by 0.19 by 0.24 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-wax-and-seal-set-5f7dac1e","cdnUrl":"https://cdn.3dassets.dev/assets/32483/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-wax-and-seal-set-5f7dac1e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32483/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32483/v1/poster.webp","blurhash":"U7A+{P-:0MbC59t6%0NH009a^jxI~9M|Mzxt","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37480,"triangles":814,"vertices":762,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.18000000715255737,-0.00000778298391012136,-0.12000732921093687],"max":[0.18000000715255737,0.18700337342398468,0.12000732921093687]},"sizeMeters":[0.36,0.187,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:57:39.637Z","updatedAt":"2026-09-08T15:01:27.420Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32483/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaxAndSealSetWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32483/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32483/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32483/v1/model.glb\" alt=\"Wax And Seal Set (Witch Cottage and Apothecary)\" 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/32483/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/32483/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32482","slug":"witch-cottage-and-apothecary-funnel-and-measure-set-23ffa721","title":"Funnel And Measure Set (Witch Cottage and Apothecary)","summary":"Oak tray of measuring kit: three copper funnels of falling size and three graduated brass measures.","description":"Oak tray of measuring kit: three copper funnels of falling size and three graduated brass measures. Dimensions 0.46 by 0.21 by 0.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-funnel-and-measure-set-23ffa721","cdnUrl":"https://cdn.3dassets.dev/assets/32482/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-funnel-and-measure-set-23ffa721","thumbnailUrl":"https://cdn.3dassets.dev/assets/32482/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32482/v1/poster.webp","blurhash":"U59Z7Wt503aLFbs:r@NH02NH~Aoy$PNHt6%1","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":47936,"triangles":1218,"vertices":1364,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.23000000417232513,0.000006866225010445509,-0.1500015286465831],"max":[0.23000000417232513,0.21000710112277865,0.1500015286465831]},"sizeMeters":[0.46,0.21,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":2,"publishedAt":"2026-09-08T10:57:40.650Z","updatedAt":"2026-09-08T15:01:26.433Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32482/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FunnelAndMeasureSetWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32482/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32482/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32482/v1/model.glb\" alt=\"Funnel And Measure Set (Witch Cottage and Apothecary)\" 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/32482/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/32482/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32484","slug":"witch-cottage-and-apothecary-stone-topped-mixing-bench-558eb52c","title":"Stone Topped Mixing Bench (Witch Cottage and Apothecary)","summary":"Working bench 1.84 m long with a turned oak frame, a thick stone top, two drawers and an iron pot rail of hanging vessels.","description":"Working bench 1.84 m long with a turned oak frame, a thick stone top, two drawers and an iron pot rail of hanging vessels. Dimensions 1.84 by 1.87 by 0.99 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: drawer-bench at (-0.40, 0.60, 0.40) m. The left drawer is node `drawer-bench`; the right front is part of the carcass and the pot rail is fixed. Cottage palette: lime washed cob, weathered oak, thatch, soot blackened stone, hammered copper, pewter and the green and amber glass of the bottles. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-stone-topped-mixing-bench-558eb52c","cdnUrl":"https://cdn.3dassets.dev/assets/32484/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-stone-topped-mixing-bench-558eb52c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32484/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32484/v1/poster.webp","blurhash":"U5AT4foe00%M?wog9FSz00Na_3ni4TR5%gXT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":152080,"triangles":3268,"vertices":3173,"meshes":8,"materials":6,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-0.9200000166893005,0,-0.510007013056692],"max":[0.9200000166893005,1.8700000047683716,0.47799998670816424]},"sizeMeters":[1.84,1.87,0.988],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":1,"publishedAt":"2026-09-08T10:57:40.089Z","updatedAt":"2026-09-08T11:21:53.190Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32484/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StoneToppedMixingBenchWitchCottageAndApothecary(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32484/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32484/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32484/v1/model.glb\" alt=\"Stone Topped Mixing Bench (Witch Cottage and Apothecary)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32484/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32484/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32485","slug":"witch-cottage-and-apothecary-hedge-witch-25562947-starter-scene","title":"Hedge Witch Cottage (Witch Cottage and Apothecary)","summary":"A hedge witch cottage built from the pack 2 m cob and timber modules: a stone hearth with the cauldron swung over it on its crane, a rocking chair and a patchwork armchair on the braided rug, a scrubbed table laid for tea, a Welsh dresser, a spinning wheel and loom in the...","description":"A hedge witch cottage built from the pack 2 m cob and timber modules: a stone hearth with the cauldron swung over it on its crane, a rocking chair and a patchwork armchair on the braided rug, a scrubbed table laid for tea, a Welsh dresser, a spinning wheel and loom in the corner, a loft over the back of the room, and the whole west end given over to the apothecary bench, still, chest and bottles. Fully enclosed beneath both continuous thatched roof slopes, with seated ridge rolls and complete gable-side walls.","status":"published","url":"https://3dassets.dev/assets/witch-cottage-and-apothecary-hedge-witch-25562947-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/32485/v1/model.glb","downloadUrl":"https://3dassets.dev/download/witch-cottage-and-apothecary-hedge-witch-25562947-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/32485/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32485/v1/poster.webp","blurhash":"UBEoi4~V0057Mx-ot8E100D+^%xsWGM|xuxt","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":2744952,"triangles":115536,"vertices":105268,"meshes":179,"materials":12,"textures":3,"animations":[],"boundingBox":{"min":[-5.149755539659666,-0.000033617460169166336,-3.829969195641013],"max":[4.542003449465545,6.5200155234065456,3.494135856628418]},"sizeMeters":[9.692,6.52,7.324],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6","downloads":3,"publishedAt":"2026-09-08T10:57:41.410Z","updatedAt":"2026-09-08T15:02:55.447Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32485/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HedgeWitchCottageWitchCottageAndApothecary(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32485/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32485/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32485/v1/model.glb\" alt=\"Hedge Witch Cottage (Witch Cottage and Apothecary)\" 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/32485/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/32485/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}