{"data":{"id":330,"slug":"blacksmith-forge-and-armoury","title":"Blacksmith Forge and Armoury","summary":"Stone forge hearth, double bellows, great anvil, vices, tongs, hammers, treadle grindstone, armourer's stakes, stock racks and a modular timber framed shop in one medieval smithy family.","description":"Original CC0 blacksmith's forge and armoury library: a stone hearth with a hood and flue over a bed of glowing coals, great double bellows on an oak frame, a coal store, scuttles and charcoal heaps, a stone quench trough, a slack tub and a water butt, a 150 kg anvil on a banded stump, a stake anvil, a swage block, a leg vice, a bench vice, a smith's work bench and a riveting bench. Tooling covers hammer and tong racks, chisels and punches, swages and fullers, hardy tools, files and rasps, a wall tool board, a treadle grindstone, a polishing wheel bench, a draw bench with its draw plate, a wire die rack and a nail header block. Stock and output add iron bar racks, billet stacks, barrels of blanks, a finished goods rack, a blade blank rack, horseshoe racks and a farrier's shoeing box, and the armoury side adds a dishing stump, a planishing stake, a helm and a breastplate on their forms and a mail ring tumbling drum. The shop is completed by a selling counter, a ledger desk, a hanging balance scale, a lantern, a candle sconce, a leather apron on its hook, a sand and flux bin, a hand cart of ironwork and a modular shell of flagged and cobbled floor slabs, timber framed walls, dwarf walls, open bays, a shutter counter shop front, a stable door and a lean-to roof panel on a 4 m grid. Named pivoted nodes carry rigid node-transform clips only: the bellows pump, the grindstone and the polishing wheel spin on their treadles, the vice jaws open and close, the shutter drops to become a counter, the stable door leaves swing, the box, desk and bin lids lift, the bench drawers pull out, the mail drum turns and the cart wheels roll. The fire, the smoke, the glow, the water, the leather apron and every chain and hanging strap are modelled solid and never move, because flame, fluid and flexible material need a shader, a simulation or a joint per element and none of that is reachable with one rigid node transform. Blades are unsharpened forged blanks and bar stock as a forge holds them, not finished weapons. The glow is an emissive looking material and the pack embeds no lights, so a consumer lights the scene itself. There are no people or animals and no skinned meshes anywhere. No maker's names, marks or readable writing: every stamp, tally and ledger mark is an abstract shape.","url":"https://3dassets.dev/packs/blacksmith-forge-and-armoury","coverUrl":"https://cdn.3dassets.dev/assets/37609/v1/poster.webp","assetCount":60,"aiGenerated":true,"aiGeneratedAssetCount":60,"aiModels":["Claude Opus 5"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":5234436,"totalTriangles":80536,"starterScene":{"id":"37609","slug":"blacksmith-forge-and-armoury-blacksmith--bb9e9c8a-starter-scene","title":"Village smithy, open fronted, with forge, anvil and armoury bench (Blacksmith Forge and Armoury)","summary":"A working blacksmith's shop 16 m by 12 m, open fronted on purpose so the whole floor can be seen and walked: timber framed walls on three sides, a shop front of a shutter counter and two open bays with the cart entrance left clear beside them, and no roof over the working...","description":"A working blacksmith's shop 16 m by 12 m, open fronted on purpose so the whole floor can be seen and walked: timber framed walls on three sides, a shop front of a shutter counter and two open bays with the cart entrance left clear beside them, and no roof over the working floor at all, only a lean-to over the fuel and stock corner. The stone hearth stands against the back wall under its hood and flue with the chimney behind it, the coals glowing and a bar heating in the fire, the great double bellows blowing into the tuyere at its side and the fire irons leaning within reach. The great anvil on its stump stands a pace off the fire between the slack tub and the stone quench trough, with the stake anvil, the hardy tools and the swage block round it. The bench run works down the left hand wall under the tool board, the file rack and the horseshoe rack, with the bench vice, the leg vice on its post, the hammer rack and the tong rack along it, and the treadle grindstone, the polishing wheel, the draw bench and the wire dies take the middle of the floor. The armourer works the right hand side at the dishing stump, the planishing stake, the riveting bench and the mail ring drum, with a helm and a breastplate up on their forms and the blade blanks, bar stock and finished goods racked behind. The shop front carries the selling counter under the dropped shutter, the ledger desk and the hanging scale, and the cobbled yard outside holds the hand carts, the water butts, the billet stacks and the charcoal behind a dwarf wall.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith--bb9e9c8a-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37609/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith--bb9e9c8a-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/37609/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37609/v1/poster.webp","blurhash":"U2Avzt#900.mE2IAVrtR00pH~W8_%K?w?wRO","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":1946700,"triangles":42072,"vertices":92754,"meshes":213,"materials":12,"textures":2,"animations":[],"boundingBox":{"min":[-8.209955128256365,-0.1299433905491078,-9.174885726306103],"max":[8.209955128256365,4.840000152587891,8.303509340881526]},"sizeMeters":[16.42,4.97,17.478],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:18.514Z","updatedAt":"2026-09-12T05:41:18.624Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37609/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageSmithyOpenFrontedWithForgeAnvilAndArmouryBenchBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37609/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37609/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37609/v1/model.glb\" alt=\"Village smithy, open fronted, with forge, anvil and armoury bench (Blacksmith Forge and Armoury)\" 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/37609/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/37609/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"37552","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-5e6dd583","title":"Forge floor slab, 4 m (Blacksmith Forge and Armoury)","summary":"Flagged stone floor module 4 m square and 130 mm thick, sixteen riven flags standing proud of a bedding slab with open joints between them, laid on a 4 m grid with edge ports on all four sides.","description":"Flagged stone floor module 4 m square and 130 mm thick, sixteen riven flags standing proud of a bedding slab with open joints between them, laid on a 4 m grid with edge ports on all four sides. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 0.13 by 4.00 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static modular piece; the joints are open gaps between the flags, not decals. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-5e6dd583","cdnUrl":"https://cdn.3dassets.dev/assets/37552/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-5e6dd583","thumbnailUrl":"https://cdn.3dassets.dev/assets/37552/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37552/v1/poster.webp","blurhash":"U6BWe|-:00e:%MayRkj[00IU~pR*9GogofWB","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":58928,"triangles":204,"vertices":476,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00005660945089218383,-2],"max":[2,0.12994338578073622,2]},"sizeMeters":[4,0.13,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:43.917Z","updatedAt":"2026-09-12T05:40:44.067Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37552/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ForgeFloorSlab4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37552/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37552/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37552/v1/model.glb\" alt=\"Forge floor slab, 4 m (Blacksmith Forge and Armoury)\" 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/37552/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/37552/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37553","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-14fe86d1","title":"Forge yard cobbles, 4 m (Blacksmith Forge and Armoury)","summary":"The same 4 m floor module laid as a cobbled yard instead of flags: a bedding slab under a field of small setts on the same edge ports, for the ground outside the shop front.","description":"The same 4 m floor module laid as a cobbled yard instead of flags: a bedding slab under a field of small setts on the same edge ports, for the ground outside the shop front. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.06 by 0.14 by 4.06 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static modular piece. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-14fe86d1","cdnUrl":"https://cdn.3dassets.dev/assets/37553/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-14fe86d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37553/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37553/v1/poster.webp","blurhash":"U6BM[F-:00Rl-;j?M{jv00IU~qWA8{f9xtWA","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"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":149792,"triangles":2040,"vertices":4464,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2.0293517112731934,0.00011712778169220561,-2.0293517112731934],"max":[2.0293517112731934,0.13488287758272582,2.0293517112731934]},"sizeMeters":[4.059,0.135,4.059],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:44.007Z","updatedAt":"2026-09-12T05:40:44.102Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37553/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ForgeYardCobbles4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37553/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37553/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37553/v1/model.glb\" alt=\"Forge yard cobbles, 4 m (Blacksmith Forge and Armoury)\" 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/37553/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/37553/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37550","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-e5a8336c","title":"Forge floor slab, sooted, 4 m (Blacksmith Forge and Armoury)","summary":"The flagged 4 m floor module with the scale, clinker and soot of the hearth side trodden into it: raised patches of charcoal dust and a scatter of scale across the flags, on the same edge ports.","description":"The flagged 4 m floor module with the scale, clinker and soot of the hearth side trodden into it: raised patches of charcoal dust and a scatter of scale across the flags, on the same edge ports. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 0.14 by 4.00 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static modular piece. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-e5a8336c","cdnUrl":"https://cdn.3dassets.dev/assets/37550/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-e5a8336c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37550/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37550/v1/poster.webp","blurhash":"U2AmrD?J00%g.8RiRjxu00D$~q9F4n%NWAD%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":72848,"triangles":504,"vertices":1176,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00005660945089218383,-2],"max":[2,0.141069626870105,2]},"sizeMeters":[4,0.141,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:43.921Z","updatedAt":"2026-09-12T05:40:44.048Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37550/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ForgeFloorSlabSooted4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37550/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37550/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37550/v1/model.glb\" alt=\"Forge floor slab, sooted, 4 m (Blacksmith Forge and Armoury)\" 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/37550/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/37550/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37551","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-02d2c415","title":"Timber framed wall module, 4 m (Blacksmith Forge and Armoury)","summary":"Oak framed wall 4 m wide and 3.2 m tall: a sill beam, corner and middle posts with curved braces, limewashed wattle and daub infill set back between them and a top plate, with side ports on the centre line at 1.6 m.","description":"Oak framed wall 4 m wide and 3.2 m tall: a sill beam, corner and middle posts with curved braces, limewashed wattle and daub infill set back between them and a top plate, with side ports on the centre line at 1.6 m. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 3.20 by 0.29 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static modular piece. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-02d2c415","cdnUrl":"https://cdn.3dassets.dev/assets/37551/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-02d2c415","thumbnailUrl":"https://cdn.3dassets.dev/assets/37551/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37551/v1/poster.webp","blurhash":"UGEe=H%M00M{xu-ojaD*00WB~qjuRjRPa|tl","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":22488,"triangles":96,"vertices":220,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.00008542798467492396,-0.14502395702993867],"max":[2,3.2000854756683905,0.14502395702993867]},"sizeMeters":[4,3.2,0.29],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:43.923Z","updatedAt":"2026-09-12T05:40:44.051Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37551/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberFramedWallModule4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37551/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37551/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37551/v1/model.glb\" alt=\"Timber framed wall module, 4 m (Blacksmith Forge and Armoury)\" 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/37551/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/37551/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37554","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-616b7758","title":"Timber framed dwarf wall, 4 m (Blacksmith Forge and Armoury)","summary":"Waist high oak framed wall 4 m wide and 1.1 m tall with a capping rail, for closing the open side of a workshop without shutting the light or the view out: side ports on the centre line at 0.55 m.","description":"Waist high oak framed wall 4 m wide and 1.1 m tall with a capping rail, for closing the open side of a workshop without shutting the light or the view out: side ports on the centre line at 0.55 m. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 1.10 by 0.33 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static modular piece. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-616b7758","cdnUrl":"https://cdn.3dassets.dev/assets/37554/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-616b7758","thumbnailUrl":"https://cdn.3dassets.dev/assets/37554/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37554/v1/poster.webp","blurhash":"U7BV-C-V0K%1$P~BxaIU00RP~WS2R,00Mx_3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":21956,"triangles":84,"vertices":196,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.00012663989339645187,-0.16504409924619282],"max":[2,1.1001266637352543,0.16504409924619282]},"sizeMeters":[4,1.1,0.33],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:46.662Z","updatedAt":"2026-09-12T05:40:46.764Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37554/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberFramedDwarfWall4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37554/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37554/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37554/v1/model.glb\" alt=\"Timber framed dwarf wall, 4 m (Blacksmith Forge and Armoury)\" 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/37554/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/37554/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37557","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-8ad77688","title":"Open timber frame bay, 4 m (Blacksmith Forge and Armoury)","summary":"Open post and beam bay 4 m wide and 3.2 m tall: two oak posts on stone pads carrying a tie beam with curved braces and nothing between them, so a workshop can stand open to the yard on the same wall ports as a solid panel.","description":"Open post and beam bay 4 m wide and 3.2 m tall: two oak posts on stone pads carrying a tie beam with curved braces and nothing between them, so a workshop can stand open to the yard on the same wall ports as a solid panel. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.20 by 3.20 by 0.42 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static modular piece. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-8ad77688","cdnUrl":"https://cdn.3dassets.dev/assets/37557/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-8ad77688","thumbnailUrl":"https://cdn.3dassets.dev/assets/37557/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37557/v1/poster.webp","blurhash":"U383w:,[5S^OzA^PEj9aTcH?NGTeb_~W=f4.","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"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":70084,"triangles":108,"vertices":248,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-2.0999999046325684,0.000017092209436103678,-0.20995512825636445],"max":[2.0999999046325684,3.1999984889163864,0.20995512825636445]},"sizeMeters":[4.2,3.2,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:46.861Z","updatedAt":"2026-09-12T05:40:47.054Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37557/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenTimberFrameBay4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37557/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37557/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37557/v1/model.glb\" alt=\"Open timber frame bay, 4 m (Blacksmith Forge and Armoury)\" 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/37557/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/37557/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37556","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-84dcb3e5","title":"Shutter counter shop front, 4 m (Blacksmith Forge and Armoury)","summary":"Timber framed shop front 4 m wide with a 2.4 m opening over a stone counter sill: the boarded shutter is hinged along the sill and drops forward onto two iron stays to become the selling counter, which is how a medieval shop front works.","description":"Timber framed shop front 4 m wide with a 2.4 m opening over a stone counter sill: the boarded shutter is hinged along the sill and drops forward onto two iron stays to become the selling counter, which is how a medieval shop front works. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 3.20 by 0.83 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The frame, the sill, the iron stays and the hanging hooks above the opening are modelled solid; only the shutter moves, and the chain that holds it level is static. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-84dcb3e5","cdnUrl":"https://cdn.3dassets.dev/assets/37556/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-84dcb3e5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37556/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37556/v1/poster.webp","blurhash":"U6A,5yfR00f5-o$*IpE200oL~WR+xaxZV[Ip","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":84984,"triangles":376,"vertices":853,"meshes":6,"materials":4,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-2,-0.00008542798467492396,-0.2100161770190704],"max":[2,3.2000854756683905,0.6199290053935158]},"sizeMeters":[4,3.2,0.83],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:46.825Z","updatedAt":"2026-09-12T05:40:47.030Z","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/37556/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 ShutterCounterShopFront4MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37556/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/37556/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37556/v1/model.glb\" alt=\"Shutter counter shop front, 4 m (Blacksmith Forge and Armoury)\" 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/37556/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/37556/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37555","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-56372f60","title":"Stable door module, 4 m (Blacksmith Forge and Armoury)","summary":"Timber framed wall module with a 1.2 m by 2.1 m boarded stable door in it: two leaves hung on the same jamb with strap hinges and a ring latch, so the top can stand open over a closed bottom the way a workshop door is used.","description":"Timber framed wall module with a 1.2 m by 2.1 m boarded stable door in it: two leaves hung on the same jamb with strap hinges and a ring latch, so the top can stand open over a closed bottom the way a workshop door is used. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 3.20 by 0.29 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The frame, the jambs, the lintel, the strap hinge pintles and the ring latch are modelled solid; only the two leaves swing. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-56372f60","cdnUrl":"https://cdn.3dassets.dev/assets/37555/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-56372f60","thumbnailUrl":"https://cdn.3dassets.dev/assets/37555/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37555/v1/poster.webp","blurhash":"U6CPIsxs00oe~W^*9Z0K00t7_3IU4TR5?b%g","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"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":34348,"triangles":320,"vertices":727,"meshes":6,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-2,-0.00008542798467492396,-0.14502395702993867],"max":[2,3.2000854756683905,0.14502395702993867]},"sizeMeters":[4,3.2,0.29],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:46.691Z","updatedAt":"2026-09-12T05:40:46.807Z","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/37555/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 StableDoorModule4MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37555/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/37555/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37555/v1/model.glb\" alt=\"Stable door module, 4 m (Blacksmith Forge and Armoury)\" 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/37555/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/37555/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37558","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-340f5530","title":"Lean-to roof panel, 4 m (Blacksmith Forge and Armoury)","summary":"Boarded and slated lean-to roof panel 4 m wide and 2.6 m along the slope, pitched about 18 degrees on three oak rafters, for covering a coal store or a stock bay against the back wall of a yard.","description":"Boarded and slated lean-to roof panel 4 m wide and 2.6 m along the slope, pitched about 18 degrees on three oak rafters, for covering a coal store or a stock bay against the back wall of a yard. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 4.00 by 1.02 by 2.70 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the centre of the panel's underside on its pivot line, so two panels laid side by side at the same height meet on their ports. Static geometry; no rig, collision or navigation data. Static modular piece; the slates are modelled as overlapping courses. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-340f5530","cdnUrl":"https://cdn.3dassets.dev/assets/37558/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-340f5530","thumbnailUrl":"https://cdn.3dassets.dev/assets/37558/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37558/v1/poster.webp","blurhash":"U8BpkNxZ00t7_4o#MwIU00R-_4M{00i^o#xv","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"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":22856,"triangles":108,"vertices":252,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.5488573615184712,-1.3603864510156785],"max":[2,0.4743586558841002,1.3379374121431429]},"sizeMeters":[4,1.023,2.698],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:48.327Z","updatedAt":"2026-09-12T05:40:48.429Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37558/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeanToRoofPanel4MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37558/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37558/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37558/v1/model.glb\" alt=\"Lean-to roof panel, 4 m (Blacksmith Forge and Armoury)\" 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/37558/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/37558/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37559","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-bf284986","title":"Stone chimney stack, 4.6 m (Blacksmith Forge and Armoury)","summary":"Rubble stone chimney stack 4.6 m tall on a 1.15 m square base, battered in twice to a corbelled cap with an open flue mouth, for standing behind a forge hearth or against a workshop gable.","description":"Rubble stone chimney stack 4.6 m tall on a 1.15 m square base, battered in twice to a corbelled cap with an open flue mouth, for standing behind a forge hearth or against a workshop gable. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.15 by 4.84 by 1.15 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static masonry; the flue is an open mouth in the cap and carries no smoke geometry. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-bf284986","cdnUrl":"https://cdn.3dassets.dev/assets/37559/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-bf284986","thumbnailUrl":"https://cdn.3dassets.dev/assets/37559/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37559/v1/poster.webp","blurhash":"U3A^L9~q0000%NobInR:4nM{-;%M?ajcE1k8","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"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":53868,"triangles":104,"vertices":214,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5748857263061028,0,-0.5748857263061028],"max":[0.5748857263061028,4.840000152587891,0.5748857263061028]},"sizeMeters":[1.15,4.84,1.15],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:48.476Z","updatedAt":"2026-09-12T05:40:48.692Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37559/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneChimneyStack46MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37559/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37559/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37559/v1/model.glb\" alt=\"Stone chimney stack, 4.6 m (Blacksmith Forge and Armoury)\" 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/37559/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/37559/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37561","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f5ce9dc6","title":"Stone forge hearth with hood and flue, 3.8 m (Blacksmith Forge and Armoury)","summary":"The hearth the shop is built round: a rubble stone bench 2.4 m wide with a raised firepot of coke and glowing coals, a tuyere entering from the back, a stone back wall, and a tapered hood on two iron posts carrying the flue up to 3.8 m, with the fire irons leaning at the side.","description":"The hearth the shop is built round: a rubble stone bench 2.4 m wide with a raised firepot of coke and glowing coals, a tuyere entering from the back, a stone back wall, and a tapered hood on two iron posts carrying the flue up to 3.8 m, with the fire irons leaning at the side. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 2.56 by 3.82 by 1.78 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. The fire, the smoke and the glow are not animated: flame and smoke need a shader or a particle system, and neither is reachable with one rigid node transform. The coals are modelled solid under an emissive looking material and the pack embeds no lights, so a consumer lights the scene itself. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f5ce9dc6","cdnUrl":"https://cdn.3dassets.dev/assets/37561/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f5ce9dc6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37561/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37561/v1/poster.webp","blurhash":"U3CP;T?b004n9GRiMwRk00R*~WoIxC%2.8kD","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":76072,"triangles":572,"vertices":1300,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.2799999713897705,0,-0.939949026118193],"max":[1.2799999713897705,3.819999933242798,0.8399490022763351]},"sizeMeters":[2.56,3.82,1.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:49.745Z","updatedAt":"2026-09-12T05:40:49.857Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37561/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneForgeHearthWithHoodAndFlue38MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37561/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37561/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37561/v1/model.glb\" alt=\"Stone forge hearth with hood and flue, 3.8 m (Blacksmith Forge and Armoury)\" 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/37561/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/37561/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37560","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-2c5ef7d9","title":"Great double bellows on a frame, 2.2 m (Blacksmith Forge and Armoury)","summary":"Twin leather bellows on an oak frame 2.2 m long: a fixed lower board, a pleated leather body with iron nail rows, a weighted top board on its hinge nose and the blast pipe running out to the tuyere, worked by the chain hanging at the back.","description":"Twin leather bellows on an oak frame 2.2 m long: a fixed lower board, a pleated leather body with iron nail rows, a weighted top board on its hinge nose and the blast pipe running out to the tuyere, worked by the chain hanging at the back. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.10 by 1.89 by 2.04 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: pump. No skinning. The leather below the hinge line, the pull chain and the counterweight rope are modelled solid: a pleat and a chain are flexible and neither is reachable with one rigid node transform, so only the top board and the leather above the hinge line pump. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-2c5ef7d9","cdnUrl":"https://cdn.3dassets.dev/assets/37560/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-2c5ef7d9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37560/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37560/v1/poster.webp","blurhash":"U48pJt}s0MOr?GI;9t%202E2-Ut65RSz%1V@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":95900,"triangles":596,"vertices":1350,"meshes":7,"materials":4,"textures":2,"animations":["pump"],"boundingBox":{"min":[-0.549956978049543,-0.00005432433392538183,-1.159999966621399],"max":[0.549956978049543,1.8899999797344207,0.8799999952316285]},"sizeMeters":[1.1,1.89,2.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:48.703Z","updatedAt":"2026-09-12T05:40:48.836Z","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/37560/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 GreatDoubleBellowsOnAFrame22MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37560/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/37560/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37560/v1/model.glb\" alt=\"Great double bellows on a frame, 2.2 m (Blacksmith Forge and Armoury)\" 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/37560/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/37560/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37562","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a848cf5d","title":"Coal store bay, 2.4 m (Blacksmith Forge and Armoury)","summary":"Boarded fuel bay 2.4 m wide with oak corner posts, a low front board and a heaped load of coal and coke behind it, the way fuel is kept dry against the back wall of a smithy.","description":"Boarded fuel bay 2.4 m wide with oak corner posts, a low front board and a heaped load of coal and coke behind it, the way fuel is kept dry against the back wall of a smithy. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 2.40 by 1.20 by 1.29 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static store; the heap is solid geometry and does not settle. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a848cf5d","cdnUrl":"https://cdn.3dassets.dev/assets/37562/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a848cf5d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37562/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37562/v1/poster.webp","blurhash":"U29F{4^P01#+Ql-V-VEL01MxBVOtcE={oM5m","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":85588,"triangles":428,"vertices":998,"meshes":3,"materials":3,"textures":2,"animations":[],"boundingBox":{"min":[-1.2000000476837158,-0.0000915555320660788,-0.660053985078374],"max":[1.2000000476837158,1.2000916032157818,0.6350539493155871]},"sizeMeters":[2.4,1.2,1.295],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:50.196Z","updatedAt":"2026-09-12T05:40:50.286Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37562/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoalStoreBay24MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37562/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37562/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37562/v1/model.glb\" alt=\"Coal store bay, 2.4 m (Blacksmith Forge and Armoury)\" 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/37562/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/37562/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37563","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-82037a7f","title":"Coal scuttle with shovel, 0.66 m (Blacksmith Forge and Armoury)","summary":"Riveted iron scuttle with a swing handle and a rolled rim, filled with coal and with the small fuel shovel standing in it, for carrying fuel from the store to the firepot.","description":"Riveted iron scuttle with a swing handle and a rolled rim, filled with coal and with the small fuel shovel standing in it, for carrying fuel from the store to the firepot. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.43 by 0.81 by 0.41 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static scuttle; the swing handle is modelled resting against the rim. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-82037a7f","cdnUrl":"https://cdn.3dassets.dev/assets/37563/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-82037a7f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37563/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37563/v1/poster.webp","blurhash":"U15hV]_30000D$t6t8IW00Rl?bjW%Jj?t9oN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":33568,"triangles":352,"vertices":789,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.21399419313602444,0,-0.20682230870178814],"max":[0.21399419313602444,0.8103487491607666,0.20682230870178814]},"sizeMeters":[0.428,0.81,0.414],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:51.267Z","updatedAt":"2026-09-12T05:40:51.374Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37563/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoalScuttleWithShovel066MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37563/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37563/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37563/v1/model.glb\" alt=\"Coal scuttle with shovel, 0.66 m (Blacksmith Forge and Armoury)\" 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/37563/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/37563/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37564","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4deb9bce","title":"Charcoal heap on boards, 1.4 m (Blacksmith Forge and Armoury)","summary":"Loose heap of charcoal on a boarded pallet 1.4 m across, with lumps spilled round the edge and a rake mark through the top, for the fuel corner of a smithy or a charcoal burner's yard.","description":"Loose heap of charcoal on a boarded pallet 1.4 m across, with lumps spilled round the edge and a rake mark through the top, for the fuel corner of a smithy or a charcoal burner's yard. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.52 by 0.68 by 1.50 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static heap; the charcoal is solid geometry. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4deb9bce","cdnUrl":"https://cdn.3dassets.dev/assets/37564/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4deb9bce","thumbnailUrl":"https://cdn.3dassets.dev/assets/37564/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37564/v1/poster.webp","blurhash":"U467s1-V9YRi5mR+xFaz00M{tmkW}rxFs9s.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"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":34052,"triangles":368,"vertices":858,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7000106814783166,-0.000030213994933490917,-0.75],"max":[0.8172324895858765,0.6800289172507513,0.75]},"sizeMeters":[1.517,0.68,1.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:51.390Z","updatedAt":"2026-09-12T05:40:51.502Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37564/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CharcoalHeapOnBoards14MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37564/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37564/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37564/v1/model.glb\" alt=\"Charcoal heap on boards, 1.4 m (Blacksmith Forge and Armoury)\" 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/37564/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/37564/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37565","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1a9c8134","title":"Stone quench trough, 1.6 m (Blacksmith Forge and Armoury)","summary":"Hollowed stone quench trough 1.6 m long on two block bearers, filled with still water and with a pair of tongs laid across the rim, for taking the heat out of a forging beside the anvil.","description":"Hollowed stone quench trough 1.6 m long on two block bearers, filled with still water and with a pair of tongs laid across the rim, for taking the heat out of a forging beside the anvil. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.60 by 0.77 by 0.70 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. The water is a flat solid surface and never moves: a fluid needs a shader or a simulation and neither is reachable with one rigid node transform. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1a9c8134","cdnUrl":"https://cdn.3dassets.dev/assets/37565/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1a9c8134","thumbnailUrl":"https://cdn.3dassets.dev/assets/37565/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37565/v1/poster.webp","blurhash":"U5DcXR~p00%L?c~q-:D%00Iof+oIs8IV4nD%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":70968,"triangles":492,"vertices":1074,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.0000036711618884299746,-0.35003510150182676],"max":[0.800000011920929,0.767981680949643,0.35003510150182676]},"sizeMeters":[1.6,0.768,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:52.438Z","updatedAt":"2026-09-12T05:40:52.541Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37565/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneQuenchTrough16MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37565/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37565/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37565/v1/model.glb\" alt=\"Stone quench trough, 1.6 m (Blacksmith Forge and Armoury)\" 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/37565/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/37565/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37566","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ab286472","title":"Slack tub, 0.8 m (Blacksmith Forge and Armoury)","summary":"Coopered oak half barrel bound with three iron hoops and filled with water, the smith's slack tub for cooling tongs and hardening small work, with a dipper hooked over the rim.","description":"Coopered oak half barrel bound with three iron hoops and filled with water, the smith's slack tub for cooling tongs and hardening small work, with a dipper hooked over the rim. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.68 by 1.03 by 0.67 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. The water is a flat solid surface and never moves. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ab286472","cdnUrl":"https://cdn.3dassets.dev/assets/37566/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ab286472","thumbnailUrl":"https://cdn.3dassets.dev/assets/37566/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37566/v1/poster.webp","blurhash":"U27AG2-S035mxBRlIuxs0LNd^6$gF{t5=cRl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":44236,"triangles":584,"vertices":1253,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.34201150674423053,0,-0.33680672877026396],"max":[0.34201150674423053,1.034676194190979,0.33680672877026396]},"sizeMeters":[0.684,1.035,0.674],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:51.826Z","updatedAt":"2026-09-12T05:40:51.923Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37566/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SlackTub08MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37566/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37566/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37566/v1/model.glb\" alt=\"Slack tub, 0.8 m (Blacksmith Forge and Armoury)\" 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/37566/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/37566/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37567","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-86a3006a","title":"Water butt under a spout, 1.25 m (Blacksmith Forge and Armoury)","summary":"Full height coopered water butt 1.25 m tall on a stone plinth with a lead spout over it and a wooden pail beside it, the shop's water supply for the quench trough and the slack tub.","description":"Full height coopered water butt 1.25 m tall on a stone plinth with a lead spout over it and a wooden pail beside it, the shop's water supply for the quench trough and the slack tub. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.22 by 1.74 by 1.06 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. The water and the spout run are modelled solid; nothing pours. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-86a3006a","cdnUrl":"https://cdn.3dassets.dev/assets/37567/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-86a3006a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37567/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37567/v1/poster.webp","blurhash":"U58Wy{~C000y4.D%r=-;t-NwMcwI.9t7n4xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"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":101920,"triangles":820,"vertices":1774,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-0.4300000071525574,0.00002838134793820002,-0.5899673690100514],"max":[0.7920543246009175,1.7400000095367432,0.46765500204761856]},"sizeMeters":[1.222,1.74,1.058],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:53.957Z","updatedAt":"2026-09-12T05:40:54.048Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37567/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterButtUnderASpout125MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37567/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37567/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37567/v1/model.glb\" alt=\"Water butt under a spout, 1.25 m (Blacksmith Forge and Armoury)\" 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/37567/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/37567/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37568","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-138465cb","title":"Fire irons in a stand, 1.3 m (Blacksmith Forge and Armoury)","summary":"Forged rake, poker, slice and fire shovel standing in an iron ring stand on a weighted base, the tools that work the firepot and clear the clinker out of it.","description":"Forged rake, poker, slice and fire shovel standing in an iron ring stand on a weighted base, the tools that work the firepot and clear the clinker out of it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.40 by 1.25 by 0.42 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static set; the irons rest in the stand rings. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-138465cb","cdnUrl":"https://cdn.3dassets.dev/assets/37568/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-138465cb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37568/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37568/v1/poster.webp","blurhash":"U05=65%N00D#~qob4nWFt7j]NGt79EWB?ct7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":34592,"triangles":752,"vertices":1796,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.20003611166440022,0,-0.2204318823943217],"max":[0.20003611166440022,1.246000051498413,0.19698022629118755]},"sizeMeters":[0.4,1.246,0.417],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:53.051Z","updatedAt":"2026-09-12T05:40:53.140Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37568/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FireIronsInAStand13MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37568/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37568/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37568/v1/model.glb\" alt=\"Fire irons in a stand, 1.3 m (Blacksmith Forge and Armoury)\" 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/37568/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/37568/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37569","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-37ef9c9f","title":"Great anvil on an oak stump, 0.98 m (Blacksmith Forge and Armoury)","summary":"A 150 kg London pattern anvil on a banded oak stump: cast body with a ground steel face, a round horn, a hardy hole and a pritchel hole in the heel, staples over the feet and the smith's hammer lying on the face.","description":"A 150 kg London pattern anvil on a banded oak stump: cast body with a ground steel face, a round horn, a hardy hole and a pritchel hole in the heel, staples over the feet and the smith's hammer lying on the face. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.19 by 1.02 by 0.69 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static anvil; the hammer is modelled resting on the face and is part of the same file. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-37ef9c9f","cdnUrl":"https://cdn.3dassets.dev/assets/37569/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-37ef9c9f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37569/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37569/v1/poster.webp","blurhash":"U77wc|-o009t?wt8H?RPE%XSsmVsVExatlIo","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":49524,"triangles":676,"vertices":1497,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.47999998927116394,0,-0.344994124317859],"max":[0.7099999785423279,1.0249898269539806,0.344994124317859]},"sizeMeters":[1.19,1.025,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:53.605Z","updatedAt":"2026-09-12T05:40:53.697Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37569/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GreatAnvilOnAnOakStump098MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37569/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37569/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37569/v1/model.glb\" alt=\"Great anvil on an oak stump, 0.98 m (Blacksmith Forge and Armoury)\" 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/37569/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/37569/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37570","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-131d6824","title":"Stake anvil in a block, 0.66 m (Blacksmith Forge and Armoury)","summary":"Small bickern stake with a round horn one side and a square bick the other, driven into an oak block and used for the light work a great anvil is too coarse for.","description":"Small bickern stake with a round horn one side and a square bick the other, driven into an oak block and used for the light work a great anvil is too coarse for. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.60 by 0.51 by 0.46 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static stake; the shank is modelled driven into the block. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-131d6824","cdnUrl":"https://cdn.3dassets.dev/assets/37570/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-131d6824","thumbnailUrl":"https://cdn.3dassets.dev/assets/37570/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37570/v1/poster.webp","blurhash":"U596gu^j00E1T}XTMcNE1iOZrrROm,$*-pRi","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":25460,"triangles":160,"vertices":355,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.30281826853752136,-0.0000033552479030141136,-0.23001037629322185],"max":[0.30000001192092896,0.5119976674394968,0.23001037629322185]},"sizeMeters":[0.603,0.512,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:55.091Z","updatedAt":"2026-09-12T05:40:55.183Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37570/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StakeAnvilInABlock066MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37570/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37570/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37570/v1/model.glb\" alt=\"Stake anvil in a block, 0.66 m (Blacksmith Forge and Armoury)\" 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/37570/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/37570/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37571","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a369d218","title":"Swage block on a stand, 0.92 m (Blacksmith Forge and Armoury)","summary":"Cast swage block 0.6 m square pierced with round, square and hexagonal holes and notched all round its edges with half round and vee swages, standing on end in an oak cradle so either face can be worked.","description":"Cast swage block 0.6 m square pierced with round, square and hexagonal holes and notched all round its edges with half round and vee swages, standing on end in an oak cradle so either face can be worked. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.70 by 1.02 by 0.62 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static block; the holes are modelled as recesses in the plate, not as through cuts. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a369d218","cdnUrl":"https://cdn.3dassets.dev/assets/37571/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a369d218","thumbnailUrl":"https://cdn.3dassets.dev/assets/37571/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37571/v1/poster.webp","blurhash":"U37,iU={009uP;t8h|Mx1POswHrWV?s;xbV?","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":52176,"triangles":832,"vertices":1752,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.34999084895766097,0,-0.31001770473084633],"max":[0.34999084895766097,1.0200019323460572,0.31001770473084633]},"sizeMeters":[0.7,1.02,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:55.701Z","updatedAt":"2026-09-12T05:40:55.794Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37571/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SwageBlockOnAStand092MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37571/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37571/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37571/v1/model.glb\" alt=\"Swage block on a stand, 0.92 m (Blacksmith Forge and Armoury)\" 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/37571/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/37571/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37572","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-bdaab8b3","title":"Leg vice on a bench post, 1.25 m (Blacksmith Forge and Armoury)","summary":"Forged leg vice: a fixed jaw strapped to an oak post with its leg carried down onto a stone pad, a moving jaw on the box screw, a hand lever through the screw head and the spring that opens it, sized for hot work.","description":"Forged leg vice: a fixed jaw strapped to an oak post with its leg carried down onto a stone pad, a moving jaw on the box screw, a hand lever through the screw head and the spring that opens it, sized for hot work. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.40 by 1.56 by 0.69 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The leaf spring, the mounting straps and the wedge under the leg are modelled solid; only the moving jaw travels on the screw. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-bdaab8b3","cdnUrl":"https://cdn.3dassets.dev/assets/37572/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-bdaab8b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37572/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37572/v1/poster.webp","blurhash":"U36kCmtl00H=D+Rj-.%M?wxtDO9aIpWBxat7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":84176,"triangles":372,"vertices":891,"meshes":5,"materials":4,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-0.19998823294037082,0,-0.400047882222644],"max":[0.19998823294037082,1.5599999523162842,0.29001037142373864]},"sizeMeters":[0.4,1.56,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:56.340Z","updatedAt":"2026-09-12T05:40:56.533Z","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/37572/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 LegViceOnABenchPost125MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37572/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/37572/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37572/v1/model.glb\" alt=\"Leg vice on a bench post, 1.25 m (Blacksmith Forge and Armoury)\" 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/37572/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/37572/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37573","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1b97ed95","title":"Bench vice on a stand, 1.0 m (Blacksmith Forge and Armoury)","summary":"Heavy parallel bench vice bolted to an oak stand: a cast body with serrated steel jaw plates, a square thread screw with a sliding tommy bar and a small anvil pad cast behind the jaws.","description":"Heavy parallel bench vice bolted to an oak stand: a cast body with serrated steel jaw plates, a square thread screw with a sliding tommy bar and a small anvil pad cast behind the jaws. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.62 by 1.16 by 0.73 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The stand, the screw and the tommy bar are modelled solid; only the sliding jaw travels. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1b97ed95","cdnUrl":"https://cdn.3dassets.dev/assets/37573/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1b97ed95","thumbnailUrl":"https://cdn.3dassets.dev/assets/37573/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37573/v1/poster.webp","blurhash":"U47Td}wg00X4?wWEDOxWC7Nam+xZxYR+I;oy","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":39576,"triangles":408,"vertices":975,"meshes":5,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.31000213461588444,0,-0.33000001311302185],"max":[0.31000213461588444,1.1600021263805815,0.4020000100135803]},"sizeMeters":[0.62,1.16,0.732],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:56.681Z","updatedAt":"2026-09-12T05:40:56.778Z","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/37573/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 BenchViceOnAStand10MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37573/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/37573/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37573/v1/model.glb\" alt=\"Bench vice on a stand, 1.0 m (Blacksmith Forge and Armoury)\" 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/37573/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/37573/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37574","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-24497dd1","title":"Smith's work bench, 2.0 m (Blacksmith Forge and Armoury)","summary":"Oak work bench 2 m long on braced trestle legs with a scorched top, a tool well along the back, a single deep drawer under the front and a rack of punches standing in holes bored along the edge.","description":"Oak work bench 2 m long on braced trestle legs with a scorched top, a tool well along the back, a single deep drawer under the front and a rack of punches standing in holes bored along the edge. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 2.00 by 1.18 by 1.02 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The bench, the well and the punches in their holes are modelled solid; only the drawer opens. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-24497dd1","cdnUrl":"https://cdn.3dassets.dev/assets/37574/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-24497dd1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37574/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37574/v1/poster.webp","blurhash":"U38o|;-90#ru}Y+}NuJQ0OR,-BNu1ITDr^Ro","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":39440,"triangles":416,"vertices":952,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1,0.00003569711934370279,-0.529995405534278],"max":[1,1.1799881167803736,0.4900000101327896]},"sizeMeters":[2,1.18,1.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:57.672Z","updatedAt":"2026-09-12T05:40:57.764Z","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/37574/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 SmithSWorkBench20MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37574/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/37574/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37574/v1/model.glb\" alt=\"Smith's work bench, 2.0 m (Blacksmith Forge and Armoury)\" 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/37574/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/37574/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37575","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-3ed9d480","title":"Riveting bench, 1.5 m (Blacksmith Forge and Armoury)","summary":"Armourer's riveting bench 1.5 m long with a steel topped stake plate, two shallow drawers of rivets and washers, a bickern set into the top and the light hammers laid ready on it.","description":"Armourer's riveting bench 1.5 m long with a steel topped stake plate, two shallow drawers of rivets and washers, a bickern set into the top and the light hammers laid ready on it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.50 by 1.08 by 0.76 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The stake, the plate and the hammers are modelled solid; the two drawers open. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-3ed9d480","cdnUrl":"https://cdn.3dassets.dev/assets/37575/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-3ed9d480","thumbnailUrl":"https://cdn.3dassets.dev/assets/37575/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37575/v1/poster.webp","blurhash":"U48{]+s*0fT0~C$jELE{0gxv$kD%5Px]tRDi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":59504,"triangles":932,"vertices":2064,"meshes":7,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.75,0.00002013148741808468,-0.3200291731383259],"max":[0.75,1.0799663717663712,0.439999997317791]},"sizeMeters":[1.5,1.08,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:57.535Z","updatedAt":"2026-09-12T05:40:57.643Z","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/37575/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 RivetingBench15MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37575/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/37575/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37575/v1/model.glb\" alt=\"Riveting bench, 1.5 m (Blacksmith Forge and Armoury)\" 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/37575/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/37575/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37576","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ac2e8d29","title":"Smith's stool, 0.56 m (Blacksmith Forge and Armoury)","summary":"Three legged oak stool with a dished seat and a wedged tenon at each leg, the seat worn pale where it is used, for the bench and the ledger desk.","description":"Three legged oak stool with a dished seat and a wedged tenon at each leg, the seat worn pale where it is used, for the bench and the ledger desk. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.44 by 0.57 by 0.43 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static stool. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ac2e8d29","cdnUrl":"https://cdn.3dassets.dev/assets/37576/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ac2e8d29","thumbnailUrl":"https://cdn.3dassets.dev/assets/37576/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37576/v1/poster.webp","blurhash":"U36jE=NI0#Sz}raf9^baB7sCn%odE#fQsCoL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":26972,"triangles":208,"vertices":444,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.2468044531029741,0.000024154573111445643,-0.20368200107515],"max":[0.1899966966790239,0.5699999928474426,0.2310317711442723]},"sizeMeters":[0.437,0.57,0.435],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:59.127Z","updatedAt":"2026-09-12T05:40:59.219Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37576/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmithSStool056MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37576/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37576/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37576/v1/model.glb\" alt=\"Smith's stool, 0.56 m (Blacksmith Forge and Armoury)\" 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/37576/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/37576/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37577","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4eafe2ea","title":"Hammer rack, 1.1 m (Blacksmith Forge and Armoury)","summary":"Free standing oak rack 1.1 m wide carrying the striking tools in order of weight: two cross pein hammers, a ball pein, a straight pein and a sledge, each head resting on the rail with its haft hanging through.","description":"Free standing oak rack 1.1 m wide carrying the striking tools in order of weight: two cross pein hammers, a ball pein, a straight pein and a sledge, each head resting on the rail with its haft hanging through. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.10 by 1.02 by 0.34 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static rack; the hammers are modelled resting in their slots. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4eafe2ea","cdnUrl":"https://cdn.3dassets.dev/assets/37577/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4eafe2ea","thumbnailUrl":"https://cdn.3dassets.dev/assets/37577/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37577/v1/poster.webp","blurhash":"U28:6T^g00xFY6=d+ZNb1INcWEIqE1-A%M5l","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":64612,"triangles":1060,"vertices":2340,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.550000011920929,0.00001584903457607645,-0.17001709405032775],"max":[0.550000011920929,1.0199841318919376,0.17001709405032775]},"sizeMeters":[1.1,1.02,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:59.409Z","updatedAt":"2026-09-12T05:40:59.544Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37577/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HammerRack11MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37577/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37577/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37577/v1/model.glb\" alt=\"Hammer rack, 1.1 m (Blacksmith Forge and Armoury)\" 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/37577/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/37577/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37579","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1e34a918","title":"Tong rack, 1.2 m (Blacksmith Forge and Armoury)","summary":"Iron tong rack 1.2 m wide on two legs holding seven pairs of tongs jaw down: flat bit, bolt, hollow bit, box and pick up jaws, the set a smith reaches for without looking.","description":"Iron tong rack 1.2 m wide on two legs holding seven pairs of tongs jaw down: flat bit, bolt, hollow bit, box and pick up jaws, the set a smith reaches for without looking. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.24 by 1.03 by 0.36 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static rack; the tongs are modelled hanging in their slots. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1e34a918","cdnUrl":"https://cdn.3dassets.dev/assets/37579/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-1e34a918","thumbnailUrl":"https://cdn.3dassets.dev/assets/37579/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37579/v1/poster.webp","blurhash":"U27BDw-;00xb%g?b9F9F00Rj-qMy4mxu_3IU","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":113444,"triangles":2760,"vertices":5974,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.6200000047683716,0.000008861291767692236,-0.18000000138436595],"max":[0.6200000047683716,1.0283910830136522,0.18000000138436595]},"sizeMeters":[1.24,1.028,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:00.357Z","updatedAt":"2026-09-12T05:41:00.457Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37579/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TongRack12MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37579/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37579/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37579/v1/model.glb\" alt=\"Tong rack, 1.2 m (Blacksmith Forge and Armoury)\" 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/37579/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/37579/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37578","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4f555f57","title":"Chisel and punch tray, 0.7 m (Blacksmith Forge and Armoury)","summary":"Oak tray 0.7 m long of hot and cold chisels, round and square punches and a slitting chisel, each one a forged bar with an upset head and a drift mark, laid in the tray the way they come off the bench.","description":"Oak tray 0.7 m long of hot and cold chisels, round and square punches and a slitting chisel, each one a forged bar with an upset head and a drift mark, laid in the tray the way they come off the bench. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.84 by 0.15 by 0.30 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static tray; the tools are modelled lying in it. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4f555f57","cdnUrl":"https://cdn.3dassets.dev/assets/37578/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4f555f57","thumbnailUrl":"https://cdn.3dassets.dev/assets/37578/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37578/v1/poster.webp","blurhash":"U27mEC-V0+o#xu=yt6J-03Na}XjEE15QM|v~","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":43444,"triangles":648,"vertices":1380,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.46000000834465027,0.000016026474676675284,-0.14997863448924584],"max":[0.3799999952316284,0.1499839794857878,0.14997863448924584]},"sizeMeters":[0.84,0.15,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:40:59.284Z","updatedAt":"2026-09-12T05:40:59.382Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37578/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChiselAndPunchTray07MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37578/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37578/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37578/v1/model.glb\" alt=\"Chisel and punch tray, 0.7 m (Blacksmith Forge and Armoury)\" 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/37578/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/37578/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37580","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-82a18adf","title":"Swage and fuller set on a board, 0.8 m (Blacksmith Forge and Armoury)","summary":"Board of bottom and top tooling 0.8 m wide: three matched swage pairs, a top and bottom fuller, a flatter and a set hammer, each with a square shank that drops into the anvil's hardy hole.","description":"Board of bottom and top tooling 0.8 m wide: three matched swage pairs, a top and bottom fuller, a flatter and a set hammer, each with a square shank that drops into the anvil's hardy hole. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.87 by 0.26 by 0.35 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static set; the tools stand in bored holes in the board. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-82a18adf","cdnUrl":"https://cdn.3dassets.dev/assets/37580/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-82a18adf","thumbnailUrl":"https://cdn.3dassets.dev/assets/37580/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37580/v1/poster.webp","blurhash":"U28W5E^N0KJ-.9=yroIo01K6-pITMHE*GHNF","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":36264,"triangles":424,"vertices":926,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4000000059604645,-0.000007899514288256526,-0.17499132596053418],"max":[0.4666123688220978,0.2600088481150019,0.17499132596053418]},"sizeMeters":[0.867,0.26,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:00.754Z","updatedAt":"2026-09-12T05:41:00.893Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37580/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SwageAndFullerSetOnABoard08MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37580/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37580/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37580/v1/model.glb\" alt=\"Swage and fuller set on a board, 0.8 m (Blacksmith Forge and Armoury)\" 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/37580/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/37580/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37581","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4aad2bb8","title":"Hardy tools in a block, 0.5 m (Blacksmith Forge and Armoury)","summary":"Oak block 0.5 m wide standing the anvil's bottom tools upright: a hardy cutting tool, a bending fork, a bottom swage and a cone mandrel, all on square shanks with their edges dressed.","description":"Oak block 0.5 m wide standing the anvil's bottom tools upright: a hardy cutting tool, a bending fork, a bottom swage and a cone mandrel, all on square shanks with their edges dressed. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.50 by 0.71 by 0.26 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static block; the tools stand in square mortices. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4aad2bb8","cdnUrl":"https://cdn.3dassets.dev/assets/37581/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4aad2bb8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37581/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37581/v1/poster.webp","blurhash":"U37Ae}-q005580t9+GMw9XkTx^VZ:#xUk=ER","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":25260,"triangles":168,"vertices":381,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.25,0.000003661625090675691,-0.12999359111301004],"max":[0.25,0.7100000027567148,0.12999359111301004]},"sizeMeters":[0.5,0.71,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:00.878Z","updatedAt":"2026-09-12T05:41:00.996Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37581/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HardyToolsInABlock05MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37581/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37581/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37581/v1/model.glb\" alt=\"Hardy tools in a block, 0.5 m (Blacksmith Forge and Armoury)\" 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/37581/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/37581/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37582","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-6b9a8922","title":"File and rasp rack, 0.9 m (Blacksmith Forge and Armoury)","summary":"Wall rack 0.9 m wide of eight files and rasps hanging by their tangs: flat, half round, round and square cuts with turned wooden handles, the tools that take the hammer marks off finished work.","description":"Wall rack 0.9 m wide of eight files and rasps hanging by their tangs: flat, half round, round and square cuts with turned wooden handles, the tools that take the hammer marks off finished work. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.90 by 0.84 by 0.10 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the centre of the fixing face at the back, so it hangs flat on a wall or a post. Static geometry; no rig, collision or navigation data. Static rack; the files hang on their pegs. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-6b9a8922","cdnUrl":"https://cdn.3dassets.dev/assets/37582/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-6b9a8922","thumbnailUrl":"https://cdn.3dassets.dev/assets/37582/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37582/v1/poster.webp","blurhash":"U67v+9so0zbH}9$%E*I;EMwvxaJ.K6j[r=R*","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":56920,"triangles":856,"vertices":1936,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.5900186936793359,-0.000017318591394990812],"max":[0.44999998807907104,0.25002898596049583,0.0950173173993021]},"sizeMeters":[0.9,0.84,0.095],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:01.225Z","updatedAt":"2026-09-12T05:41:01.334Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37582/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FileAndRaspRack09MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37582/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37582/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37582/v1/model.glb\" alt=\"File and rasp rack, 0.9 m (Blacksmith Forge and Armoury)\" 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/37582/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/37582/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37583","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f34f1618","title":"Wall tool board, 1.6 m (Blacksmith Forge and Armoury)","summary":"Boarded tool wall 1.6 m wide hung with the tools that are not on the bench: tongs, a set hammer, a hot cut, calipers, a square, a pair of dividers and a coil of binding wire, all on forged hooks.","description":"Boarded tool wall 1.6 m wide hung with the tools that are not on the bench: tongs, a set hammer, a hot cut, calipers, a square, a pair of dividers and a coil of binding wire, all on forged hooks. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.60 by 1.41 by 0.19 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the centre of the fixing face at the back, so it hangs flat on a wall panel. Static geometry; no rig, collision or navigation data. Static board; every tool hangs on its hook. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f34f1618","cdnUrl":"https://cdn.3dassets.dev/assets/37583/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f34f1618","thumbnailUrl":"https://cdn.3dassets.dev/assets/37583/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37583/v1/poster.webp","blurhash":"U28V[qt503xVxa}rX30}0hNe}ZwbRRsoX8I;","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":95716,"triangles":1856,"vertices":4038,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.800000011920929,-0.6599954521748443,0.0000484079043187452],"max":[0.800000011920929,0.7500206497130779,0.1887064141542065]},"sizeMeters":[1.6,1.41,0.189],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:03.136Z","updatedAt":"2026-09-12T05:41:03.329Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37583/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallToolBoard16MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37583/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37583/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37583/v1/model.glb\" alt=\"Wall tool board, 1.6 m (Blacksmith Forge and Armoury)\" 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/37583/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/37583/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37584","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-3ea552dc","title":"Leather apron on a hook, 1.0 m (Blacksmith Forge and Armoury)","summary":"Scarred smith's apron hanging on a forged hook with its neck strap over the peg, the hide scorched and cut where sparks and scale have landed on it.","description":"Scarred smith's apron hanging on a forged hook with its neck strap over the peg, the hide scorched and cut where sparks and scale have landed on it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.46 by 1.12 by 0.14 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the centre of the fixing face at the back, so the hook mounts flat on a wall or a post. Static geometry; no rig, collision or navigation data. The apron hangs in one fixed fold and the strap is modelled solid: cloth and hide need a cloth simulation or a joint per fold, and neither is reachable with one rigid node transform. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-3ea552dc","cdnUrl":"https://cdn.3dassets.dev/assets/37584/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-3ea552dc","thumbnailUrl":"https://cdn.3dassets.dev/assets/37584/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37584/v1/poster.webp","blurhash":"U5A,2f?Z0001IVof%LRj0LRi~BtlS|$%r]EN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":31080,"triangles":256,"vertices":611,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.22998504231972086,-1.0199999809265137,-0.0000030518508793847543],"max":[0.22998504231972086,0.10000000149011612,0.1420000046491623]},"sizeMeters":[0.46,1.12,0.142],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:02.468Z","updatedAt":"2026-09-12T05:41:02.564Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37584/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeatherApronOnAHook10MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37584/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37584/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37584/v1/model.glb\" alt=\"Leather apron on a hook, 1.0 m (Blacksmith Forge and Armoury)\" 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/37584/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/37584/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37585","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-d2dc5b62","title":"Treadle grindstone, 1.2 m (Blacksmith Forge and Armoury)","summary":"Sandstone grinding wheel 0.7 m across turning in its water trough on an oak frame, driven by a foot treadle and a crank, with a seat board across the back for the smith who is grinding.","description":"Sandstone grinding wheel 0.7 m across turning in its water trough on an oak frame, driven by a foot treadle and a crank, with a seat board across the back for the smith who is grinding. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.22 by 1.13 by 0.84 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: spin and tilt. No skinning. The crank throw and the connecting rod are modelled solid and stay where they are: a crank linkage needs a joint at each end and neither is reachable with one rigid node transform, so the stone turns and the treadle rocks independently. The water in the trough is a flat solid surface. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-d2dc5b62","cdnUrl":"https://cdn.3dassets.dev/assets/37585/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-d2dc5b62","thumbnailUrl":"https://cdn.3dassets.dev/assets/37585/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37585/v1/poster.webp","blurhash":"U28pM$~A0001-;s;MwI.00NF_3tm8_wH?vk?","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":91036,"triangles":456,"vertices":1001,"meshes":7,"materials":4,"textures":2,"animations":["spin","tilt"],"boundingBox":{"min":[-0.5799999833106995,0.00002047514775038728,-0.47001142475063806],"max":[0.6399903866266947,1.1299999940395355,0.36999998092651365]},"sizeMeters":[1.22,1.13,0.84],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:03.846Z","updatedAt":"2026-09-12T05:41:03.960Z","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/37585/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 TreadleGrindstone12MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37585/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/37585/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37585/v1/model.glb\" alt=\"Treadle grindstone, 1.2 m (Blacksmith Forge and Armoury)\" 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/37585/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/37585/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37586","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-0c1bb1e7","title":"Polishing wheel bench, 1.1 m (Blacksmith Forge and Armoury)","summary":"Leather faced polishing wheel on an oak bench, turned by its own treadle and flywheel, with a shelf of abrasive blocks and tallow under it and a finished plate held ready against the face.","description":"Leather faced polishing wheel on an oak bench, turned by its own treadle and flywheel, with a shelf of abrasive blocks and tallow under it and a finished plate held ready against the face. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.10 by 1.36 by 0.68 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: spin and tilt. No skinning. The drive cord, the flywheel and the crank are modelled solid, because a cord is flexible and a crank linkage needs a joint at each end; the wheel turns and the treadle rocks independently. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-0c1bb1e7","cdnUrl":"https://cdn.3dassets.dev/assets/37586/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-0c1bb1e7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37586/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37586/v1/poster.webp","blurhash":"U28WEV}r000}?Z$*IBM{0MNa^jS$EONat5kW","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":97176,"triangles":560,"vertices":1222,"meshes":10,"materials":7,"textures":2,"animations":["spin","tilt"],"boundingBox":{"min":[-0.550017086202313,0,-0.34000000357627863],"max":[0.550017086202313,1.3600000202655793,0.34000000715255735]},"sizeMeters":[1.1,1.36,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:03.862Z","updatedAt":"2026-09-12T05:41:03.976Z","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/37586/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 PolishingWheelBench11MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37586/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/37586/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37586/v1/model.glb\" alt=\"Polishing wheel bench, 1.1 m (Blacksmith Forge and Armoury)\" 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/37586/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/37586/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37587","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-d30c4fa5","title":"Drawing block and draw bench, 1.6 m (Blacksmith Forge and Armoury)","summary":"Oak draw bench 1.6 m long for drawing rod down to size: a cast draw plate in an iron frame at one end, a windlass with a ratchet at the other, the drawn rod lying through it and a coil of finished rod on the floor.","description":"Oak draw bench 1.6 m long for drawing rod down to size: a cast draw plate in an iron frame at one end, a windlass with a ratchet at the other, the drawn rod lying through it and a coil of finished rod on the floor. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.98 by 1.30 by 0.98 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. The windlass, the ratchet pawl, the tongs on the rod and the drawn coil are modelled solid. The windlass is left static on purpose: a draw bench is a linkage of rope, pawl and moving grip, and a rigid node transform can drive only one of them. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-d30c4fa5","cdnUrl":"https://cdn.3dassets.dev/assets/37587/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-d30c4fa5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37587/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37587/v1/poster.webp","blurhash":"U28WNxx]00eVnT^,-:003YX9z.WAJ~tRr_9G","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":69088,"triangles":1164,"vertices":2513,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.8799999952316284,-0.00003539235473948299,-0.2799783298949769],"max":[1.100000023841858,1.2999786191429528,0.6969525543357502]},"sizeMeters":[1.98,1.3,0.977],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:05.189Z","updatedAt":"2026-09-12T05:41:05.288Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37587/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrawingBlockAndDrawBench16MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37587/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37587/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37587/v1/model.glb\" alt=\"Drawing block and draw bench, 1.6 m (Blacksmith Forge and Armoury)\" 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/37587/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/37587/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37588","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f130331f","title":"Wire die rack, 0.85 m (Blacksmith Forge and Armoury)","summary":"Oak rack of hardened draw plates in falling sizes with a coil of drawn wire on each hook, the plates pierced with graded rows of holes and stamped with an abstract size mark.","description":"Oak rack of hardened draw plates in falling sizes with a coil of drawn wire on each hook, the plates pierced with graded rows of holes and stamped with an abstract size mark. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.81 by 0.86 by 0.28 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static rack; the plates hang on their pegs and the coils rest on them. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f130331f","cdnUrl":"https://cdn.3dassets.dev/assets/37588/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f130331f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37588/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37588/v1/poster.webp","blurhash":"U18y-d~V00D4-:={v~0|00EK.mx_Ex=G$*1h","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":88052,"triangles":1704,"vertices":3606,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.40501389265875354,0,-0.14000885269663488],"max":[0.40501389265875354,0.8600000143051147,0.14000885269663488]},"sizeMeters":[0.81,0.86,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:05.927Z","updatedAt":"2026-09-12T05:41:06.020Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37588/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WireDieRack085MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37588/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37588/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37588/v1/model.glb\" alt=\"Wire die rack, 0.85 m (Blacksmith Forge and Armoury)\" 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/37588/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/37588/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37589","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-cb737e5e","title":"Nail header block, 0.62 m (Blacksmith Forge and Armoury)","summary":"Nail maker's stump: a bolster plate and two headers set in an oak block with a tray of finished nails in four sizes beside it, the simplest piecework a smithy ever ran on.","description":"Nail maker's stump: a bolster plate and two headers set in an oak block with a tray of finished nails in four sizes beside it, the simplest piecework a smithy ever ran on. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.83 by 0.74 by 0.48 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static block; the headers stand in their mortices and the nails lie in the tray. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-cb737e5e","cdnUrl":"https://cdn.3dassets.dev/assets/37589/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-cb737e5e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37589/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37589/v1/poster.webp","blurhash":"U37mNj}[0f4.GH-pngD%1JAG$%,;RhRjxutS","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":44060,"triangles":616,"vertices":1350,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.24500000476837158,0.000014658399190264904,-0.23885321353183048],"max":[0.5899999737739563,0.7399919846421692,0.23885321353183048]},"sizeMeters":[0.835,0.74,0.478],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:06.601Z","updatedAt":"2026-09-12T05:41:06.726Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37589/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NailHeaderBlock062MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37589/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37589/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37589/v1/model.glb\" alt=\"Nail header block, 0.62 m (Blacksmith Forge and Armoury)\" 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/37589/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/37589/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37590","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-49e8720f","title":"Farrier's shoeing box, 0.62 m (Blacksmith Forge and Armoury)","summary":"Oak shoeing box with a carrying handle and a hinged lid over the nails, the shoe pritchel, the clenching tongs and the rasp, with finished shoes stacked on the lid.","description":"Oak shoeing box with a carrying handle and a hinged lid over the nails, the shoe pritchel, the clenching tongs and the rasp, with finished shoes stacked on the lid. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.63 by 0.80 by 0.38 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The box, the handle and the tools in it are modelled solid; only the lid lifts. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-49e8720f","cdnUrl":"https://cdn.3dassets.dev/assets/37590/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-49e8720f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37590/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37590/v1/poster.webp","blurhash":"U28WBQ~B000M5QxCxuNI00IU-=tS-qs;#QOA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":51872,"triangles":748,"vertices":1654,"meshes":4,"materials":2,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.3214699923992157,0,-0.19001303416474252],"max":[0.3099988044330561,0.8019999861717224,0.1850211642282135]},"sizeMeters":[0.631,0.802,0.375],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:06.624Z","updatedAt":"2026-09-12T05:41:06.742Z","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/37590/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 FarrierSShoeingBox062MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37590/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/37590/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37590/v1/model.glb\" alt=\"Farrier's shoeing box, 0.62 m (Blacksmith Forge and Armoury)\" 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/37590/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/37590/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37591","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-707c8f63","title":"Horseshoe rack, 0.9 m (Blacksmith Forge and Armoury)","summary":"Wall rack of finished horseshoes strung on three iron rods by size, front and hind patterns with the nail holes punched and the clips drawn, the standing stock of any village smithy.","description":"Wall rack of finished horseshoes strung on three iron rods by size, front and hind patterns with the nail holes punched and the clips drawn, the standing stock of any village smithy. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.90 by 1.10 by 0.16 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the centre of the fixing face at the back, so it hangs flat on a wall or a post. Static geometry; no rig, collision or navigation data. Static rack; the shoes hang on the rods. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-707c8f63","cdnUrl":"https://cdn.3dassets.dev/assets/37591/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-707c8f63","thumbnailUrl":"https://cdn.3dassets.dev/assets/37591/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37591/v1/poster.webp","blurhash":"U37,x,-;00D%{uxDGIJB56iv,@O@K%t6vzIo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":97588,"triangles":2052,"vertices":4216,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.7425722770954979,0.000005341773819677459],"max":[0.44999998807907104,0.36001921712371737,0.1573595355514137]},"sizeMeters":[0.9,1.103,0.157],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:06.796Z","updatedAt":"2026-09-12T05:41:07.010Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37591/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HorseshoeRack09MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37591/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37591/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37591/v1/model.glb\" alt=\"Horseshoe rack, 0.9 m (Blacksmith Forge and Armoury)\" 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/37591/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/37591/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37592","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4c47bd2d","title":"Iron bar stock rack, 2.4 m (Blacksmith Forge and Armoury)","summary":"Upright oak rack 2.4 m tall with five iron arms holding merchant bar on end: round, square and flat sections in mixed lengths leaning in their bays, the raw material a smithy buys in.","description":"Upright oak rack 2.4 m tall with five iron arms holding merchant bar on end: round, square and flat sections in mixed lengths leaning in their bays, the raw material a smithy buys in. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.50 by 2.42 by 0.52 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static rack; the bar is modelled leaning in the bays. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4c47bd2d","cdnUrl":"https://cdn.3dassets.dev/assets/37592/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-4c47bd2d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37592/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37592/v1/poster.webp","blurhash":"U17K0b^+0000KOxuw{E14TR5*JpwE1wI-UFy","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":40524,"triangles":532,"vertices":1129,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7499954458682521,0,-0.24992462716082375],"max":[0.7499954458682521,2.4200000762939453,0.2699488660995221]},"sizeMeters":[1.5,2.42,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:08.544Z","updatedAt":"2026-09-12T05:41:08.639Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37592/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IronBarStockRack24MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37592/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37592/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37592/v1/model.glb\" alt=\"Iron bar stock rack, 2.4 m (Blacksmith Forge and Armoury)\" 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/37592/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/37592/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37593","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-b0398499","title":"Billet stack on bearers, 1.2 m (Blacksmith Forge and Armoury)","summary":"Stack of square iron billets and short bloom ends crossed on two oak bearers, chalked with an abstract heat mark, the way stock is kept off a damp floor.","description":"Stack of square iron billets and short bloom ends crossed on two oak bearers, chalked with an abstract heat mark, the way stock is kept off a damp floor. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.20 by 0.51 by 0.94 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static stack. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-b0398499","cdnUrl":"https://cdn.3dassets.dev/assets/37593/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-b0398499","thumbnailUrl":"https://cdn.3dassets.dev/assets/37593/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37593/v1/poster.webp","blurhash":"U68ggM%200jc.Tt7IAWV00R*b^RjL}WAs:WA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":29440,"triangles":264,"vertices":616,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.000025941975848826904,-0.4699789249897367],"max":[0.6000000238418579,0.509993433766789,0.4699789249897367]},"sizeMeters":[1.2,0.51,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:09.358Z","updatedAt":"2026-09-12T05:41:09.454Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37593/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BilletStackOnBearers12MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37593/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37593/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37593/v1/model.glb\" alt=\"Billet stack on bearers, 1.2 m (Blacksmith Forge and Armoury)\" 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/37593/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/37593/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37594","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f026a6dd","title":"Barrel of blanks, 0.96 m (Blacksmith Forge and Armoury)","summary":"Open coopered barrel standing full of forged blanks: hinge straps, hooks, staples and bar ends stood on end, the bulk work a shop turns out between commissions.","description":"Open coopered barrel standing full of forged blanks: hinge straps, hooks, staples and bar ends stood on end, the bulk work a shop turns out between commissions. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.68 by 1.18 by 0.67 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static barrel; the blanks are modelled standing in it. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f026a6dd","cdnUrl":"https://cdn.3dassets.dev/assets/37594/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-f026a6dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/37594/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37594/v1/poster.webp","blurhash":"U16tE;}?000M.TozHqR51IK6{{vyOqt8WqIn","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":45772,"triangles":636,"vertices":1348,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.34202730083171257,0,-0.3368346119173846],"max":[0.34202730083171257,1.180091381072998,0.3368346119173846]},"sizeMeters":[0.684,1.18,0.674],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:08.578Z","updatedAt":"2026-09-12T05:41:08.690Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37594/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarrelOfBlanks096MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37594/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37594/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37594/v1/model.glb\" alt=\"Barrel of blanks, 0.96 m (Blacksmith Forge and Armoury)\" 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/37594/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/37594/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37595","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-96cbf040","title":"Finished goods rack, 1.6 m (Blacksmith Forge and Armoury)","summary":"Shelved oak rack of finished ironwork ready to go out: hinges and hasps on the top shelf, door furniture and brackets below, hooks and pot cranes hanging off the rail and a box of nails on the floor of it.","description":"Shelved oak rack of finished ironwork ready to go out: hinges and hasps on the top shelf, door furniture and brackets below, hooks and pot cranes hanging off the rail and a box of nails on the floor of it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.60 by 1.70 by 0.45 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static rack; every piece rests on its shelf or hangs on its hook. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-96cbf040","cdnUrl":"https://cdn.3dassets.dev/assets/37595/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-96cbf040","thumbnailUrl":"https://cdn.3dassets.dev/assets/37595/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37595/v1/poster.webp","blurhash":"U28:L;^600Mz^-=eVWAB1dSywJM|n+$%k89]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":75228,"triangles":1340,"vertices":2981,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7999862891097462,0,-0.22000336320697036],"max":[0.7999862891097462,1.7000000476837158,0.225176496955287]},"sizeMeters":[1.6,1.7,0.445],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:09.704Z","updatedAt":"2026-09-12T05:41:09.821Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37595/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FinishedGoodsRack16MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37595/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37595/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37595/v1/model.glb\" alt=\"Finished goods rack, 1.6 m (Blacksmith Forge and Armoury)\" 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/37595/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/37595/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37596","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-b610036e","title":"Blade blank rack, 1.4 m (Blacksmith Forge and Armoury)","summary":"Oak rack of forged blade blanks waiting on the grinder: knife, seax and sword blanks with their tangs drawn and their edges still thick and unsharpened, plus two scythe blades and a billhook, which is the shape the work leaves a forge in.","description":"Oak rack of forged blade blanks waiting on the grinder: knife, seax and sword blanks with their tangs drawn and their edges still thick and unsharpened, plus two scythe blades and a billhook, which is the shape the work leaves a forge in. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.74 by 1.77 by 0.36 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static rack; the blanks are modelled unground and unsharpened, with square edges, because that is what a forge holds before the grinder and the hilt fitter see it. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-b610036e","cdnUrl":"https://cdn.3dassets.dev/assets/37596/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-b610036e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37596/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37596/v1/poster.webp","blurhash":"U27J^LtR00nl7g-V,o9[00Nu^,#SDhR5%2S~","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":32904,"triangles":336,"vertices":724,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.0357179641723633,0.00003953551876467731,-0.17998290656960278],"max":[0.699999988079071,1.7702374767132243,0.17998290656960278]},"sizeMeters":[1.736,1.77,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:11.213Z","updatedAt":"2026-09-12T05:41:11.313Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37596/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BladeBlankRack14MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37596/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37596/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37596/v1/model.glb\" alt=\"Blade blank rack, 1.4 m (Blacksmith Forge and Armoury)\" 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/37596/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/37596/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37597","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-98d31afa","title":"Armourer's dishing stump, 0.78 m (Blacksmith Forge and Armoury)","summary":"Elm stump hollowed with three dishing bowls of different depths, a half finished plate lying in the largest and the raising and dishing mallets standing in the ring beside it.","description":"Elm stump hollowed with three dishing bowls of different depths, a half finished plate lying in the largest and the raising and dishing mallets standing in the ring beside it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.76 by 0.95 by 0.72 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static stump; the plate is modelled resting in the hollow. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-98d31afa","cdnUrl":"https://cdn.3dassets.dev/assets/37597/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-98d31afa","thumbnailUrl":"https://cdn.3dassets.dev/assets/37597/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37597/v1/poster.webp","blurhash":"U27S{h]-0M9]M}NbkU,@0gJQ^P$j9]ju$*Nu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":55124,"triangles":800,"vertices":1715,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.3599994989023853,0,-0.36001540732968734],"max":[0.3991133185015369,0.949999988079071,0.36001540732968734]},"sizeMeters":[0.759,0.95,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:10.261Z","updatedAt":"2026-09-12T05:41:10.352Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37597/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmourerSDishingStump078MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37597/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37597/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37597/v1/model.glb\" alt=\"Armourer's dishing stump, 0.78 m (Blacksmith Forge and Armoury)\" 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/37597/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/37597/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37598","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-46bbdac6","title":"Planishing stake in a block, 0.84 m (Blacksmith Forge and Armoury)","summary":"Polished steel planishing stake on a T head set in an oak block, with a bench mandrel beside it and a curved plate laid over the head, the tool that takes the hammer marks out of raised armour.","description":"Polished steel planishing stake on a T head set in an oak block, with a bench mandrel beside it and a curved plate laid over the head, the tool that takes the hammer marks out of raised armour. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.88 by 0.92 by 0.44 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static stake; the plate rests on the head. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-46bbdac6","cdnUrl":"https://cdn.3dassets.dev/assets/37598/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-46bbdac6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37598/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37598/v1/poster.webp","blurhash":"U68pozoz00NFuixuMIRPEft7xuRPL~s:.8I:","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":29052,"triangles":252,"vertices":540,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.6299999952316284,-0.000010372120896717796,-0.22000030518509475],"max":[0.25,0.9199758345183282,0.22000030518509475]},"sizeMeters":[0.88,0.92,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:11.169Z","updatedAt":"2026-09-12T05:41:11.270Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37598/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlanishingStakeInABlock084MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37598/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37598/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37598/v1/model.glb\" alt=\"Planishing stake in a block, 0.84 m (Blacksmith Forge and Armoury)\" 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/37598/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/37598/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37599","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-5504ec2e","title":"Helm on a shaping form, 1.05 m (Blacksmith Forge and Armoury)","summary":"Raised helm skull on a turned oak head form: a two piece bowl with a raised comb, a riveted brow band and the face opening cut, standing on a post so the armourer can work round it.","description":"Raised helm skull on a turned oak head form: a two piece bowl with a raised comb, a riveted brow band and the face opening cut, standing on a post so the armourer can work round it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.38 by 1.04 by 0.38 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static piece; the helm is modelled resting over the form and the rivets are solid. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-5504ec2e","cdnUrl":"https://cdn.3dassets.dev/assets/37599/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-5504ec2e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37599/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37599/v1/poster.webp","blurhash":"U56HT8t600M|ysX8MIr=%MbHIUsAM{aftQof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":61764,"triangles":872,"vertices":2173,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.18999038284926606,0,-0.18999038284926606],"max":[0.18999038284926606,1.0399999618530273,0.18999038284926606]},"sizeMeters":[0.38,1.04,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:11.326Z","updatedAt":"2026-09-12T05:41:11.476Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37599/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HelmOnAShapingForm105MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37599/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37599/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37599/v1/model.glb\" alt=\"Helm on a shaping form, 1.05 m (Blacksmith Forge and Armoury)\" 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/37599/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/37599/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37600","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c4075473","title":"Breastplate on a torso form, 1.45 m (Blacksmith Forge and Armoury)","summary":"Raised breastplate with a shallow medial ridge and a turned edge, hung on a boarded torso form on a tripod post, with the fauld lames riveted along the bottom and the buckle straps hanging free.","description":"Raised breastplate with a shallow medial ridge and a turned edge, hung on a boarded torso form on a tripod post, with the fauld lames riveted along the bottom and the buckle straps hanging free. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.50 by 1.58 by 0.40 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static piece; the straps hang in one fixed fold, because a strap is flexible and a rigid node transform cannot bend one. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c4075473","cdnUrl":"https://cdn.3dassets.dev/assets/37600/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c4075473","thumbnailUrl":"https://cdn.3dassets.dev/assets/37600/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37600/v1/poster.webp","blurhash":"U66@+poz00V@~qbb8_nhs:j@WBWCMxsTo}Nd","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":43084,"triangles":488,"vertices":1206,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.2500189233987511,-0.00005422594404080883,-0.159997635325021],"max":[0.2500189233987511,1.5800000429153442,0.23844272053534019]},"sizeMeters":[0.5,1.58,0.398],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:11.871Z","updatedAt":"2026-09-12T05:41:11.970Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37600/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreastplateOnATorsoForm145MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37600/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37600/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37600/v1/model.glb\" alt=\"Breastplate on a torso form, 1.45 m (Blacksmith Forge and Armoury)\" 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/37600/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/37600/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37601","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-cb6e8bc1","title":"Mail ring drum, 1.1 m (Blacksmith Forge and Armoury)","summary":"Oak tumbling drum on an iron frame turned by a crank handle, used to clean and burnish drawn mail rings in sand, with a tray of finished rings and a riveting punch on the shelf under it.","description":"Oak tumbling drum on an iron frame turned by a crank handle, used to clean and burnish drawn mail rings in sand, with a tray of finished rings and a riveting punch on the shelf under it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.10 by 1.17 by 0.58 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: spin. No skinning. The frame, the crank handle and the ring tray are modelled solid; the drum spins on its axle. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-cb6e8bc1","cdnUrl":"https://cdn.3dassets.dev/assets/37601/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-cb6e8bc1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37601/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37601/v1/poster.webp","blurhash":"U383Ie}q0N9vRoj[WnR*0}J8$*a#R%WCs:s.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":61504,"triangles":956,"vertices":2098,"meshes":4,"materials":2,"textures":1,"animations":["spin"],"boundingBox":{"min":[-0.49000000953674316,0.000011871874770807977,-0.2900143499853453],"max":[0.6100000143051147,1.1649999558925628,0.2900143499853453]},"sizeMeters":[1.1,1.165,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:13.803Z","updatedAt":"2026-09-12T05:41:13.897Z","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/37601/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 MailRingDrum11MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37601/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/37601/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37601/v1/model.glb\" alt=\"Mail ring drum, 1.1 m (Blacksmith Forge and Armoury)\" 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/37601/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/37601/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37602","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a62dd463","title":"Shop counter with stock, 1.8 m (Blacksmith Forge and Armoury)","summary":"Oak selling counter 1.8 m long on a boarded front with a worn top, a shelf of finished ironwork under it and a tray of small goods, hooks and nails set out on top for a customer to pick over.","description":"Oak selling counter 1.8 m long on a boarded front with a worn top, a shelf of finished ironwork under it and a tray of small goods, hooks and nails set out on top for a customer to pick over. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.90 by 1.06 by 0.76 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static counter; the goods rest on the top and the shelf. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a62dd463","cdnUrl":"https://cdn.3dassets.dev/assets/37602/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a62dd463","thumbnailUrl":"https://cdn.3dassets.dev/assets/37602/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37602/v1/poster.webp","blurhash":"U29$RS}=0gIp}?^5xCEx0hS#+}MzEz-SNc9w","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":48604,"triangles":684,"vertices":1531,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.0000424426872452921,-0.3599478127534045],"max":[0.949999988079071,1.0600423854667862,0.3999478044087542]},"sizeMeters":[1.9,1.06,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:13.955Z","updatedAt":"2026-09-12T05:41:14.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37602/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopCounterWithStock18MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37602/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37602/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37602/v1/model.glb\" alt=\"Shop counter with stock, 1.8 m (Blacksmith Forge and Armoury)\" 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/37602/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/37602/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37603","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-486137f9","title":"Ledger desk, 1.16 m (Blacksmith Forge and Armoury)","summary":"Sloped oak clerk's desk with a lifting lid over the ledger, an ink horn and a tally stick in the pen groove, its book ruled with abstract marks rather than readable writing.","description":"Sloped oak clerk's desk with a lifting lid over the ledger, an ink horn and a tally stick in the pen groove, its book ruled with abstract marks rather than readable writing. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.74 by 1.21 by 0.69 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The desk, the ink horn and the tally are modelled solid; only the sloped lid lifts. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-486137f9","cdnUrl":"https://cdn.3dassets.dev/assets/37603/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-486137f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37603/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37603/v1/poster.webp","blurhash":"U583Im}E0f5mtRs.RiJ71HN[%1SNMxnj%Moy","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":34352,"triangles":276,"vertices":631,"meshes":6,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.3700315993484202,0,-0.32974429805574484],"max":[0.3700315993484202,1.2116343975067139,0.36002980549631186]},"sizeMeters":[0.74,1.212,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:14.145Z","updatedAt":"2026-09-12T05:41:14.318Z","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/37603/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 LedgerDesk116MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37603/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/37603/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37603/v1/model.glb\" alt=\"Ledger desk, 1.16 m (Blacksmith Forge and Armoury)\" 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/37603/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/37603/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37604","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c279a8b3","title":"Hanging balance scale, 1.0 m (Blacksmith Forge and Armoury)","summary":"Iron beam balance hung from a hook with two brass pans on chains and a set of weights on the near pan, for selling ironwork by weight at the counter. The origin is the hanging hook at the top.","description":"Iron beam balance hung from a hook with two brass pans on chains and a set of weights on the near pan, for selling ironwork by weight at the counter. The origin is the hanging hook at the top. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.07 by 0.59 by 0.23 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the hook at the top of the hanger, so it hangs below the placement point. Rigid node-transform clips: tilt. No skinning. The chains are modelled as solid rods and never slacken: a chain needs a joint per link and none of that is reachable with one rigid node transform, so the beam and both pans rock as one node. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c279a8b3","cdnUrl":"https://cdn.3dassets.dev/assets/37604/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c279a8b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37604/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37604/v1/poster.webp","blurhash":"U384YyS1Mcx[02_2D*8{000MNG%L~Ung^+t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":35944,"triangles":780,"vertices":1745,"meshes":3,"materials":2,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.5350000262260437,-0.5799665177660087,-0.11324686977458538],"max":[0.5350000262260437,0.014000000432133675,0.11324686977458538]},"sizeMeters":[1.07,0.594,0.226],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:14.579Z","updatedAt":"2026-09-12T05:41:14.704Z","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/37604/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 HangingBalanceScale10MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37604/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/37604/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37604/v1/model.glb\" alt=\"Hanging balance scale, 1.0 m (Blacksmith Forge and Armoury)\" 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/37604/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/37604/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37605","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-6a90de52","title":"Forge lantern, 0.42 m (Blacksmith Forge and Armoury)","summary":"Iron framed lantern with horn panes, a pierced smoke cap and a candle inside, standing on its base with the carrying ring folded over, for the dark end of a workshop.","description":"Iron framed lantern with horn panes, a pierced smoke cap and a candle inside, standing on its base with the carrying ring folded over, for the dark end of a workshop. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.19 by 0.41 by 0.19 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Static geometry; no rig, collision or navigation data. Static lantern; the flame is modelled solid under an emissive looking material and the file embeds no light, so a consumer lights the scene itself. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-6a90de52","cdnUrl":"https://cdn.3dassets.dev/assets/37605/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-6a90de52","thumbnailUrl":"https://cdn.3dassets.dev/assets/37605/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37605/v1/poster.webp","blurhash":"UAA0?zxu00D%D%WB%Mt700Rj~pxu?aofD*Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":27272,"triangles":556,"vertices":1251,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.09499858970113403,0,-0.09261998746848926],"max":[0.09499858970113403,0.41457265615463257,0.09261998746848926]},"sizeMeters":[0.19,0.415,0.185],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:16.427Z","updatedAt":"2026-09-12T05:41:16.520Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37605/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ForgeLantern042MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37605/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37605/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37605/v1/model.glb\" alt=\"Forge lantern, 0.42 m (Blacksmith Forge and Armoury)\" 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/37605/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/37605/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37606","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a7dcdfe3","title":"Wall candle sconce, 0.3 m (Blacksmith Forge and Armoury)","summary":"Forged wall sconce with a scrolled arm, a drip pan and a tallow candle burning in it, fixed to a boarded plate so it mounts flat on a wall or a post.","description":"Forged wall sconce with a scrolled arm, a drip pan and a tallow candle burning in it, fixed to a boarded plate so it mounts flat on a wall or a post. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.12 by 0.28 by 0.19 m (X by Y by Z). Metre units, +Y up, the working face toward +Z. The origin is the centre of the fixing plate at the back, so it mounts flat on a wall panel. Static geometry; no rig, collision or navigation data. Static sconce; the flame is modelled solid under an emissive looking material and the file embeds no light. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a7dcdfe3","cdnUrl":"https://cdn.3dassets.dev/assets/37606/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-a7dcdfe3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37606/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37606/v1/poster.webp","blurhash":"U58Dtq.80000~V-o4:4:00Mw^,%#0LIU^*_2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":27540,"triangles":200,"vertices":453,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.06000366460546844,-0.09000000357627869,0.0000032035122997375876],"max":[0.06000366460546844,0.1899999976158142,0.18874679366017227]},"sizeMeters":[0.12,0.28,0.189],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:15.573Z","updatedAt":"2026-09-12T05:41:15.667Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37606/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallCandleSconce03MBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37606/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37606/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37606/v1/model.glb\" alt=\"Wall candle sconce, 0.3 m (Blacksmith Forge and Armoury)\" 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/37606/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/37606/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37607","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c676fb6e","title":"Sand and flux bin, 0.8 m (Blacksmith Forge and Armoury)","summary":"Boarded oak bin with a lifting lid, divided inside for silver sand, borax flux and charcoal dust, with a scoop hanging on the end of it.","description":"Boarded oak bin with a lifting lid, divided inside for silver sand, borax flux and charcoal dust, with a scoop hanging on the end of it. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 0.92 by 0.65 by 0.50 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: open and close. No skinning. The bin, the divider and the scoop are modelled solid; only the lid lifts. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c676fb6e","cdnUrl":"https://cdn.3dassets.dev/assets/37607/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-c676fb6e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37607/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37607/v1/poster.webp","blurhash":"U69~?2}@0LEM%L$*i_NG01I:?HWU4.Vs-po}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"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":28988,"triangles":184,"vertices":407,"meshes":6,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.41999998688697815,-0.00001693004294611722,-0.2500234865660624],"max":[0.5034968852996826,0.649997851336341,0.250023496326323]},"sizeMeters":[0.923,0.65,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:16.289Z","updatedAt":"2026-09-12T05:41:16.449Z","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/37607/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 SandAndFluxBin08MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37607/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/37607/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37607/v1/model.glb\" alt=\"Sand and flux bin, 0.8 m (Blacksmith Forge and Armoury)\" 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/37607/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/37607/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37608","slug":"blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ad8ad697","title":"Hand cart of ironwork, 2.4 m (Blacksmith Forge and Armoury)","summary":"Two wheeled oak hand cart with iron shod spoked wheels and long drawing shafts, loaded with finished bar, cart hoops and a crate of hardware for delivery round the parish, the wheels turning on their axle.","description":"Two wheeled oak hand cart with iron shod spoked wheels and long drawing shafts, loaded with finished bar, cart hoops and a crate of hardware for delivery round the parish, the wheels turning on their axle. Free 3D model for medieval, crafting and village game scenes in Unity, Godot, Unreal, three.js and Blender. Overall 1.16 by 0.96 by 2.59 m (X by Y by Z). Metre units, +Y up, the working face toward +Z, resting on y=0 with the origin on the footprint. Rigid node-transform clips: wheel-roll. No skinning. The body, the shafts, the axle and the load are modelled solid; the two wheels roll. No maker's names, marks or readable writing anywhere: every stamp and mark is an abstract shape.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ad8ad697","cdnUrl":"https://cdn.3dassets.dev/assets/37608/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith-forge-and-armo-ad8ad697","thumbnailUrl":"https://cdn.3dassets.dev/assets/37608/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37608/v1/poster.webp","blurhash":"U46@D@IUIV-U}=EhIpxY0yF{WFX4ELwc-Vt5","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"exterior","title":"Exterior"}],"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":59152,"triangles":1068,"vertices":2331,"meshes":6,"materials":2,"textures":1,"animations":["wheel-roll"],"boundingBox":{"min":[-0.5811929807158939,1.3113021835042815e-8,-0.7149999737739563],"max":[0.5811929807158939,0.960004402169427,1.8784974813461304]},"sizeMeters":[1.162,0.96,2.593],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:17.460Z","updatedAt":"2026-09-12T05:41:17.560Z","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/37608/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 HandCartOfIronwork24MBlacksmithForgeAndArmoury(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37608/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/37608/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37608/v1/model.glb\" alt=\"Hand cart of ironwork, 2.4 m (Blacksmith Forge and Armoury)\" 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/37608/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/37608/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37609","slug":"blacksmith-forge-and-armoury-blacksmith--bb9e9c8a-starter-scene","title":"Village smithy, open fronted, with forge, anvil and armoury bench (Blacksmith Forge and Armoury)","summary":"A working blacksmith's shop 16 m by 12 m, open fronted on purpose so the whole floor can be seen and walked: timber framed walls on three sides, a shop front of a shutter counter and two open bays with the cart entrance left clear beside them, and no roof over the working...","description":"A working blacksmith's shop 16 m by 12 m, open fronted on purpose so the whole floor can be seen and walked: timber framed walls on three sides, a shop front of a shutter counter and two open bays with the cart entrance left clear beside them, and no roof over the working floor at all, only a lean-to over the fuel and stock corner. The stone hearth stands against the back wall under its hood and flue with the chimney behind it, the coals glowing and a bar heating in the fire, the great double bellows blowing into the tuyere at its side and the fire irons leaning within reach. The great anvil on its stump stands a pace off the fire between the slack tub and the stone quench trough, with the stake anvil, the hardy tools and the swage block round it. The bench run works down the left hand wall under the tool board, the file rack and the horseshoe rack, with the bench vice, the leg vice on its post, the hammer rack and the tong rack along it, and the treadle grindstone, the polishing wheel, the draw bench and the wire dies take the middle of the floor. The armourer works the right hand side at the dishing stump, the planishing stake, the riveting bench and the mail ring drum, with a helm and a breastplate up on their forms and the blade blanks, bar stock and finished goods racked behind. The shop front carries the selling counter under the dropped shutter, the ledger desk and the hanging scale, and the cobbled yard outside holds the hand carts, the water butts, the billet stacks and the charcoal behind a dwarf wall.","status":"published","url":"https://3dassets.dev/assets/blacksmith-forge-and-armoury-blacksmith--bb9e9c8a-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37609/v1/model.glb","downloadUrl":"https://3dassets.dev/download/blacksmith-forge-and-armoury-blacksmith--bb9e9c8a-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/37609/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37609/v1/poster.webp","blurhash":"U2Avzt#900.mE2IAVrtR00pH~W8_%K?w?wRO","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"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":1946700,"triangles":42072,"vertices":92754,"meshes":213,"materials":12,"textures":2,"animations":[],"boundingBox":{"min":[-8.209955128256365,-0.1299433905491078,-9.174885726306103],"max":[8.209955128256365,4.840000152587891,8.303509340881526]},"sizeMeters":[16.42,4.97,17.478],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:41:18.514Z","updatedAt":"2026-09-12T05:41:18.624Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37609/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageSmithyOpenFrontedWithForgeAnvilAndArmouryBenchBlacksmithForgeAndArmoury(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37609/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37609/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37609/v1/model.glb\" alt=\"Village smithy, open fronted, with forge, anvil and armoury bench (Blacksmith Forge and Armoury)\" 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/37609/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/37609/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"blacksmith-forge-and-armoury","title":"Blacksmith Forge and Armoury","url":"https://3dassets.dev/demos/blacksmith-forge-and-armoury"}}}