{"data":{"id":"142","slug":"medieval-monastery-and-scriptorium","title":"Medieval Monastery and Scriptorium","summary":"Walk a full claustral plan: four arcade alleys round a planted garth and well, a scriptorium of sloped desks, a refectory walk, a chapel end, and an outer court with kitchen, brewhouse and physic garden.","url":"https://3dassets.dev/demos/medieval-monastery-and-scriptorium","coverUrl":"https://cdn.3dassets.dev/media/medieval-monastery-and-scriptorium-demo.png","featured":true,"pack":{"slug":"medieval-monastery-and-scriptorium","title":"Medieval Monastery and Scriptorium","url":"https://3dassets.dev/packs/medieval-monastery-and-scriptorium","summary":"A medieval monastery from one kit: a 3 m cloister arcade with vaults and roofs, modular walls, floors and buttresses, chapter house, chapel, refectory, dormitory, kitchen, brewhouse, infirmary and a scriptorium of desks, presses and codices.","assetCount":60,"totalBytes":8101056,"starterScene":{"slug":"medieval-monastery-and-scriptorium-clois-3b7f713a-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37430/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-clois-3b7f713a-starter-scene","fileSize":4178164}},"placementCount":383,"assetCount":58,"spawn":{"position":[-4.9,0,-5.8],"yaw":100},"publishedAt":"2026-09-12T05:07:00.311Z","updatedAt":"2026-09-12T05:07:00.312Z","description":"## What is placed\n\nA walled monastic precinct just over 30 metres square, laid out as one place you can walk in a couple of minutes.\nThe cloister square sits at the centre: arcade bays and corners on all four sides, vaults and lean to roofs over the walks,\nand a garth of lawn, raised herb beds and a well at its heart.\n\nEach alley is given over to one part of the life of the house. The north walk is the scriptorium: a run of sloped writing\ndesks with stools, quill and inkhorn sets, pigment trays, a gold leaf cushion, a ruling board, a manuscript in progress and\na finished codex. The west walk holds the books: chests, a chained library desk, a reading lectern, a book press and a\nparchment stretching frame. The south walk is the refectory, with a long table, benches, a trestle and the reader stand.\nThe east walk runs to the dormitory and infirmary range, with cots, chests, a physic bench, mortars, a jar shelf and beds of\nplanting. The chapel end carries a screen, altar table, candle stands, a censer, a stone font, tomb slabs and a reliquary\ncasket, and the outer court holds the kitchen hearth, cooking cauldron, bread oven, brewhouse tun, wood stacks, a compost\nbay, water butts and a hand cart. A bell tower section with a hung bell and a stone stair vice close the north yard.\nWall torches, hanging oil lamps, rush light stands and candle stands light the walks.\n\nEvery written surface in the pack, the manuscript, the codex and the inscribed slabs alike, carries abstract marks rather\nthan readable words, and nothing in it names a place, a text or an institution.\n\n## What moves\n\nDoors swing on the door bays and the chapel screen opens. Chest, casket, oven, tun and desk lids lift, the physic bench\ndrawer pulls out, the book press screw turns, the lectern top tilts, the parchment frame tightens, the well drum winds,\nthe cooking cauldron swings on its crane, the bell rings in its frame and the hand cart wheels roll. Clips play as you\ncome within a few metres.\n\n## What does not move, and why\n\nCandle and torch flame, hearth fire, smoke, the censer chain, hanging cloth, the bell rope and the water in the well and\nbutts are all static. Flexible material, fire and fluid need a joint per element or a shader to read at all, and none of\nthat is reachable with the single rigid node transform every model here uses. There are no people either: the pack has no\nskinned meshes, so the desks, cots and benches are shown as they are left.\n\n## Download\n\nThe demo streams one copy of each distinct model and clones it for every placement, so a dense scene like this one is a\nlarger first load than a single asset page. Every model is CC0 and free to take on its own.","scene":{"version":1,"spawn":{"position":[-4.9,0,-5.8],"yaw":100},"bounds":{"min":[-15.6,0,-15.6],"max":[15.6,10,15.6]},"ground":{"style":"none"},"environment":{"preset":"outdoor","light":"day","shadows":true},"placements":[{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-4.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-1.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[1.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[4.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-7.5,0,-4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-7.5,0,-1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-7.5,0,1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-7.5,0,4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-4.5,0,7.5],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[-1.5,0,7.5],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[1.5,0,7.5],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[4.5,0,7.5],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[7.5,0,-4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[7.5,0,-1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[7.5,0,1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","position":[7.5,0,4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","position":[-7.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","position":[-7.5,0,7.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","position":[7.5,0,7.5],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","position":[7.5,0,-7.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-4.5,2.86,-7.425],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-4.5,2.95,-6.08],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-1.5,2.86,-7.425],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-1.5,2.95,-6.08],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[1.5,2.86,-7.425],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[1.5,2.95,-6.08],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[4.5,2.86,-7.425],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[4.5,2.95,-6.08],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-7.425,2.86,-4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-6.08,2.95,-4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-7.425,2.86,-1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-6.08,2.95,-1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-7.425,2.86,1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-6.08,2.95,1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-7.425,2.86,4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-6.08,2.95,4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-4.5,2.86,7.425],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-4.5,2.95,6.08],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[-1.5,2.86,7.425],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[-1.4999999999999998,2.95,6.08],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[1.5,2.86,7.425],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[1.5000000000000002,2.95,6.08],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[4.5,2.86,7.425],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[4.5,2.95,6.08],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[7.425,2.86,-4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[6.08,2.95,-4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[7.425,2.86,-1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[6.08,2.95,-1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[7.425,2.86,1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[6.08,2.95,1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","position":[7.425,2.86,4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","position":[6.08,2.95,4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-1.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","position":[-1.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","position":[-1.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-1.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[1.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","position":[1.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","position":[1.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[1.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cloister-well-2c65188e","position":[0,0.12,0],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[-1.6,0.12,-2.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[1.6,0.12,2.3],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[2.6,0.12,-1.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[-4.6,0.135,-4.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[-4.6,0.135,-3.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[-2.3,0.135,-4.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[-2.3,0.135,-3.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[0,0.135,-4.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[0,0.135,-3.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[2.3,0.135,-4.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[2.3,0.135,-3.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[4.6,0.135,-4.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[4.6,0.135,-3.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-3.45,0.135,-4.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-1.15,0.135,-4.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[1.15,0.135,-4.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[3.45,0.135,-4.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-reading-lectern-64681c85","position":[-5.4,0.135,-3.4],"rotation":20},{"asset":"medieval-monastery-and-scriptorium-parchment-stretchin-58eced40","position":[5.1,0.135,-4.9],"rotation":-14},{"asset":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","position":[4.3,0.135,-1.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-manuscript-in-progr-c44a61fc","position":[4.3,0.895,-2.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-pigment-tray-f052d431","position":[4.3,0.895,-1.7],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-gold-leaf-cushion-f6ef80ee","position":[4.3,0.895,-1.1],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","position":[3.95,0.895,-2.25],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-ruling-board-26f9c6ad","position":[3.95,0.895,-1.45],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611","position":[-4.3,0.135,-0.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611","position":[-4.3,0.135,3.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-3.55,0.135,-1.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-5.05,0.135,-1.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-3.55,0.135,0.7],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-5.05,0.135,0.7],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-3.55,0.135,2.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-5.05,0.135,2.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-3.55,0.135,4.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-5.05,0.135,4.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-finished-codex-a925891c","position":[-4.3,0.915,-1.9],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[-2.4,0.135,5.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[4.9,0.135,4.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[-7.15,0.14,-5.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[-7.15,0.14,-2.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[-7.15,0.14,2.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[-7.15,0.14,5.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-chained-library-des-6097a09c","position":[-7.2,0.14,0],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-book-press-1b1725a3","position":[7.2,0.14,-3.4],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[7.15,0.14,0.6],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[7.15,0.14,3.4],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[-3.4,0.14,7.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[0,0.14,7.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[3.4,0.14,7.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[-3,2,-7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[3,2,-7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[-7.3,2,-3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[-7.3,2,3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-7.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-7.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-1.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-1.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[1.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[1.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[7.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[7.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,-10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,-13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,-7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,-4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,-1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,1.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,4.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,7.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-13.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-10.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-7.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-7.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-4.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-1.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[-1.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[1.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[1.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[4.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[7.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[7.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[10.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,10.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","position":[13.5,0,13.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-13.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-10.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","position":[-7.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-4.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[4.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[7.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","position":[10.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[13.5,0.135,14.8],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[4.5,0.135,14.125],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[13.5,0.135,14.125],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-6,1.5,14.55],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[6,1.5,14.55],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-chapter-house-bay-6a4c98ec","position":[-13.5,0,13],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-chapter-house-bay-6a4c98ec","position":[-10.5,0,13],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-bread-oven-2dd79126","position":[-7.2,0.135,10.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-kitchen-hearth-9a24bd52","position":[-11.6,0.135,10.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-cooking-cauldron-93a989a1","position":[-4.6,0.135,10.2],"rotation":-40},{"asset":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","position":[-2.4,0.135,10],"rotation":6},{"asset":"medieval-monastery-and-scriptorium-hand-cart-2975d4b6","position":[-4,0.135,12.9],"rotation":200},{"asset":"medieval-monastery-and-scriptorium-brewhouse-tun-ec4de169","position":[-1.4,0.135,13.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","position":[-7,0.135,13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rain-water-butt-59a4740e","position":[-14.4,0.135,10],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-stone-drain-27be51d9","position":[-0.2,0.135,9.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[1.5,0.135,10.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[1.5,0.135,13.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[0.825,0.135,12],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[1.75,1.5,12],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-chapel-screen-905ea0f3","position":[8,0.135,11.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-altar-table-87471733","position":[8,0.135,13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-reliquary-casket-d5b7b155","position":[8.7,1.15,13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[6.1,0.135,14],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[9.9,0.135,14],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-censer-01ebee75","position":[10.8,0.135,12.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-stone-font-53ab7e73","position":[4.2,0.135,10],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[4.6,0.135,13.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[12,0.135,10.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[12,0.135,13],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[6.6,0.135,9.9],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[9.4,0.135,9.9],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[14.2,0.135,11.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[11.1,0.135,9.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[14.2,0.135,9.6],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[10,0.135,12.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-10.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-7.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-4.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","position":[-1.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[1.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[4.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","position":[7.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[10.5,0.135,-14.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[-7.5,0.135,-14.125],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[0,0.135,-14.125],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[7.5,0.135,-14.125],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-9,1.5,-14.55],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[5,1.5,-14.55],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-bell-tower-section-48ca871a","position":[-4.5,0.135,-11.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-stone-stair-vice-4cd4e8bd","position":[-1.35,0.135,-12.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hung-bell-29b39992","position":[2.6,0.135,-11.2],"rotation":24},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-14.8,0.135,-7.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","position":[-14.8,0.135,-4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-14.8,0.135,-1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","position":[-14.8,0.135,1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-14.8,0.135,4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[-14.8,0.135,7.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[-14.125,0.135,-6],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[-14.125,0.135,6],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-14.55,1.5,-1.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-14.55,1.5,4.5],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[-11.6,0.135,-6.6],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[-11.6,0.135,-4.2],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[-11.6,0.135,-1.8],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[-11.4,0.135,1.6],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[-11.4,0.135,4.2],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[-13,0.135,1.6],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-compost-bay-c2835e90","position":[-12.8,0.135,7],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","position":[-10.6,0.135,7.2],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-stone-drain-27be51d9","position":[-13.4,0.135,-8.1],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[14.8,0.135,-7.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","position":[14.8,0.135,-4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[14.8,0.135,-1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[14.8,0.135,1.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","position":[14.8,0.135,4.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","position":[14.8,0.135,7.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[14.125,0.135,-6],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","position":[14.125,0.135,6],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[14.55,1.5,-2.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[14.55,1.5,2.5],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-infirmary-cot-5165b3f6","position":[12.3,0.135,-5.6],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-dormitory-cot-90975dd3","position":[10.3,0.135,-5.6],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[9.4,0.135,-5.6],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-infirmary-cot-5165b3f6","position":[12.3,0.135,-3],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-dormitory-cot-90975dd3","position":[10.3,0.135,-3],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[9.4,0.135,-3],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-infirmary-cot-5165b3f6","position":[12.3,0.135,-0.4],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-dormitory-cot-90975dd3","position":[10.3,0.135,-0.4],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[9.4,0.135,-0.4],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-physic-bench-8bdacba8","position":[12.6,0.135,3.2],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-mortar-and-pestle-s-99e44b7c","position":[12.6,1.0150000000000001,2.95],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-apothecary-jar-shel-cf7c7d3a","position":[14.4,0.135,4.3],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[10.6,0.135,4.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[10.6,0.135,6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-readers-pulpit-2d9f662e","position":[13.4,0.135,-7.4],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","position":[10.9,0.135,-7.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[14.2,0.135,-4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[14.2,0.135,-1],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[11.4,0.135,-8.1],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[11.2,0.135,-6.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rain-water-butt-59a4740e","position":[13.6,0.135,7.6],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-compost-bay-c2835e90","position":[10.4,0.135,8.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","position":[14,0.135,1],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[9.6,0.135,1.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[-4.8,0.14,-7.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[-4.8,0.14,-6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[-1.8,0.14,-7.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[-1.8,0.14,-6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[1.8,0.14,-7.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[1.8,0.14,-6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","position":[4.8,0.14,-7.35],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","position":[4.8,0.14,-6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-gold-leaf-cushion-f6ef80ee","position":[5.5,0.86,-7.28],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-finished-codex-a925891c","position":[2.6,0.86,-7.28],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[-6.6,0.14,-7.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[6.6,0.14,-7.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-3.2,0.14,-6.9],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[0.2,0.14,-6.9],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[3.3,0.14,-6.9],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[-6.3,0.14,-6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[6.3,0.14,-6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-reading-lectern-64681c85","position":[-7.2,0.14,-4.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-6.7,0.14,-1.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-6.7,0.14,1.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611","position":[0,0.14,7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-1.1,0.14,6.65],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[1.1,0.14,6.65],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-1.1,0.14,7.95],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[1.1,0.14,7.95],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","position":[-4.6,0.14,7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-4.6,0.14,6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[4.9,0.14,7.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-2.6,0.14,6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[2.9,0.14,6.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[7.25,0.14,-6.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[7.25,0.14,6.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[7.2,0.14,2],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[6.7,0.14,-1.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[6.7,0.14,1.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[6.9,0.14,4.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[2.1,0.14,5.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[4.7,0.14,1.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-apothecary-jar-shel-cf7c7d3a","position":[14.4,0.14,6.4],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-mortar-and-pestle-s-99e44b7c","position":[11.9,0.75,7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[11,0.14,-2.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","position":[-9.6,0.14,12.9],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-9.6,0.14,12],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[-9.6,0.14,13.8],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","position":[-13.4,0.14,12.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[6.4,0.14,13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[9.6,0.14,13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","position":[4,0.14,12.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[11.6,0.14,10.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-book-chest-3d28010f","position":[11.4,0.14,13.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","position":[-11.4,0.14,-13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","position":[-8.2,0.14,-13.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hand-cart-2975d4b6","position":[6.2,0.14,-12.6],"rotation":20},{"asset":"medieval-monastery-and-scriptorium-rain-water-butt-59a4740e","position":[-13.7,0.14,-11.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-compost-bay-c2835e90","position":[10.6,0.14,-13.2],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","position":[9,0.14,-10.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","position":[9,0.14,-11.5],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","position":[12.6,0.14,-12.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","position":[1,0.14,-13],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","position":[-6.6,0.14,-10.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[-12.6,0.14,-9.6],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","position":[-12.6,0.14,-7.4],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[-3,2,7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[3,2,7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[7.3,2,-3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","position":[7.3,2,3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-3,1.5,-7.75],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[3,1.5,-7.75],"rotation":180},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-7.75,1.5,-3],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-7.75,1.5,3],"rotation":-90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[7.75,1.5,-3],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[7.75,1.5,3],"rotation":90},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[-3,1.5,7.75],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","position":[3,1.5,7.75],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","position":[-5.08,0.84,-7.46],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","position":[-2.08,0.84,-7.46],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","position":[1.52,0.84,-7.46],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","position":[4.52,0.84,-7.46],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-pigment-tray-f052d431","position":[-4.35,0.84,-7.46],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-pigment-tray-f052d431","position":[2.25,0.84,-7.46],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-manuscript-in-progr-c44a61fc","position":[-1.6,0.8,-7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-manuscript-in-progr-c44a61fc","position":[5,0.8,-7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-ruling-board-26f9c6ad","position":[-4.3,0.8,-7.3],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-gold-leaf-cushion-f6ef80ee","position":[5.35,0.84,-7.44],"rotation":0},{"asset":"medieval-monastery-and-scriptorium-finished-codex-a925891c","position":[2.6,0.8,-7.3],"rotation":0}],"points":[{"position":[-1.8,0,-6.2],"title":"The scriptorium alley","text":"Sloped desks run the length of the north walk, sheltered by the arcade and open to the daylight off the garth. Quills, inkhorns, pigment trays and a ruling board sit where a scribe left them. Every written surface carries abstract marks.","asset":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130"},{"position":[0,0,2.4],"title":"The garth and the well","text":"The open square at the heart of the plan: lawn, raised herb beds and a well with a winding drum that turns. Walk out from any of the four alleys and the arcade frames the sky on every side.","asset":"medieval-monastery-and-scriptorium-cloister-well-2c65188e"},{"position":[-6.2,0,1],"title":"The book walk","text":"Chests, a chained desk, a lectern with a top that tilts and a press whose screw turns. The parchment frame beside them stretches a skin flat for ruling.","asset":"medieval-monastery-and-scriptorium-chained-library-des-6097a09c"},{"position":[0,0,6.2],"title":"The refectory walk","text":"A long table with benches under the south arcade and a reader stand at the end of the range. The trestle beside it is where the day bread is cut.","asset":"medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611"},{"position":[8,0,10],"title":"The chapel end","text":"A pierced screen that swings open onto an altar table, candle stands, a censer, a stone font and a tomb slab set into the floor. A reliquary casket with a lifting lid stands on the table.","asset":"medieval-monastery-and-scriptorium-chapel-screen-905ea0f3"},{"position":[-8,0,11.4],"title":"The outer court kitchen","text":"Hearth, cauldron on a swinging crane, a bread oven with a door that opens and a brewhouse tun. Wood stacks, a compost bay, a water butt and a hand cart with wheels that roll fill the yard behind.","asset":"medieval-monastery-and-scriptorium-bread-oven-2dd79126"},{"position":[12,0,5.6],"title":"Physic bench and herb beds","text":"The infirmary side of the court: a bench with a drawer, mortars, a jar shelf and raised beds of planting. The cots and chests sit along the range wall behind it.","asset":"medieval-monastery-and-scriptorium-physic-bench-8bdacba8"}],"poster":{"position":[-4.8,1.7,-4.8],"lookAt":[2.9,0.73,-2.88]}},"bounds":{"min":[-15.6,0,-15.6],"max":[15.6,10,15.6]},"assets":[{"id":"37371","slug":"medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","title":"Cloister Arcade Bay (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval cloister arcade bay for a monastery game asset kit: twin shafts, two pointed arches and a range wall, on a 3 m module.","description":"Free 3D model of a medieval cloister arcade bay for a monastery game asset kit: twin shafts, two pointed arches and a range wall, on a 3 m module. Dimensions 3.25 by 4.10 by 3.06 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (walk) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (walk) at (1.50, 0.00, 0.00) facing (1, 0, 0); vault (vault) at (0.00, 2.86, 0.07) facing (0, 1, 0); roof (roof) at (0.00, 2.95, 1.42) facing (0, 1, 0). Walk module. The open colonnade faces +Z onto the garth and the range wall closes the bay at -Z with a stone bench along its foot. Butt bays end to end on a 3 m grid, turn the walk with the corner piece, and seat the vault section and the lean-to roof on the ports above. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","cdnUrl":"https://cdn.3dassets.dev/assets/37371/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cloister-arcade-bay-2b403d58","thumbnailUrl":"https://cdn.3dassets.dev/assets/37371/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37371/v1/poster.webp","blurhash":"U8G[.uIV00~p%14oE1_200M|xuM{xut7f5s:","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":125204,"triangles":4908,"vertices":5858,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.6249742629728723,0.00003828642427761153,-1.5500024324284993],"max":[1.6249742629728723,4.099999904632568,1.5150024658071004]},"sizeMeters":[3.25,4.1,3.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:49.540Z","updatedAt":"2026-09-12T04:53:49.685Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37371/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CloisterArcadeBayMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37371/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37371/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37371/v1/model.glb\" alt=\"Cloister Arcade Bay (Medieval Monastery and Scriptorium)\" 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/37371/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/37371/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37374","slug":"medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","title":"Cloister Arcade Corner (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval cloister corner: two ashlar range walls stopping at a quoin and an angle pier carrying both arcades, for a monastery kit.","description":"Free 3D model of a medieval cloister corner: two ashlar range walls stopping at a quoin and an angle pier carrying both arcades, for a monastery kit. Dimensions 3.14 by 4.10 by 3.14 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: a (walk) at (1.50, 0.00, 0.00) facing (1, 0, 0); b (walk) at (0.00, 0.00, 1.50) facing (0, 0, 1). Walk module, 3.0 m square. Joins an arcade bay on its +X edge and another on its +Z edge, so four corners and sixteen bays close a cloister round a 12 m garth. The two range walls stop at each other’s inner face with the quoin in the square, so no two faces share a plane. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","cdnUrl":"https://cdn.3dassets.dev/assets/37374/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cloister-arcade-cor-5db10075","thumbnailUrl":"https://cdn.3dassets.dev/assets/37374/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37374/v1/poster.webp","blurhash":"U9HLezof00%M~pRQD*xu00t7xtE1%MoMM{R*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":77488,"triangles":2076,"vertices":3936,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.5600655266797554,0.00005157657903766266,-1.5600655266797554],"max":[1.5800656268155586,4.099999904632568,1.5800656268155586]},"sizeMeters":[3.14,4.1,3.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:49.668Z","updatedAt":"2026-09-12T04:53:49.796Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37374/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CloisterArcadeCornerMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37374/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37374/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37374/v1/model.glb\" alt=\"Cloister Arcade Corner (Medieval Monastery and Scriptorium)\" 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/37374/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/37374/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37372","slug":"medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","title":"Cloister Vault Section (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a segmental stone vault section for a medieval cloister walk: 3 m bay, 2.35 m span, transverse ribs and a ridge rib.","description":"Free 3D model of a segmental stone vault section for a medieval cloister walk: 3 m bay, 2.35 m span, transverse ribs and a ridge rib. Dimensions 3.00 by 0.76 by 2.76 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: seat (vault) at (0.00, 0.00, 0.00) facing (0, -1, 0). Roof module, origin on the springing line at the centre of the walk. Seat it on an arcade bay’s vault port; the crown stands 0.50 m above the springing so it passes under the lean-to roof slope. A walk left unvaulted simply has no section placed over it. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","cdnUrl":"https://cdn.3dassets.dev/assets/37372/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cloister-vault-sect-d631d104","thumbnailUrl":"https://cdn.3dassets.dev/assets/37372/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37372/v1/poster.webp","blurhash":"UAD]h;~q004ot7t7oef6009F_2xuM{M{j[Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":65908,"triangles":3252,"vertices":2824,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,-0.00007754180648705811,-1.380794701986755],"max":[1.5,0.761389788129119,1.380794701986755]},"sizeMeters":[3,0.761,2.762],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:49.543Z","updatedAt":"2026-09-12T04:53:49.651Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37372/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CloisterVaultSectionMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37372/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37372/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37372/v1/model.glb\" alt=\"Cloister Vault Section (Medieval Monastery and Scriptorium)\" 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/37372/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/37372/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37373","slug":"medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","title":"Cloister Lean To Roof (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a lean-to stone slate roof slope with lead rolls, for a 3 m medieval cloister walk bay: eave board and a 22 degree pitch.","description":"Free 3D model of a lean-to stone slate roof slope with lead rolls, for a 3 m medieval cloister walk bay: eave board and a 22 degree pitch. Dimensions 3.00 by 1.14 by 2.87 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: eave (roof) at (0.00, 0.00, 0.00) facing (0, -1, 0). Roof module, origin at the front foot of the eave. Seat it on an arcade bay’s roof port; the slope climbs back to the head of the range wall. Leaving a walk unroofed is what keeps its furniture in view from above. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","cdnUrl":"https://cdn.3dassets.dev/assets/37373/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cloister-lean-to-ro-ecf454f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37373/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37373/v1/poster.webp","blurhash":"U5C?o+?u00j[_2DiD%xu009F~qM{9F~qt7M{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17104,"triangles":756,"vertices":659,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.5011999607086182,-0.00007817153982758729,-2.7651970534590733],"max":[1.5,1.1361427414817076,0.09995980551400119]},"sizeMeters":[3.001,1.136,2.865],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:49.560Z","updatedAt":"2026-09-12T04:53:49.702Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37373/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CloisterLeanToRoofMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37373/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37373/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37373/v1/model.glb\" alt=\"Cloister Lean To Roof (Medieval Monastery and Scriptorium)\" 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/37373/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/37373/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37377","slug":"medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","title":"Flagstone Floor Slab (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a 3 m flagstone paving slab module for a medieval monastery yard or range floor: sixteen laid flags on a bedding course.","description":"Free 3D model of a 3 m flagstone paving slab module for a medieval monastery yard or range floor: sixteen laid flags on a bedding course. Dimensions 3.00 by 0.13 by 3.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: west (ground) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); east (ground) at (1.50, 0.00, 0.00) facing (1, 0, 0); north (ground) at (0.00, 0.00, -1.50) facing (0, 0, -1); south (ground) at (0.00, 0.00, 1.50) facing (0, 0, 1). Ground module. Tiles butt on a 3 m grid on all four edges and pave a yard, a range floor or an approach. The flags stand 0.135 m proud of grade, so a yard laid from them meets the cloister walk level. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","cdnUrl":"https://cdn.3dassets.dev/assets/37377/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-flagstone-floor-sla-cc9464c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37377/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37377/v1/poster.webp","blurhash":"U5CZY2?a00RixvfPj=of00D*~qRkD%j]M}M{","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10836,"triangles":204,"vertices":476,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,0.00001068222337465008,-1.5],"max":[1.5,0.12558415031010722,1.5]},"sizeMeters":[3,0.126,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:51.307Z","updatedAt":"2026-09-12T04:53:51.444Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37377/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlagstoneFloorSlabMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37377/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37377/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37377/v1/model.glb\" alt=\"Flagstone Floor Slab (Medieval Monastery and Scriptorium)\" 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/37377/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/37377/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37375","slug":"medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","title":"Cloister Garth Lawn (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a 3 m cloister garth lawn tile for a medieval monastery kit: mown turf with tufts, flush with the walk paving.","description":"Free 3D model of a 3 m cloister garth lawn tile for a medieval monastery kit: mown turf with tufts, flush with the walk paving. Dimensions 3.00 by 0.17 by 3.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: west (ground) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); east (ground) at (1.50, 0.00, 0.00) facing (1, 0, 0); north (ground) at (0.00, 0.00, -1.50) facing (0, 0, -1); south (ground) at (0.00, 0.00, 1.50) facing (0, 0, 1). Ground module. Tiles butt on a 3 m grid on all four edges, so a 4 by 4 block fills the 12 m garth inside a sixteen bay cloister. The turf stands 0.12 m proud of grade, level with the walk paving. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","cdnUrl":"https://cdn.3dassets.dev/assets/37375/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cloister-garth-lawn-5f9d4114","thumbnailUrl":"https://cdn.3dassets.dev/assets/37375/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37375/v1/poster.webp","blurhash":"U69*Pb-:00aKxuWBWEs;00IV?@WWD*xZoIRi","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14956,"triangles":324,"vertices":740,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,-0.000027086667276063348,-1.5],"max":[1.5,0.17502708368704384,1.5]},"sizeMeters":[3,0.175,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:51.197Z","updatedAt":"2026-09-12T04:53:51.351Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37375/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CloisterGarthLawnMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37375/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37375/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37375/v1/model.glb\" alt=\"Cloister Garth Lawn (Medieval Monastery and Scriptorium)\" 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/37375/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/37375/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37386","slug":"medieval-monastery-and-scriptorium-cloister-well-2c65188e","title":"Cloister Well (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval cloister well with an ashlar kerb, an oak frame and a turning windlass, for a monastery garth: 2.0 m wide, 2.7 m tall.","description":"Free 3D model of a medieval cloister well with an ashlar kerb, an oak frame and a turning windlass, for a monastery garth: 2.0 m wide, 2.7 m tall. Dimensions 2.60 by 2.71 by 1.96 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: windlass at (0.00, 2.36, 0.00) m. Stands in the middle of a garth or a service yard. The windlass drum turns on its own axis; the bucket stands on the kerb rather than hanging, and no rope or water is modelled, because a rope and a water surface both need something a rigid node transform cannot carry. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: wind. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cloister-well-2c65188e","cdnUrl":"https://cdn.3dassets.dev/assets/37386/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cloister-well-2c65188e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37386/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37386/v1/poster.webp","blurhash":"UCC6lZ_2004o4TRP-;tR9FRjxuWD_NxuIAM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38832,"triangles":1592,"vertices":1430,"meshes":7,"materials":5,"textures":0,"animations":["wind"],"boundingBox":{"min":[-1.1000314435512069,-0.000014945874227401124,-0.9800000190734863],"max":[1.496000051498413,2.7100000381469727,0.9800000190734863]},"sizeMeters":[2.596,2.71,1.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:56.356Z","updatedAt":"2026-09-12T04:53:56.475Z","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/37386/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 CloisterWellMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37386/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/37386/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37386/v1/model.glb\" alt=\"Cloister Well (Medieval Monastery and Scriptorium)\" 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/37386/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/37386/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37421","slug":"medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","title":"Herb Garden Bed (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a raised medieval herb bed: a boarded oak frame on corner posts with eighteen clumps of herbs in three rows and blank name tallies, 2.2 by 1.2 m.","description":"Free 3D model of a raised medieval herb bed: a boarded oak frame on corner posts with eighteen clumps of herbs in three rows and blank name tallies, 2.2 by 1.2 m. Dimensions 2.22 by 0.61 by 1.22 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Beds butt end to end and side to side to make a physic garden of any size. The tallies are blank boards, not written labels. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","cdnUrl":"https://cdn.3dassets.dev/assets/37421/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-herb-garden-bed-0783c0e9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37421/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37421/v1/poster.webp","blurhash":"U4A,gx?Z00oyK#%ewcMz00E3?@R6u,DlTJb]","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":96092,"triangles":2948,"vertices":4722,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.1100000143051147,0.00005279823027615205,-0.6099630804644276],"max":[1.1100000143051147,0.6092489846524828,0.6099630804644276]},"sizeMeters":[2.22,0.609,1.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:14.167Z","updatedAt":"2026-09-12T04:54:14.273Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37421/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HerbGardenBedMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37421/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37421/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37421/v1/model.glb\" alt=\"Herb Garden Bed (Medieval Monastery and Scriptorium)\" 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/37421/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/37421/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37389","slug":"medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","title":"Sloped Writing Desk (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval scriptorium writing desk with a hinged sloping lid, an ink well and a pounce pot, and a shelf of books beneath: 1.0 m wide.","description":"Free 3D model of a medieval scriptorium writing desk with a hinged sloping lid, an ink well and a pounce pot, and a shelf of books beneath: 1.0 m wide. Dimensions 1.02 by 0.98 by 0.76 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: desk-lid at (0.00, 0.85, -0.11) m. The sloping lid is hinged along its top rail and lifts to the store beneath; the ink well, the pounce pot and the book shelf are fixed. The sheet on the slope carries abstract ruled marks rather than letters in any script, so nothing here is a real text. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","cdnUrl":"https://cdn.3dassets.dev/assets/37389/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-sloped-writing-desk-fe4a1130","thumbnailUrl":"https://cdn.3dassets.dev/assets/37389/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37389/v1/poster.webp","blurhash":"U2Bo?M~U00v|xc%2NGE20058~W-:E2?G?D9H","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":250140,"triangles":7912,"vertices":12245,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5099999904632568,-0.000007001975353471135,-0.37999022697134166],"max":[0.5099999904632568,0.9831212581138032,0.37999022697134166]},"sizeMeters":[1.02,0.983,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:57.612Z","updatedAt":"2026-09-12T04:53:57.750Z","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/37389/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 SlopedWritingDeskMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37389/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/37389/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37389/v1/model.glb\" alt=\"Sloped Writing Desk (Medieval Monastery and Scriptorium)\" 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/37389/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/37389/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37388","slug":"medieval-monastery-and-scriptorium-scribes-stool-92b1909e","title":"Scribes Stool (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval three legged turned stool for a scriptorium or refectory: raked turned legs, stretcher rails and a dished elm seat, 0.61 m tall.","description":"Free 3D model of a medieval three legged turned stool for a scriptorium or refectory: raked turned legs, stretcher rails and a dished elm seat, 0.61 m tall. Dimensions 0.44 by 0.63 by 0.45 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Three legs rather than four, which is what a stool on an uneven flagstone floor had. The seat is dished and the legs rake out on a turned profile. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-scribes-stool-92b1909e","cdnUrl":"https://cdn.3dassets.dev/assets/37388/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-scribes-stool-92b1909e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37388/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37388/v1/poster.webp","blurhash":"U69j7MxW01I=~At757NGE3xan$Ip%Mn%M|af","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":18712,"triangles":772,"vertices":802,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.20841623430315995,0,-0.20000174693520187],"max":[0.23455115740363144,0.632559597492218,0.2524635945981276]},"sizeMeters":[0.443,0.633,0.452],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:57.590Z","updatedAt":"2026-09-12T04:53:57.741Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37388/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScribesStoolMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37388/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37388/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37388/v1/model.glb\" alt=\"Scribes Stool (Medieval Monastery and Scriptorium)\" 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/37388/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/37388/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37401","slug":"medieval-monastery-and-scriptorium-rush-light-stand-332242a2","title":"Rush Light Stand (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval rush light stand: a turned oak pillar on a dished base with an iron rush holder and a counterweight, 1.15 m tall.","description":"Free 3D model of a medieval rush light stand: a turned oak pillar on a dished base with an iron rush holder and a counterweight, 1.15 m tall. Dimensions 0.35 by 1.36 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A rush light, not a candle: a peeled rush soaked in fat and gripped at an angle in the iron nip, which is how a poor house lit a night office. Static geometry. No flame is modelled, because a flame is a shader rather than a mesh. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-rush-light-stand-332242a2","cdnUrl":"https://cdn.3dassets.dev/assets/37401/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-rush-light-stand-332242a2","thumbnailUrl":"https://cdn.3dassets.dev/assets/37401/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37401/v1/poster.webp","blurhash":"U16HZIV@00tlAMD%-2~q_3WC9Fxa0JWB~Doz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":17656,"triangles":716,"vertices":656,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.16571091973290808,0,-0.16998106934828022],"max":[0.1820797622203827,1.3600000143051147,0.16998106934828022]},"sizeMeters":[0.348,1.36,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:05.015Z","updatedAt":"2026-09-12T04:54:05.152Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37401/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RushLightStandMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37401/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37401/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37401/v1/model.glb\" alt=\"Rush Light Stand (Medieval Monastery and Scriptorium)\" 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/37401/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/37401/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37396","slug":"medieval-monastery-and-scriptorium-reading-lectern-64681c85","title":"Reading Lectern (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval reading lectern on a turned pillar and three feet, with a book ledge and a codex on the desk: 1.28 m tall.","description":"Free 3D model of a medieval reading lectern on a turned pillar and three feet, with a book ledge and a codex on the desk: 1.28 m tall. Dimensions 0.65 by 1.35 by 0.59 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lectern-top at (0.00, 1.21, 0.00) m. The desk top and the book on it tilt together about the head of the pillar, which is how a lectern is set for a reader; the pillar and the feet are fixed. The book’s covers carry no title. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-reading-lectern-64681c85","cdnUrl":"https://cdn.3dassets.dev/assets/37396/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-reading-lectern-64681c85","thumbnailUrl":"https://cdn.3dassets.dev/assets/37396/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37396/v1/poster.webp","blurhash":"U3843qxs00IX~os:4pS2?Gn$E2S~,:NGEg%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":44864,"triangles":2008,"vertices":1790,"meshes":4,"materials":3,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.3359727919903004,0,-0.23897791346384734],"max":[0.3162213326301777,1.3456058378257056,0.35372180184199065]},"sizeMeters":[0.652,1.346,0.593],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:01.621Z","updatedAt":"2026-09-12T04:54:01.759Z","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/37396/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 ReadingLecternMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37396/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/37396/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37396/v1/model.glb\" alt=\"Reading Lectern (Medieval Monastery and Scriptorium)\" 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/37396/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/37396/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37399","slug":"medieval-monastery-and-scriptorium-parchment-stretchin-58eced40","title":"Parchment Stretching Frame (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval parchment stretching frame: an oak herse with a pegged skin, twelve pippin cords and six turning tension pegs, 1.4 m wide.","description":"Free 3D model of a medieval parchment stretching frame: an oak herse with a pegged skin, twelve pippin cords and six turning tension pegs, 1.4 m wide. Dimensions 1.40 by 1.70 by 0.95 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: peg-left-0 at (-0.65, 0.51, 0.05) m; peg-left-1 at (-0.65, 0.85, 0.05) m; peg-left-2 at (-0.65, 1.19, 0.05) m; peg-right-0 at (0.65, 0.51, 0.05) m; peg-right-1 at (0.65, 0.85, 0.05) m; peg-right-2 at (0.65, 1.19, 0.05) m. The six pegs turn on their own axes to take up the cords, which is how a skin is tightened as it dries. The skin itself does not deform: cloth and hide are flexible surfaces that need a joint per element or a shader, neither of which a rigid node transform can carry. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: tighten. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-parchment-stretchin-58eced40","cdnUrl":"https://cdn.3dassets.dev/assets/37399/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-parchment-stretchin-58eced40","thumbnailUrl":"https://cdn.3dassets.dev/assets/37399/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37399/v1/poster.webp","blurhash":"U8BW9?-o00E1?HxtIoIV00Rk~qoy01V^?bX8","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":51136,"triangles":3192,"vertices":2736,"meshes":9,"materials":3,"textures":0,"animations":["tighten"],"boundingBox":{"min":[-0.7011818897685632,0,-0.46199911372591085],"max":[0.7011818897685632,1.7000000476837158,0.4852916569454038]},"sizeMeters":[1.402,1.7,0.947],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:03.333Z","updatedAt":"2026-09-12T04:54:03.463Z","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/37399/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 ParchmentStretchingFrameMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37399/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/37399/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37399/v1/model.glb\" alt=\"Parchment Stretching Frame (Medieval Monastery and Scriptorium)\" 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/37399/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/37399/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37419","slug":"medieval-monastery-and-scriptorium-trestle-table-2a0801e0","title":"Trestle Table (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval kitchen trestle table: a three board pine top on two pegged trestles, with a chopping board, a bowl and a knife, 1.9 m long.","description":"Free 3D model of a medieval kitchen trestle table: a three board pine top on two pegged trestles, with a chopping board, a bowl and a knife, 1.9 m long. Dimensions 1.90 by 0.86 by 0.82 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A working table rather than a dining one: the top simply lifts off its trestles in life, and here it is modelled as one static piece. No moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-trestle-table-2a0801e0","cdnUrl":"https://cdn.3dassets.dev/assets/37419/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-trestle-table-2a0801e0","thumbnailUrl":"https://cdn.3dassets.dev/assets/37419/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37419/v1/poster.webp","blurhash":"UBDc5P%f01aj~p?afi9a00%1%LRj0KIojbxt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":36696,"triangles":1692,"vertices":1475,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.00002624913829540887,-0.40998412523044964],"max":[0.949999988079071,0.861923853985534,0.40998412523044964]},"sizeMeters":[1.9,0.862,0.82],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:12.654Z","updatedAt":"2026-09-12T04:54:12.750Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37419/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TrestleTableMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37419/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37419/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37419/v1/model.glb\" alt=\"Trestle Table (Medieval Monastery and Scriptorium)\" 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/37419/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/37419/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37394","slug":"medieval-monastery-and-scriptorium-manuscript-in-progr-c44a61fc","title":"Manuscript In Progress (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval manuscript in progress: an open bifolium on a board, one leaf written and one ruled and started, with a worked initial and lead weights.","description":"Free 3D model of a medieval manuscript in progress: an open bifolium on a board, one leaf written and one ruled and started, with a worked initial and lead weights. Dimensions 0.62 by 0.20 by 0.44 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A hero dressing prop for a scriptorium desk, 0.62 m across the board. Every written line is an abstract rib of ink at the rhythm of a written line, not a letter in any script, and the initial is plain geometric colour with no figure in it, so the page reproduces no real text. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-manuscript-in-progr-c44a61fc","cdnUrl":"https://cdn.3dassets.dev/assets/37394/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-manuscript-in-progr-c44a61fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/37394/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37394/v1/poster.webp","blurhash":"UEB{_lxt00kC9Zof%2Rj00M{?bf6~VRjIUxt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":155076,"triangles":4800,"vertices":7549,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3100000023841858,0.000006148980758147529,-0.22000000169200282],"max":[0.3100000023841858,0.1980004809507127,0.22000000169200282]},"sizeMeters":[0.62,0.198,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:59.828Z","updatedAt":"2026-09-12T04:54:00.041Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37394/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ManuscriptInProgressMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37394/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37394/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37394/v1/model.glb\" alt=\"Manuscript In Progress (Medieval Monastery and Scriptorium)\" 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/37394/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/37394/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37392","slug":"medieval-monastery-and-scriptorium-pigment-tray-f052d431","title":"Pigment Tray (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval illuminator’s pigment tray: six ground colours in stone pots with a muller and a grinding slab, on a lipped oak tray, 0.44 m wide.","description":"Free 3D model of a medieval illuminator’s pigment tray: six ground colours in stone pots with a muller and a grinding slab, on a lipped oak tray, 0.44 m wide. Dimensions 0.44 by 0.13 by 0.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A dressing prop for a writing desk or a workbench. The pots are filled to the rim with flat discs of colour, so the tray reads from directly above. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-pigment-tray-f052d431","cdnUrl":"https://cdn.3dassets.dev/assets/37392/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-pigment-tray-f052d431","thumbnailUrl":"https://cdn.3dassets.dev/assets/37392/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37392/v1/poster.webp","blurhash":"U8B{.G%L00RkkWxte.M{00M|~pWBMxIVt8%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":37432,"triangles":1560,"vertices":1607,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.2199999988079071,0.000008623339832092292,-0.15000579770397843],"max":[0.2199999988079071,0.12498814141656406,0.15000579770397843]},"sizeMeters":[0.44,0.125,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:59.502Z","updatedAt":"2026-09-12T04:53:59.623Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37392/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PigmentTrayMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37392/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37392/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37392/v1/model.glb\" alt=\"Pigment Tray (Medieval Monastery and Scriptorium)\" 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/37392/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/37392/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37391","slug":"medieval-monastery-and-scriptorium-gold-leaf-cushion-f6ef80ee","title":"Gold Leaf Cushion (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval gilder’s leaf cushion: a leather pad on an oak board with a parchment draught screen, a gilding knife, loose leaves and a booklet.","description":"Free 3D model of a medieval gilder’s leaf cushion: a leather pad on an oak board with a parchment draught screen, a gilding knife, loose leaves and a booklet. Dimensions 0.32 by 0.14 by 0.24 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A dressing prop for an illuminator’s desk, 0.30 m across. The loose leaves lie flat on the pad as they do in use. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-gold-leaf-cushion-f6ef80ee","cdnUrl":"https://cdn.3dassets.dev/assets/37391/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-gold-leaf-cushion-f6ef80ee","thumbnailUrl":"https://cdn.3dassets.dev/assets/37391/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37391/v1/poster.webp","blurhash":"UAEe_VU_00-;?vIBIA-:00O?_NR*4m%ztlD*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":28336,"triangles":1288,"vertices":1093,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000000596046448,-7.24084797419644e-7,-0.12067535593475875],"max":[0.17076393961906433,0.14000839318610686,0.12001262679066238]},"sizeMeters":[0.321,0.14,0.241],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:59.512Z","updatedAt":"2026-09-12T04:53:59.639Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37391/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GoldLeafCushionMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37391/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37391/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37391/v1/model.glb\" alt=\"Gold Leaf Cushion (Medieval Monastery and Scriptorium)\" 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/37391/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/37391/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37390","slug":"medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","title":"Quill And Inkhorn Set (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval scribe’s quill and inkhorn set: an iron bound inkhorn, a pounce pot, three cut quills, a penknife and a pumice, on an oak tray.","description":"Free 3D model of a medieval scribe’s quill and inkhorn set: an iron bound inkhorn, a pounce pot, three cut quills, a penknife and a pumice, on an oak tray. Dimensions 0.42 by 0.21 by 0.25 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A dressing prop for a writing desk, 0.42 m across the tray. The quills lie in the tray rather than standing in the horn, so the set reads from above on a desk. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","cdnUrl":"https://cdn.3dassets.dev/assets/37390/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-quill-and-inkhorn-s-1f609365","thumbnailUrl":"https://cdn.3dassets.dev/assets/37390/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37390/v1/poster.webp","blurhash":"U4B:Ngxb00_11*%MVXNG00NH~W4p|BIU?cfA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":35968,"triangles":1260,"vertices":1537,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.20999999344348907,-0.0000018143998130604189,-0.12001281402700205],"max":[0.20999999344348907,0.20531840036249224,0.1298310132739574]},"sizeMeters":[0.42,0.205,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:58.094Z","updatedAt":"2026-09-12T04:53:58.200Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37390/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function QuillAndInkhornSetMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37390/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37390/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37390/v1/model.glb\" alt=\"Quill And Inkhorn Set (Medieval Monastery and Scriptorium)\" 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/37390/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/37390/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37393","slug":"medieval-monastery-and-scriptorium-ruling-board-26f9c6ad","title":"Ruling Board (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval scribe’s ruling board: a bifolium pricked and ruled into eleven lines under a straightedge, with an awl, 0.52 m wide.","description":"Free 3D model of a medieval scribe’s ruling board: a bifolium pricked and ruled into eleven lines under a straightedge, with an awl, 0.52 m wide. Dimensions 0.52 by 0.13 by 0.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A dressing prop for a scriptorium desk. The ruling and the prick marks down both margins are real geometry; the sheet is blank, because ruling is the step before any writing goes on it. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-ruling-board-26f9c6ad","cdnUrl":"https://cdn.3dassets.dev/assets/37393/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-ruling-board-26f9c6ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/37393/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37393/v1/poster.webp","blurhash":"U9BpIL-o00NGM|s:xaRj00Io~qof%2NGM|xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":87508,"triangles":4260,"vertices":3695,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25999999046325684,-0.000009918649326340345,-0.20001281043755348],"max":[0.25999999046325684,0.13000991361273387,0.20001281043755348]},"sizeMeters":[0.52,0.13,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:00.706Z","updatedAt":"2026-09-12T04:54:00.839Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37393/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RulingBoardMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37393/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37393/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37393/v1/model.glb\" alt=\"Ruling Board (Medieval Monastery and Scriptorium)\" 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/37393/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/37393/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37411","slug":"medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611","title":"Refectory Long Table (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval refectory table: a four board oak top on three pegged trestles with a stretcher, for a monastery hall or a tavern, 4.2 m long.","description":"Free 3D model of a medieval refectory table: a four board oak top on three pegged trestles with a stretcher, for a monastery hall or a tavern, 4.2 m long. Dimensions 4.26 by 0.78 by 0.96 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The top is four separate boards with real joints between them and a cleat under each end, which is what a board table is. Static geometry, no moving parts. Stands under a cloister walk bay or in a hall. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611","cdnUrl":"https://cdn.3dassets.dev/assets/37411/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-refectory-long-tabl-2252f611","thumbnailUrl":"https://cdn.3dassets.dev/assets/37411/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37411/v1/poster.webp","blurhash":"U59Zlt%00M%1~9^joyE200-V~AIp0g57sl-o","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":46096,"triangles":2268,"vertices":1953,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-2.130000114440918,0.0001475935045311405,-0.47999270134683486],"max":[2.130000114440918,0.7812408084806373,0.47999270134683486]},"sizeMeters":[4.26,0.781,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:08.992Z","updatedAt":"2026-09-12T04:54:09.100Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37411/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RefectoryLongTableMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37411/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37411/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37411/v1/model.glb\" alt=\"Refectory Long Table (Medieval Monastery and Scriptorium)\" 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/37411/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/37411/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37412","slug":"medieval-monastery-and-scriptorium-refectory-bench-4935cab3","title":"Refectory Bench (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval refectory form: a 2.1 m oak bench on splayed board legs with a stretcher, for a monastery hall, refectory or tavern.","description":"Free 3D model of a medieval refectory form: a 2.1 m oak bench on splayed board legs with a stretcher, for a monastery hall, refectory or tavern. Dimensions 2.10 by 0.46 by 0.40 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A form rather than a stool: two benches to a table side is what a refectory seated. Static geometry, no moving parts. The legs rake out and sit on shoes so the bench stands on an uneven flagstone floor. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-refectory-bench-4935cab3","cdnUrl":"https://cdn.3dassets.dev/assets/37412/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-refectory-bench-4935cab3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37412/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37412/v1/poster.webp","blurhash":"U59%CjxYD+-n~A~BS2EM00%K-nIr0N0M-nxa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":18436,"triangles":864,"vertices":752,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.0499999523162842,-0.000022152640958006398,-0.19995726500606137],"max":[1.0499999523162842,0.45987955687298315,0.19995726500606137]},"sizeMeters":[2.1,0.46,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:10.626Z","updatedAt":"2026-09-12T04:54:10.758Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37412/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RefectoryBenchMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37412/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37412/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37412/v1/model.glb\" alt=\"Refectory Bench (Medieval Monastery and Scriptorium)\" 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/37412/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/37412/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37397","slug":"medieval-monastery-and-scriptorium-finished-codex-a925891c","title":"Finished Codex (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a finished medieval codex: oak boards in tanned leather over five raised bands, with brass corner bosses and two clasps, 0.26 by 0.36 m.","description":"Free 3D model of a finished medieval codex: oak boards in tanned leather over five raised bands, with brass corner bosses and two clasps, 0.26 by 0.36 m. Dimensions 0.29 by 0.12 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Lies flat on a desk, a lectern or a shelf. The spine, bands, bosses and clasps are modelled and the covers carry no title or device, because a real title would be a real text. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-finished-codex-a925891c","cdnUrl":"https://cdn.3dassets.dev/assets/37397/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-finished-codex-a925891c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37397/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37397/v1/poster.webp","blurhash":"U6E-p{}a01Mw*}IVTc%L00Ap-Af+D2-;U_My","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27028,"triangles":1212,"vertices":1056,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.15299432285915168,9.444715407952442e-7,-0.1860000044107437],"max":[0.13499433108459266,0.11700247090705387,0.1860000044107437]},"sizeMeters":[0.288,0.117,0.372],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:01.640Z","updatedAt":"2026-09-12T04:54:01.762Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37397/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FinishedCodexMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37397/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37397/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37397/v1/model.glb\" alt=\"Finished Codex (Medieval Monastery and Scriptorium)\" 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/37397/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/37397/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37403","slug":"medieval-monastery-and-scriptorium-candle-stand-2c502e88","title":"Candle Stand (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval wrought iron pricket candle stand on three feet, with a drip pan and a tallow candle: 1.56 m tall.","description":"Free 3D model of a medieval wrought iron pricket candle stand on three feet, with a drip pan and a tallow candle: 1.56 m tall. Dimensions 0.56 by 1.55 by 0.55 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A floor stand for a chapel, a chapter house or a hall. Static geometry. No flame is modelled: a flame is a shader and a light, not a mesh, and a candle shipped with one would date the kit and light every scene wrongly. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-candle-stand-2c502e88","cdnUrl":"https://cdn.3dassets.dev/assets/37403/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-candle-stand-2c502e88","thumbnailUrl":"https://cdn.3dassets.dev/assets/37403/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37403/v1/poster.webp","blurhash":"U14o1e%M004n~qof00M{~qt74nIUWAoMogWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":20036,"triangles":812,"vertices":820,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2504777391152535,0,-0.23589255124586095],"max":[0.3105029542641793,1.5549999475479126,0.31692566186445226]},"sizeMeters":[0.561,1.555,0.553],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:06.158Z","updatedAt":"2026-09-12T04:54:06.347Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37403/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CandleStandMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37403/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37403/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37403/v1/model.glb\" alt=\"Candle Stand (Medieval Monastery and Scriptorium)\" 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/37403/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/37403/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37395","slug":"medieval-monastery-and-scriptorium-book-chest-3d28010f","title":"Book Chest (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval iron bound book chest for a monastery library: boarded oak on stile feet, three straps, a hasp and a hinged lid, 1.14 m wide.","description":"Free 3D model of a medieval iron bound book chest for a monastery library: boarded oak on stile feet, three straps, a hasp and a hinged lid, 1.14 m wide. Dimensions 1.14 by 0.69 by 0.67 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lid-chest at (0.00, 0.59, -0.32) m. The lid is hinged along its back edge and lifts; the straps, the hasp and the stile feet are fixed. The chest is closed, so no interior is modelled behind the lid. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-book-chest-3d28010f","cdnUrl":"https://cdn.3dassets.dev/assets/37395/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-book-chest-3d28010f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37395/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37395/v1/poster.webp","blurhash":"U8ByW@}@Dj=xSi-n$*NL02ENS~JBV?kCW=V[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42012,"triangles":1872,"vertices":1659,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5699999928474426,3.063771876754551e-7,-0.3260015300164632],"max":[0.5699999928474426,0.6849878276817093,0.3400031364918716]},"sizeMeters":[1.14,0.685,0.666],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:02.274Z","updatedAt":"2026-09-12T04:54:02.382Z","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/37395/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 BookChestMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37395/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/37395/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37395/v1/model.glb\" alt=\"Book Chest (Medieval Monastery and Scriptorium)\" 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/37395/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/37395/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37398","slug":"medieval-monastery-and-scriptorium-chained-library-des-6097a09c","title":"Chained Library Desk (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval chained library desk: a raked oak reading slope on boarded standards with an iron chain bar and four chained codices, 1.5 m wide.","description":"Free 3D model of a medieval chained library desk: a raked oak reading slope on boarded standards with an iron chain bar and four chained codices, 1.5 m wide. Dimensions 1.52 by 1.06 by 0.84 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Reading slope, standards, chain bar and books are one static model. The chains lie on the slope rather than hanging, because a hanging chain is a flexible run that would need a joint per link and cannot be carried by one rigid node transform. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-chained-library-des-6097a09c","cdnUrl":"https://cdn.3dassets.dev/assets/37398/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-chained-library-des-6097a09c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37398/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37398/v1/poster.webp","blurhash":"U4BC#$=]00={-=~AD%0g01EM=_NG0LJB?F$y","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":131220,"triangles":6592,"vertices":5494,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7599999904632568,0.000003394461583983155,-0.42004455175297034],"max":[0.7599999904632568,1.060019255806799,0.42004455175297034]},"sizeMeters":[1.52,1.06,0.84],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:02.649Z","updatedAt":"2026-09-12T04:54:02.777Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37398/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChainedLibraryDeskMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37398/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37398/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37398/v1/model.glb\" alt=\"Chained Library Desk (Medieval Monastery and Scriptorium)\" 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/37398/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/37398/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37400","slug":"medieval-monastery-and-scriptorium-book-press-1b1725a3","title":"Book Press (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval binder’s book press: an oak frame with two threaded wooden screws, a moving platen and a stack of sections under it, 1.02 m wide.","description":"Free 3D model of a medieval binder’s book press: an oak frame with two threaded wooden screws, a moving platen and a stack of sections under it, 1.02 m wide. Dimensions 1.02 by 1.15 by 0.74 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: screw-left at (-0.23, 0.66, 0.00) m; screw-right at (0.23, 0.66, 0.00) m. Both screws turn on their own axes with their tommy bars. The platen itself does not travel: a platen driven by two independent screws needs the two to be linked, which is a constraint rather than a rigid node transform, so the press is posed with the sections already under pressure. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: press. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-book-press-1b1725a3","cdnUrl":"https://cdn.3dassets.dev/assets/37400/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-book-press-1b1725a3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37400/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37400/v1/poster.webp","blurhash":"U3BfRm~C00E2?a%1IV9b00In^i$%0gxZ^jWB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":57756,"triangles":3156,"vertices":2549,"meshes":4,"materials":2,"textures":0,"animations":["press"],"boundingBox":{"min":[-0.5099999904632568,-0.000007002310629611319,-0.36996672790647955],"max":[0.5099999904632568,1.1500014267785212,0.36996672790647955]},"sizeMeters":[1.02,1.15,0.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:03.353Z","updatedAt":"2026-09-12T04:54:03.479Z","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/37400/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 BookPressMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37400/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/37400/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37400/v1/model.glb\" alt=\"Book Press (Medieval Monastery and Scriptorium)\" 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/37400/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/37400/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37415","slug":"medieval-monastery-and-scriptorium-monks-chest-b01d921d","title":"Monks Chest (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval iron bound personal chest for a monastery dormitory: boarded oak on stile feet, two straps, end handles and a hinged lid, 0.98 m wide.","description":"Free 3D model of a medieval iron bound personal chest for a monastery dormitory: boarded oak on stile feet, two straps, end handles and a hinged lid, 0.98 m wide. Dimensions 0.98 by 0.59 by 0.58 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lid-monks-chest at (0.00, 0.50, -0.28) m. The lid is hinged along its back edge and lifts; the straps, hasp and handles are fixed. The chest is closed and no interior is modelled behind the lid. Stands at the foot of a dormitory cot. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-monks-chest-b01d921d","cdnUrl":"https://cdn.3dassets.dev/assets/37415/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-monks-chest-b01d921d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37415/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37415/v1/poster.webp","blurhash":"U3Bo]W~C00r?NN~T=_Io00EM%2xsM_N4tOD+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28664,"triangles":1228,"vertices":1063,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.49000000953674316,-0.000004337385697356089,-0.2809909110045868],"max":[0.49000000953674316,0.5949888306888717,0.29502993571751723]},"sizeMeters":[0.98,0.595,0.576],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:10.699Z","updatedAt":"2026-09-12T04:54:10.815Z","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/37415/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 MonksChestMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37415/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/37415/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37415/v1/model.glb\" alt=\"Monks Chest (Medieval Monastery and Scriptorium)\" 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/37415/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/37415/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37407","slug":"medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","title":"Tomb Slab (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval stone tomb slab with an incised stepped cross and a chamfered border, for a chapel, cloister walk or churchyard: 2.24 m long.","description":"Free 3D model of a medieval stone tomb slab with an incised stepped cross and a chamfered border, for a chapel, cloister walk or churchyard: 2.24 m long. Dimensions 2.24 by 0.24 by 0.96 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Lies flush in a paved floor with its border 0.23 m proud. The ornament is a geometric stepped cross; the border marks are abstract ribs at the rhythm of an inscription rather than letters, so the slab names nobody and reproduces no text. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","cdnUrl":"https://cdn.3dassets.dev/assets/37407/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-tomb-slab-b3f19fc6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37407/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37407/v1/poster.webp","blurhash":"U6B|KV?b00ay-:_2ofD%00IU~qRj9F00M|-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":48188,"triangles":1524,"vertices":2315,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.1200000047683716,0.000016023814096099986,-0.4799316405820705],"max":[1.1200000047683716,0.23802737750197822,0.4799316405820705]},"sizeMeters":[2.24,0.238,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:07.350Z","updatedAt":"2026-09-12T04:54:07.485Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37407/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TombSlabMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37407/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37407/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37407/v1/model.glb\" alt=\"Tomb Slab (Medieval Monastery and Scriptorium)\" 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/37407/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/37407/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37410","slug":"medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","title":"Hanging Oil Lamp (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval hanging brass oil lamp: a pierced bowl with a float and a central pricket on three chains to a ring, 1.25 m from ring to base.","description":"Free 3D model of a medieval hanging brass oil lamp: a pierced bowl with a float and a central pricket on three chains to a ring, 1.25 m from ring to base. Dimensions 0.55 by 0.76 by 0.56 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Origin at the foot of the lamp, so placing it at the height of its ring hangs it correctly under a vault or a beam. The chains are drawn as runs of links and do not swing; the flame is not modelled, being shader and light work rather than mesh. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","cdnUrl":"https://cdn.3dassets.dev/assets/37410/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-hanging-oil-lamp-7b413a0c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37410/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37410/v1/poster.webp","blurhash":"U68q1it600My02WB~Ut7IvjbxUkS%0bbW=V[","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":41872,"triangles":2042,"vertices":1673,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.27576684180143374,0,-0.28000464184216467],"max":[0.27576684180143374,0.7580000162124634,0.28000464184216467]},"sizeMeters":[0.552,0.758,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:08.709Z","updatedAt":"2026-09-12T04:54:08.912Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37410/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingOilLampMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37410/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37410/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37410/v1/model.glb\" alt=\"Hanging Oil Lamp (Medieval Monastery and Scriptorium)\" 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/37410/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/37410/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37376","slug":"medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","title":"Monastery Wall Bay (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a 3 m coursed ashlar wall bay for a medieval monastery range: chamfered plinth and a moulded wall head, 3.2 m high.","description":"Free 3D model of a 3 m coursed ashlar wall bay for a medieval monastery range: chamfered plinth and a moulded wall head, 3.2 m high. Dimensions 3.00 by 3.32 by 0.65 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (range) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (range) at (1.50, 0.00, 0.00) facing (1, 0, 0). Wall module. Butt bays end to end on a 3 m grid; the window and door bays are cut to the same section, and a buttress stands against the face wherever a bay carries a roof load. Courses are broken between rows so no two blocks share a joint line. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","cdnUrl":"https://cdn.3dassets.dev/assets/37376/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-monastery-wall-bay-880936fb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37376/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37376/v1/poster.webp","blurhash":"U6H2TM~W009F_3_3Rj0000Rj~pjc%M-:Rj4o","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":30956,"triangles":804,"vertices":1556,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.5001147194319358,0,-0.32503920974892103],"max":[1.5001147194319358,3.319999933242798,0.32503920974892103]},"sizeMeters":[3,3.32,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:51.289Z","updatedAt":"2026-09-12T04:53:51.418Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37376/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MonasteryWallBayMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37376/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37376/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37376/v1/model.glb\" alt=\"Monastery Wall Bay (Medieval Monastery and Scriptorium)\" 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/37376/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/37376/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37379","slug":"medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","title":"Monastery Door Bay (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval monastery doorway bay with a hinged oak plank door on iron bands, under a two-centred stone arch: 3 m wall module.","description":"Free 3D model of a medieval monastery doorway bay with a hinged oak plank door on iron bands, under a two-centred stone arch: 3 m wall module. Dimensions 3.00 by 3.32 by 0.69 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door-range at (-0.57, 0.00, 0.17) m. Connectors: left (range) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (range) at (1.50, 0.00, 0.00) facing (1, 0, 0). Wall module on the same 3 m section as the plain bay. The leaf hangs on its left jamb and swings out; the jambs, the arch and the threshold are fixed. The opening behind the leaf is blanked rather than cut through. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","cdnUrl":"https://cdn.3dassets.dev/assets/37379/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-monastery-door-bay-a5edad0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37379/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37379/v1/poster.webp","blurhash":"U7G8_zR.00o}~p_29F0000n$%MRjjE-;bc9G","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":82984,"triangles":3356,"vertices":3639,"meshes":4,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.5001147194319358,0,-0.3261040788243353],"max":[1.5001147194319358,3.319999933242798,0.3637040596554815]},"sizeMeters":[3,3.32,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:52.954Z","updatedAt":"2026-09-12T04:53:53.081Z","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/37379/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 MonasteryDoorBayMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37379/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/37379/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37379/v1/model.glb\" alt=\"Monastery Door Bay (Medieval Monastery and Scriptorium)\" 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/37379/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/37379/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37378","slug":"medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","title":"Monastery Lancet Window Bay (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval monastery wall bay with a pointed lancet window: dressed jambs, a two-centred head, a moulded sill and a splayed reveal.","description":"Free 3D model of a medieval monastery wall bay with a pointed lancet window: dressed jambs, a two-centred head, a moulded sill and a splayed reveal. Dimensions 3.00 by 3.32 by 0.65 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (range) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (range) at (1.50, 0.00, 0.00) facing (1, 0, 0). Wall module on the same 3 m section as the plain bay. The opening is blanked behind a recessed reveal rather than cut through, so the bay stays solid when a scene is lit from outside and no glazing has to be shipped with it. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","cdnUrl":"https://cdn.3dassets.dev/assets/37378/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-monastery-lancet-wi-c0c13950","thumbnailUrl":"https://cdn.3dassets.dev/assets/37378/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37378/v1/poster.webp","blurhash":"U5GuzP~q009G_3~pWo0000Rj~WRl?H?HIU01","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":62468,"triangles":2268,"vertices":2922,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.5001147194319358,0,-0.32503920974892103],"max":[1.5001147194319358,3.319999933242798,0.32503920974892103]},"sizeMeters":[3,3.32,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:51.435Z","updatedAt":"2026-09-12T04:53:51.622Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37378/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MonasteryLancetWindowBayMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37378/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37378/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37378/v1/model.glb\" alt=\"Monastery Lancet Window Bay (Medieval Monastery and Scriptorium)\" 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/37378/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/37378/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37380","slug":"medieval-monastery-and-scriptorium-monastery-buttress-3128e604","title":"Monastery Buttress (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval stone buttress with a weathered set-off for a monastery range wall: 0.90 m projection, 3.2 m to the wall head.","description":"Free 3D model of a medieval stone buttress with a weathered set-off for a monastery range wall: 0.90 m projection, 3.2 m to the wall head. Dimensions 0.70 by 3.21 by 0.98 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a range wall with its back face on the wall face, so the bay behind it keeps its own coursing. The set-off climbs back to the wall in four diminishing stones rather than one raking slab. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-monastery-buttress-3128e604","cdnUrl":"https://cdn.3dassets.dev/assets/37380/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-monastery-buttress-3128e604","thumbnailUrl":"https://cdn.3dassets.dev/assets/37380/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37380/v1/poster.webp","blurhash":"U4DvZa_20000xt9aD%~o00D+?a_1-;adIUxv","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":16788,"triangles":768,"vertices":684,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499288961126235,-7.450580152834618e-10,-0.49006699406590115],"max":[0.3499288961126235,3.2100000381469727,0.49006699406590115]},"sizeMeters":[0.7,3.21,0.98],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:53.077Z","updatedAt":"2026-09-12T04:53:53.249Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37380/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MonasteryButtressMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37380/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37380/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37380/v1/model.glb\" alt=\"Monastery Buttress (Medieval Monastery and Scriptorium)\" 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/37380/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/37380/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37409","slug":"medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","title":"Wall Torch Bracket (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval wrought iron wall torch bracket with a pierced fire basket and a bound tow torch head, for a monastery or castle wall: 0.7 m tall.","description":"Free 3D model of a medieval wrought iron wall torch bracket with a pierced fire basket and a bound tow torch head, for a monastery or castle wall: 0.7 m tall. Dimensions 0.22 by 0.75 by 0.42 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Bolts flat to a wall face at -Z with the basket standing 0.32 m out. Static geometry. The flame and the smoke are not modelled: both are shader and particle work rather than mesh, and a mesh flame would date the kit. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","cdnUrl":"https://cdn.3dassets.dev/assets/37409/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-wall-torch-bracket-06375a0e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37409/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37409/v1/poster.webp","blurhash":"U24n=5w[00AJ~A%19b9u8^s;%gNF0LIp?G-U","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":35192,"triangles":1560,"vertices":1484,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.11000121757513175,0,0.000016174109459199393],"max":[0.11000121757513175,0.7452136278152466,0.4199838124049899]},"sizeMeters":[0.22,0.745,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:08.499Z","updatedAt":"2026-09-12T04:54:08.626Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37409/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallTorchBracketMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37409/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37409/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37409/v1/model.glb\" alt=\"Wall Torch Bracket (Medieval Monastery and Scriptorium)\" 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/37409/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/37409/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37387","slug":"medieval-monastery-and-scriptorium-chapter-house-bay-6a4c98ec","title":"Chapter House Bay (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval chapter house bay: a stone bench under a blind wall arcade of three arches on shafts, on the same 3 m module as the cloister walk.","description":"Free 3D model of a medieval chapter house bay: a stone bench under a blind wall arcade of three arches on shafts, on the same 3 m module as the cloister walk. Dimensions 3.13 by 4.50 by 3.05 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Connectors: left (walk) at (-1.50, 0.00, 0.00) facing (-1, 0, 0); right (walk) at (1.50, 0.00, 0.00) facing (1, 0, 0). Room module. The bench runs the full bay and the blind arcade stands over it against the wall, so a run of bays makes the ring of seats a chapter house is. Butt bays end to end on the 3 m grid; the walk-side edge is open. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-chapter-house-bay-6a4c98ec","cdnUrl":"https://cdn.3dassets.dev/assets/37387/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-chapter-house-bay-6a4c98ec","thumbnailUrl":"https://cdn.3dassets.dev/assets/37387/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37387/v1/poster.webp","blurhash":"UCFr*C0000~pxuD%IV?b00?bxtIU%Mt7M{WB","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":143252,"triangles":5892,"vertices":6618,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.565868434748531,0.00006410079082852516,-1.549843586215706],"max":[1.565868434748531,4.5,1.5]},"sizeMeters":[3.132,4.5,3.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:57.926Z","updatedAt":"2026-09-12T04:53:58.056Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37387/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChapterHouseBayMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37387/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37387/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37387/v1/model.glb\" alt=\"Chapter House Bay (Medieval Monastery and Scriptorium)\" 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/37387/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/37387/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37417","slug":"medieval-monastery-and-scriptorium-bread-oven-2dd79126","title":"Bread Oven (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval stone bread oven: a limewashed beehive dome on a raised base with a brick mouth arch, a hinged iron door and a working ledge, 2.6 m wide.","description":"Free 3D model of a medieval stone bread oven: a limewashed beehive dome on a raised base with a brick mouth arch, a hinged iron door and a working ledge, 2.6 m wide. Dimensions 2.40 by 2.18 by 2.44 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: door-oven at (-0.32, 0.00, 1.22) m. The iron door hangs on its left jamb and swings out; the dome, the mouth arch and the ledge are fixed. The oven is solid, so no chamber is modelled behind the door, and no fire or ash is modelled inside it. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-bread-oven-2dd79126","cdnUrl":"https://cdn.3dassets.dev/assets/37417/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-bread-oven-2dd79126","thumbnailUrl":"https://cdn.3dassets.dev/assets/37417/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37417/v1/poster.webp","blurhash":"U7E.|bM{00?b4oaxMxxu00t7~pD%n}WC~qNG","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42944,"triangles":1716,"vertices":1666,"meshes":6,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.200043305796045,-0.000044548888411211074,-1.0499999523162842],"max":[1.200043305796045,2.1799655447654316,1.3899999856948853]},"sizeMeters":[2.4,2.18,2.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:12.314Z","updatedAt":"2026-09-12T04:54:12.441Z","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/37417/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 BreadOvenMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37417/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/37417/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37417/v1/model.glb\" alt=\"Bread Oven (Medieval Monastery and Scriptorium)\" 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/37417/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/37417/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37416","slug":"medieval-monastery-and-scriptorium-kitchen-hearth-9a24bd52","title":"Kitchen Hearth (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval monastery kitchen hearth: a raised stone fire with a corbelled hood and flue, andirons, a pot bar and burning logs, 2.7 m wide.","description":"Free 3D model of a medieval monastery kitchen hearth: a raised stone fire with a corbelled hood and flue, andirons, a pot bar and burning logs, 2.7 m wide. Dimensions 2.91 by 3.91 by 1.64 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a wall or free in a kitchen. Static geometry. The fire is logs and ash: no flame, smoke or glow is modelled, because all three are shader, particle and light work rather than mesh. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-kitchen-hearth-9a24bd52","cdnUrl":"https://cdn.3dassets.dev/assets/37416/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-kitchen-hearth-9a24bd52","thumbnailUrl":"https://cdn.3dassets.dev/assets/37416/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37416/v1/poster.webp","blurhash":"U7EfNM_3009F9Gt6oeIV00IU~pxajYf8%Lay","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":34984,"triangles":1484,"vertices":1402,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.4562772362764898,0.00003726009003107711,-0.8194844104090626],"max":[1.4562772362764898,3.9100000858306885,0.8194844104090626]},"sizeMeters":[2.913,3.91,1.639],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:12.082Z","updatedAt":"2026-09-12T04:54:12.193Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37416/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KitchenHearthMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37416/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37416/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37416/v1/model.glb\" alt=\"Kitchen Hearth (Medieval Monastery and Scriptorium)\" 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/37416/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/37416/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37418","slug":"medieval-monastery-and-scriptorium-cooking-cauldron-93a989a1","title":"Cooking Cauldron (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval iron cooking cauldron on a swinging kitchen crane: a socketed post, a jibbed arm with a pot hook and a bail handle cauldron, 2.4 m tall.","description":"Free 3D model of a medieval iron cooking cauldron on a swinging kitchen crane: a socketed post, a jibbed arm with a pot hook and a bail handle cauldron, 2.4 m tall. Dimensions 1.88 by 2.45 by 0.66 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: crane at (-0.90, 0.00, 0.00) m. The whole crane, its jib, the pot hook and the cauldron swing together about the post, which is how a crane takes a pot off the fire; the post and its stone socket stand still. No fire, water or contents are modelled. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: swing. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-cooking-cauldron-93a989a1","cdnUrl":"https://cdn.3dassets.dev/assets/37418/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-cooking-cauldron-93a989a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37418/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37418/v1/poster.webp","blurhash":"U35X[V~q4m00D*9GM_?aM{j]t7WA-:?bxv9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31396,"triangles":1372,"vertices":1247,"meshes":3,"materials":2,"textures":0,"animations":["swing"],"boundingBox":{"min":[-1.149999976158142,-0.00001372736879973191,-0.33002929816904014],"max":[0.7299999952316284,2.450000047683716,0.33002929816904014]},"sizeMeters":[1.88,2.45,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:12.330Z","updatedAt":"2026-09-12T04:54:12.450Z","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/37418/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 CookingCauldronMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37418/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/37418/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37418/v1/model.glb\" alt=\"Cooking Cauldron (Medieval Monastery and Scriptorium)\" 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/37418/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/37418/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37427","slug":"medieval-monastery-and-scriptorium-hand-cart-2975d4b6","title":"Hand Cart (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval two wheeled hand cart: a boarded oak body on spoked wheels with iron tyres, raised sides, shafts and a load of cut logs, 1.7 m long.","description":"Free 3D model of a medieval two wheeled hand cart: a boarded oak body on spoked wheels with iron tyres, raised sides, shafts and a load of cut logs, 1.7 m long. Dimensions 1.36 by 1.04 by 2.60 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: wheel-left at (-0.56, 0.48, -0.10) m; wheel-right at (0.56, 0.48, -0.10) m. Both wheels turn on the axle; the body, the shafts, the prop legs and the load are fixed. The cart is modelled level on its shafts, which is how one stands when it is set down. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-hand-cart-2975d4b6","cdnUrl":"https://cdn.3dassets.dev/assets/37427/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-hand-cart-2975d4b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37427/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37427/v1/poster.webp","blurhash":"U79GpwSK0L%0~UNH9axZ01M}-ot702xZ^*f$","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":68284,"triangles":4212,"vertices":3888,"meshes":6,"materials":3,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.6799858073874703,0,-1.0399999618530273],"max":[0.6799858073874703,1.0418755373383375,1.559999942779541]},"sizeMeters":[1.36,1.042,2.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:16.380Z","updatedAt":"2026-09-12T04:54:16.503Z","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/37427/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 HandCartMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37427/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/37427/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37427/v1/model.glb\" alt=\"Hand Cart (Medieval Monastery and Scriptorium)\" 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/37427/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/37427/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37420","slug":"medieval-monastery-and-scriptorium-brewhouse-tun-ec4de169","title":"Brewhouse Tun (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval brewhouse mash tun: a coopered oak vessel of twenty six staves on four iron hoops, with cross feet, a tap and a lift off cover, 1.7 m across.","description":"Free 3D model of a medieval brewhouse mash tun: a coopered oak vessel of twenty six staves on four iron hoops, with cross feet, a tap and a lift off cover, 1.7 m across. Dimensions 2.02 by 1.63 by 1.90 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: cover-tun at (0.00, 1.53, 0.00) m. The cover lifts straight off; the staves, hoops, feet and tap are fixed. No liquid is modelled: a wort or water surface needs a shader, and a solid disc of it would read wrongly at any other fill level. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-brewhouse-tun-ec4de169","cdnUrl":"https://cdn.3dassets.dev/assets/37420/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-brewhouse-tun-ec4de169","thumbnailUrl":"https://cdn.3dassets.dev/assets/37420/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37420/v1/poster.webp","blurhash":"U4A,8t~T000g-VRQIVtQ0gNH-ot6Rjs.oyIq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":68584,"triangles":2272,"vertices":3214,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.949999988079071,0.0000280861171756408,-0.9500505556277542],"max":[1.0725648403167725,1.62995512114952,0.9500505556277542]},"sizeMeters":[2.023,1.63,1.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:13.829Z","updatedAt":"2026-09-12T04:54:13.956Z","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/37420/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 BrewhouseTunMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37420/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/37420/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37420/v1/model.glb\" alt=\"Brewhouse Tun (Medieval Monastery and Scriptorium)\" 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/37420/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/37420/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37428","slug":"medieval-monastery-and-scriptorium-wood-stack-dfc7f574","title":"Wood Stack (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval firewood stack between two pairs of driven stakes: seventy six split logs in seven courses under a board cover, 2.8 m long.","description":"Free 3D model of a medieval firewood stack between two pairs of driven stakes: seventy six split logs in seven courses under a board cover, 2.8 m long. Dimensions 2.73 by 1.80 by 0.66 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Yard dressing for a kitchen, brewhouse or bakehouse. Every log is a separate round of its own diameter, so the end grain reads at close range. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-wood-stack-dfc7f574","cdnUrl":"https://cdn.3dassets.dev/assets/37428/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-wood-stack-dfc7f574","thumbnailUrl":"https://cdn.3dassets.dev/assets/37428/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37428/v1/poster.webp","blurhash":"U7DIgx-.02WT%g~BovE202o#-oM{Djt7s:Ip","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":66784,"triangles":2768,"vertices":3012,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.3650000095367432,-0.00005771011313304708,-0.3299295080698751],"max":[1.3650000095367432,1.8000576624294173,0.3299295080698751]},"sizeMeters":[2.73,1.8,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:17.423Z","updatedAt":"2026-09-12T04:54:17.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37428/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WoodStackMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37428/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37428/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37428/v1/model.glb\" alt=\"Wood Stack (Medieval Monastery and Scriptorium)\" 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/37428/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/37428/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37426","slug":"medieval-monastery-and-scriptorium-rain-water-butt-59a4740e","title":"Rain Water Butt (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval rain water butt: a coopered oak cask on three iron hoops under a lead downpipe and hopper head, with a pail beside it, 0.9 m across.","description":"Free 3D model of a medieval rain water butt: a coopered oak cask on three iron hoops under a lead downpipe and hopper head, with a pail beside it, 0.9 m across. Dimensions 1.40 by 1.07 by 0.91 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a wall with the downpipe on its +X side. The water is a still lead coloured surface near the rim, not a fluid: a water surface needs a shader and a solid disc reads wrongly at any other level. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-rain-water-butt-59a4740e","cdnUrl":"https://cdn.3dassets.dev/assets/37426/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-rain-water-butt-59a4740e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37426/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37426/v1/poster.webp","blurhash":"U4AcrG-N00XUKQIVVr%200ES~VwJH;?G?vRi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":43832,"triangles":1584,"vertices":1965,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.796999990940094,-0.000005339522581027101,-0.45698458024619226],"max":[0.6000000238418579,1.0699737274920207,0.45698458024619226]},"sizeMeters":[1.397,1.07,0.914],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:17.387Z","updatedAt":"2026-09-12T04:54:17.500Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37426/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RainWaterButtMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37426/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37426/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37426/v1/model.glb\" alt=\"Rain Water Butt (Medieval Monastery and Scriptorium)\" 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/37426/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/37426/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37385","slug":"medieval-monastery-and-scriptorium-stone-drain-27be51d9","title":"Stone Drain (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval stone drain channel with iron grating bars and a settling trap, for a monastery yard, kitchen or laver: 2.4 m run.","description":"Free 3D model of a medieval stone drain channel with iron grating bars and a settling trap, for a monastery yard, kitchen or laver: 2.4 m run. Dimensions 2.60 by 0.46 by 0.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Sits flush in a yard with the channel lip 0.16 m proud, so a run of them carries water across a flagstone slab. The water itself is not modelled: a fluid surface needs a shader rather than geometry and would date the kit. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-stone-drain-27be51d9","cdnUrl":"https://cdn.3dassets.dev/assets/37385/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-stone-drain-27be51d9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37385/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37385/v1/poster.webp","blurhash":"U6B:sp%M00%LWE~qxuD%00IU_3RjNF00IU-;","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":12040,"triangles":408,"vertices":474,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.2000000476837158,0.00004913686394461547,-0.34996490692326165],"max":[1.399999976158142,0.4599508714807057,0.34996490692326165]},"sizeMeters":[2.6,0.46,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:55.012Z","updatedAt":"2026-09-12T04:53:55.141Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37385/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneDrainMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37385/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37385/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37385/v1/model.glb\" alt=\"Stone Drain (Medieval Monastery and Scriptorium)\" 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/37385/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/37385/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37402","slug":"medieval-monastery-and-scriptorium-chapel-screen-905ea0f3","title":"Chapel Screen (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval oak chapel screen with a cusped tracery arcade, a boarded dado and a pair of hinged doors in the middle, 3.2 m wide.","description":"Free 3D model of a medieval oak chapel screen with a cusped tracery arcade, a boarded dado and a pair of hinged doors in the middle, 3.2 m wide. Dimensions 3.20 by 2.73 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: screen-left at (-0.54, 0.00, 0.08) m; screen-right at (0.54, 0.00, 0.08) m. Both leaves hang on iron bands on the inner posts and swing together through the opening; the arcade, the dado and the head beam are fixed. The tracery is geometric and the screen carries no figure and no inscription. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-chapel-screen-905ea0f3","cdnUrl":"https://cdn.3dassets.dev/assets/37402/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-chapel-screen-905ea0f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37402/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37402/v1/poster.webp","blurhash":"U6Ci27}Y00nP}s}?r?9b0hW;%0R+xtxtIp9u","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":289792,"triangles":15268,"vertices":13474,"meshes":5,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.600000023841858,-0.00003187403599058669,-0.1498879250563631],"max":[1.600000023841858,2.7300319503299346,0.18488792148008443]},"sizeMeters":[3.2,2.73,0.335],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:05.445Z","updatedAt":"2026-09-12T04:54:05.586Z","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/37402/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 ChapelScreenMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37402/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/37402/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37402/v1/model.glb\" alt=\"Chapel Screen (Medieval Monastery and Scriptorium)\" 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/37402/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/37402/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37404","slug":"medieval-monastery-and-scriptorium-altar-table-87471733","title":"Altar Table (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a plain medieval stone altar table on four turned shafts with a linen cloth and a woven band, for a chapel or a chantry: 2.1 m wide.","description":"Free 3D model of a plain medieval stone altar table on four turned shafts with a linen cloth and a woven band, for a chapel or a chantry: 2.1 m wide. Dimensions 2.24 by 1.02 by 1.00 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Architecture and furniture only: a dressed slab on shafts with a cloth over it, with no figure, device or inscription anywhere on it. The cloth is modelled as a slab with two fixed falls, because real drapery needs a joint per element or a cloth solver. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-altar-table-87471733","cdnUrl":"https://cdn.3dassets.dev/assets/37404/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-altar-table-87471733","thumbnailUrl":"https://cdn.3dassets.dev/assets/37404/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37404/v1/poster.webp","blurhash":"UAHV0S?H00oy~q~WjFD%00t8-;RjE0X8R+IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":33404,"triangles":1428,"vertices":1378,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.1200000047683716,-0.00004912772241399965,-0.5000299102681511],"max":[1.1200000047683716,1.0200002948609235,0.5000299102681511]},"sizeMeters":[2.24,1.02,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:05.313Z","updatedAt":"2026-09-12T04:54:05.435Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37404/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AltarTableMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37404/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37404/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37404/v1/model.glb\" alt=\"Altar Table (Medieval Monastery and Scriptorium)\" 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/37404/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/37404/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37408","slug":"medieval-monastery-and-scriptorium-reliquary-casket-d5b7b155","title":"Reliquary Casket (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval house shaped reliquary casket: an oak box with brass straps, corner feet, a gabled lid and a band of painted lozenges, 0.46 m wide.","description":"Free 3D model of a medieval house shaped reliquary casket: an oak box with brass straps, corner feet, a gabled lid and a band of painted lozenges, 0.46 m wide. Dimensions 0.70 by 0.38 by 0.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: lid-casket at (0.00, 0.24, -0.13) m. The gabled lid is hinged along its back eave and lifts; the straps, the feet and the corner mounts are fixed. The ornament is a band of plain lozenges: the casket carries no figure, device or inscription, and no interior is modelled. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-reliquary-casket-d5b7b155","cdnUrl":"https://cdn.3dassets.dev/assets/37408/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-reliquary-casket-d5b7b155","thumbnailUrl":"https://cdn.3dassets.dev/assets/37408/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37408/v1/poster.webp","blurhash":"U5BV,{~U014;o#-nnlE400E3}@VtInM|%KSK","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54668,"triangles":2500,"vertices":2160,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.35199999809265137,0.0000010707555109928935,-0.14899379593612858],"max":[0.35199999809265137,0.38254547953073015,0.14899380688848204]},"sizeMeters":[0.704,0.383,0.298],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:07.991Z","updatedAt":"2026-09-12T04:54:08.093Z","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/37408/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 ReliquaryCasketMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37408/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/37408/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37408/v1/model.glb\" alt=\"Reliquary Casket (Medieval Monastery and Scriptorium)\" 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/37408/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/37408/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37405","slug":"medieval-monastery-and-scriptorium-censer-01ebee75","title":"Censer (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval pierced brass censer with a domed lid, three suspension chains and a ring handle, for a chapel or a procession prop: 0.43 m tall.","description":"Free 3D model of a medieval pierced brass censer with a domed lid, three suspension chains and a ring handle, for a chapel or a procession prop: 0.43 m tall. Dimensions 0.18 by 0.43 by 0.19 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Modelled standing, with the chains drawn as short runs of links rising to the ring. The chains do not swing and no smoke is modelled: a hanging chain needs a joint per link and smoke is a particle effect, neither of which one rigid node transform can carry. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-censer-01ebee75","cdnUrl":"https://cdn.3dassets.dev/assets/37405/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-censer-01ebee75","thumbnailUrl":"https://cdn.3dassets.dev/assets/37405/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37405/v1/poster.webp","blurhash":"U58gZ$tQ00D*IXoexsRk03WC~Txst7WrR%s8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":44420,"triangles":2096,"vertices":1865,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09110614489140384,0,-0.09000831107971731],"max":[0.09110614489140384,0.4300000071525574,0.09650830935118261]},"sizeMeters":[0.182,0.43,0.187],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:06.840Z","updatedAt":"2026-09-12T04:54:06.947Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37405/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CenserMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37405/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37405/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37405/v1/model.glb\" alt=\"Censer (Medieval Monastery and Scriptorium)\" 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/37405/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/37405/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37406","slug":"medieval-monastery-and-scriptorium-stone-font-53ab7e73","title":"Stone Font (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval stone font on a stepped base: a lead lined bowl on a central shaft and four corner shafts, with a band of blind arcading, 1.24 m wide.","description":"Free 3D model of a medieval stone font on a stepped base: a lead lined bowl on a central shaft and four corner shafts, with a band of blind arcading, 1.24 m wide. Dimensions 1.24 by 1.34 by 1.24 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. The bowl is lined with a still lead surface rather than modelled water, because a water surface needs a shader. The ornament is blind arcading only; the font carries no figure, device or inscription. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-stone-font-53ab7e73","cdnUrl":"https://cdn.3dassets.dev/assets/37406/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-stone-font-53ab7e73","thumbnailUrl":"https://cdn.3dassets.dev/assets/37406/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37406/v1/poster.webp","blurhash":"U7GuzO_3009F9ZRj4.WB4nR%t8s;~pj]xuxt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":50088,"triangles":2308,"vertices":2143,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6200265665477358,0,-0.6200265665477358],"max":[0.6200265665477358,1.340000033378601,0.6200265665477358]},"sizeMeters":[1.24,1.34,1.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:06.990Z","updatedAt":"2026-09-12T04:54:07.096Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37406/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneFontMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37406/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37406/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37406/v1/model.glb\" alt=\"Stone Font (Medieval Monastery and Scriptorium)\" 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/37406/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/37406/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37382","slug":"medieval-monastery-and-scriptorium-bell-tower-section-48ca871a","title":"Bell Tower Section (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval monastery bell tower: a 3.4 m square ashlar shaft 7.8 m tall with two-light belfry openings on all four faces and corner pinnacles.","description":"Free 3D model of a medieval monastery bell tower: a 3.4 m square ashlar shaft 7.8 m tall with two-light belfry openings on all four faces and corner pinnacles. Dimensions 3.76 by 8.33 by 3.76 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands as a silhouette over the claustral ranges. The belfry openings are recessed rather than pierced, so the tower is solid from any angle and carries no interior; hang the bell model in front of an opening or stand it on the ground for a foundry or a repair scene. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-bell-tower-section-48ca871a","cdnUrl":"https://cdn.3dassets.dev/assets/37382/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-bell-tower-section-48ca871a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37382/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37382/v1/poster.webp","blurhash":"U6GIil~q0000xuRjNGxu00M{t6t7t6bHa}j[","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":442572,"triangles":16600,"vertices":21258,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.8799921827938835,0,-1.8799921827938835],"max":[1.8799921827938835,8.333000183105469,1.8799921827938835]},"sizeMeters":[3.76,8.333,3.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:54.537Z","updatedAt":"2026-09-12T04:53:54.648Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37382/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BellTowerSectionMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37382/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37382/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37382/v1/model.glb\" alt=\"Bell Tower Section (Medieval Monastery and Scriptorium)\" 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/37382/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/37382/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37384","slug":"medieval-monastery-and-scriptorium-stone-stair-vice-4cd4e8bd","title":"Stone Stair Vice (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval spiral stair vice in a coursed stone turret: twenty two winding treads on a solid newel, an arched doorway and a landing slab.","description":"Free 3D model of a medieval spiral stair vice in a coursed stone turret: twenty two winding treads on a solid newel, an arched doorway and a landing slab. Dimensions 2.70 by 4.64 by 2.70 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a range wall or a tower. The turret wall is a coursed ring of blocks with the treads and the newel standing inside it, so it reads as stone from outside and from in, and the doorway is a gap left in the bottom five courses on the +Z face. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-stone-stair-vice-4cd4e8bd","cdnUrl":"https://cdn.3dassets.dev/assets/37384/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-stone-stair-vice-4cd4e8bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/37384/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37384/v1/poster.webp","blurhash":"UAFPB6-;009F~qofD%WCD*WA%Lt7%Mj[M{j[","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":134508,"triangles":3892,"vertices":6870,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.3499288530291813,0,-1.3499288530291813],"max":[1.3499288530291813,4.639999866485596,1.3499288530291813]},"sizeMeters":[2.7,4.64,2.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:55.849Z","updatedAt":"2026-09-12T04:53:55.958Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37384/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneStairViceMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37384/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37384/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37384/v1/model.glb\" alt=\"Stone Stair Vice (Medieval Monastery and Scriptorium)\" 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/37384/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/37384/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37383","slug":"medieval-monastery-and-scriptorium-hung-bell-29b39992","title":"Hung Bell (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval bronze bell hung on an oak headstock in a braced timber frame, for a monastery or church kit: 0.74 m mouth.","description":"Free 3D model of a medieval bronze bell hung on an oak headstock in a braced timber frame, for a monastery or church kit: 0.74 m mouth. Dimensions 1.86 by 1.70 by 0.74 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: bell at (0.00, 1.36, 0.00) m. The bell, its headstock and its clapper swing together about the frame’s trunnions; the frame, the braces and the iron straps are fixed. No bell rope is modelled: a rope is flexible and would need a joint per element or a shader, neither of which one rigid node transform can carry. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: ring. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-hung-bell-29b39992","cdnUrl":"https://cdn.3dassets.dev/assets/37383/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-hung-bell-29b39992","thumbnailUrl":"https://cdn.3dassets.dev/assets/37383/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37383/v1/poster.webp","blurhash":"U5B3H2-o00s,~B^iE20h02nm?GNGt7t6niM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38032,"triangles":1536,"vertices":1515,"meshes":5,"materials":3,"textures":0,"animations":["ring"],"boundingBox":{"min":[-0.9300000071525574,0.000037860256615562804,-0.3700186286966212],"max":[0.9300000071525574,1.6999621874271003,0.3700186286966212]},"sizeMeters":[1.86,1.7,0.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:53:55.817Z","updatedAt":"2026-09-12T04:53:55.937Z","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/37383/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 HungBellMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37383/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/37383/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37383/v1/model.glb\" alt=\"Hung Bell (Medieval Monastery and Scriptorium)\" 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/37383/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/37383/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37429","slug":"medieval-monastery-and-scriptorium-compost-bay-c2835e90","title":"Compost Bay (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval compost and muck bay: a boarded oak bay on driven posts, open at the front, heaped with rotted matter and green waste, with a fork, 2.4 m wide.","description":"Free 3D model of a medieval compost and muck bay: a boarded oak bay on driven posts, open at the front, heaped with rotted matter and green waste, with a fork, 2.4 m wide. Dimensions 2.60 by 1.55 by 1.64 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Yard dressing for a garden or a kitchen range. The front is boarded only two courses high so the heap is visible and a cart can be backed to it. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-compost-bay-c2835e90","cdnUrl":"https://cdn.3dassets.dev/assets/37429/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-compost-bay-c2835e90","thumbnailUrl":"https://cdn.3dassets.dev/assets/37429/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37429/v1/poster.webp","blurhash":"U3ECOI=z00.700^j-:Iq00E2?DIUMwK6_M9F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":49880,"triangles":2348,"vertices":2009,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.3775546879743197,0.00006352007529142334,-0.8199561422030606],"max":[1.2200000286102295,1.5517065525054932,0.8199561422030606]},"sizeMeters":[2.598,1.552,1.64],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T04:54:18.665Z","updatedAt":"2026-09-12T05:22:43.495Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37429/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CompostBayMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37429/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37429/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37429/v1/model.glb\" alt=\"Compost Bay (Medieval Monastery and Scriptorium)\" 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/37429/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/37429/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37425","slug":"medieval-monastery-and-scriptorium-infirmary-cot-5165b3f6","title":"Infirmary Cot (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval infirmary cot: a turned oak bedstead with corded webbing, a straw mattress, sheet, coverlet and bolster, under a plain head curtain, 1.0 by 2.06 m.","description":"Free 3D model of a medieval infirmary cot: a turned oak bedstead with corded webbing, a straw mattress, sheet, coverlet and bolster, under a plain head curtain, 1.0 by 2.06 m. Dimensions 1.00 by 1.63 by 2.07 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry, no moving parts. The bedding and the head curtain are modelled as fixed soft slabs rather than simulated cloth, because a hanging cloth needs a joint per element or a cloth solver. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-infirmary-cot-5165b3f6","cdnUrl":"https://cdn.3dassets.dev/assets/37425/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-infirmary-cot-5165b3f6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37425/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37425/v1/poster.webp","blurhash":"UCC?P{~V9FXSNIR*s;%200D%?HM{VsWWNZIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":64848,"triangles":2992,"vertices":2703,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5022594216512608,-0.00003049460904491763,-1.034999966621399],"max":[0.5022594216512608,1.6300304898406734,1.034999966621399]},"sizeMeters":[1.005,1.63,2.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:15.789Z","updatedAt":"2026-09-12T04:54:15.914Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37425/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InfirmaryCotMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37425/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37425/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37425/v1/model.glb\" alt=\"Infirmary Cot (Medieval Monastery and Scriptorium)\" 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/37425/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/37425/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37414","slug":"medieval-monastery-and-scriptorium-dormitory-cot-90975dd3","title":"Dormitory Cot (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval dormitory cot: a boarded oak bedstead on a slatted base with a straw mattress, a blanket and a bolster, 0.92 by 1.98 m.","description":"Free 3D model of a medieval dormitory cot: a boarded oak bedstead on a slatted base with a straw mattress, a blanket and a bolster, 0.92 by 1.98 m. Dimensions 0.92 by 0.84 by 1.97 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Static geometry, no moving parts. The mattress, blanket and bolster are modelled as soft slabs rather than simulated cloth, because drapery needs a joint per element or a cloth solver and neither is reachable with a rigid node transform. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-dormitory-cot-90975dd3","cdnUrl":"https://cdn.3dassets.dev/assets/37414/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-dormitory-cot-90975dd3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37414/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37414/v1/poster.webp","blurhash":"U9C$+S%000s:~q9uD%-p00E2_Nog00?G?vD*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":48976,"triangles":2376,"vertices":2044,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.45995926446981905,-0.00003862512771246607,-0.9850000143051147],"max":[0.45995926446981905,0.8400385989016688,0.9850000143051147]},"sizeMeters":[0.92,0.84,1.97],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:10.489Z","updatedAt":"2026-09-12T04:54:10.613Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37414/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DormitoryCotMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37414/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37414/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37414/v1/model.glb\" alt=\"Dormitory Cot (Medieval Monastery and Scriptorium)\" 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/37414/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/37414/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37422","slug":"medieval-monastery-and-scriptorium-physic-bench-8bdacba8","title":"Physic Bench (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval infirmarer’s physic bench: an oak bench with two drawers, a mortar, four stone jars and a chopping board, 1.6 m wide.","description":"Free 3D model of a medieval infirmarer’s physic bench: an oak bench with two drawers, a mortar, four stone jars and a chopping board, 1.6 m wide. Dimensions 1.64 by 1.18 by 0.68 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Animated pivot nodes: drawer-left at (-0.32, 0.67, 0.28) m; drawer-right at (0.32, 0.67, 0.28) m. Both drawers slide out on their runners; the carcass, the shelf and everything standing on the top are fixed. Drawer fronts are panels rather than modelled boxes, so they travel a little over their own depth. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-physic-bench-8bdacba8","cdnUrl":"https://cdn.3dassets.dev/assets/37422/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-physic-bench-8bdacba8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37422/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37422/v1/poster.webp","blurhash":"U4CPFZ-R00?a?b~AIU0f00EN^%M{00t8?bDi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41896,"triangles":1952,"vertices":1764,"meshes":6,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.8199999928474426,0.000032627849066324544,-0.3399670370443589],"max":[0.8199999928474426,1.1777174834477067,0.3399670370443589]},"sizeMeters":[1.64,1.178,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:14.229Z","updatedAt":"2026-09-12T04:54:14.339Z","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/37422/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 PhysicBenchMedievalMonasteryAndScriptorium(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37422/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/37422/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37422/v1/model.glb\" alt=\"Physic Bench (Medieval Monastery and Scriptorium)\" 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/37422/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/37422/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37423","slug":"medieval-monastery-and-scriptorium-mortar-and-pestle-s-99e44b7c","title":"Mortar And Pestle Set (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval apothecary’s mortar and pestle: a ribbed stone mortar and a turned pestle with a dish of dried herb, on an oak tray, 0.46 m wide.","description":"Free 3D model of a medieval apothecary’s mortar and pestle: a ribbed stone mortar and a turned pestle with a dish of dried herb, on an oak tray, 0.46 m wide. Dimensions 0.46 by 0.30 by 0.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. A dressing prop for a physic bench or an infirmary. The pestle rests in the tray beside the mortar rather than standing in it, so the set reads from above. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-mortar-and-pestle-s-99e44b7c","cdnUrl":"https://cdn.3dassets.dev/assets/37423/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-mortar-and-pestle-s-99e44b7c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37423/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37423/v1/poster.webp","blurhash":"UAEouf~p004nE--;Mx9G00D*?b%N=]D%-:-:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":29128,"triangles":1238,"vertices":1173,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23000000417232513,3.3560189370909765e-7,-0.1500015286465831],"max":[0.23000000417232513,0.29598883089918143,0.1500015286465831]},"sizeMeters":[0.46,0.296,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:14.358Z","updatedAt":"2026-09-12T04:54:14.479Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37423/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MortarAndPestleSetMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37423/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37423/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37423/v1/model.glb\" alt=\"Mortar And Pestle Set (Medieval Monastery and Scriptorium)\" 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/37423/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/37423/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37424","slug":"medieval-monastery-and-scriptorium-apothecary-jar-shel-cf7c7d3a","title":"Apothecary Jar Shelf (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval apothecary jar shelf: a four tier oak stand holding twenty stone and slipware drug jars with blank parchment labels, 1.3 by 1.5 m.","description":"Free 3D model of a medieval apothecary jar shelf: a four tier oak stand holding twenty stone and slipware drug jars with blank parchment labels, 1.3 by 1.5 m. Dimensions 1.30 by 1.69 by 0.30 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a wall in an infirmary or a physic room. The labels are blank parchment tags rather than written ones, so nothing on the shelf names a real preparation. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-apothecary-jar-shel-cf7c7d3a","cdnUrl":"https://cdn.3dassets.dev/assets/37424/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-apothecary-jar-shel-cf7c7d3a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37424/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37424/v1/poster.webp","blurhash":"U6B:HR^*004o~W-pDj9G01NI~VjERkxtxZIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":102256,"triangles":4916,"vertices":4700,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6500213629566332,0,-0.14996795556505021],"max":[0.6500213629566332,1.6899743667436002,0.14996795556505021]},"sizeMeters":[1.3,1.69,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:15.576Z","updatedAt":"2026-09-12T04:54:15.769Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37424/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApothecaryJarShelfMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37424/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37424/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37424/v1/model.glb\" alt=\"Apothecary Jar Shelf (Medieval Monastery and Scriptorium)\" 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/37424/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/37424/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37413","slug":"medieval-monastery-and-scriptorium-readers-pulpit-2d9f662e","title":"Readers Pulpit (Medieval Monastery and Scriptorium)","summary":"Free 3D model of a medieval refectory reader’s pulpit: a coursed stone bay on moulded corbels with a panelled parapet, an oak reading desk and six steps up to it.","description":"Free 3D model of a medieval refectory reader’s pulpit: a coursed stone bay on moulded corbels with a panelled parapet, an oak reading desk and six steps up to it. Dimensions 4.08 by 2.57 by 1.21 m (X by Y by Z). Metre units, +Y up, +Z front, origin on the footprint at ground level. Stands against a range wall at -Z, with the stair returning along the wall face at -X and the reader stepping in at the open end. The reading desk is fixed and a book set on it is a separate model. Static geometry, no moving parts. Invented throughout: no real building, institution or text is reproduced, and any written surface carries abstract marks rather than letters. Claustral palette: limestone ashlar and darker rubble stone, lime plaster, oak and pine, lead, wrought iron, brass, parchment, undyed linen, madder and garden green. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/medieval-monastery-and-scriptorium-readers-pulpit-2d9f662e","cdnUrl":"https://cdn.3dassets.dev/assets/37413/v1/model.glb","downloadUrl":"https://3dassets.dev/download/medieval-monastery-and-scriptorium-readers-pulpit-2d9f662e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37413/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37413/v1/poster.webp","blurhash":"UBEySj0100-:00-p-;IU00k9-;x[~q%2n$NH","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"medieval","title":"Medieval"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":65316,"triangles":2856,"vertices":2830,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-3.255000114440918,0.000031734144450679125,-0.5849586518918911],"max":[0.824999988079071,2.565916891105044,0.6249586733495632]},"sizeMeters":[4.08,2.566,1.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T04:54:10.237Z","updatedAt":"2026-09-12T04:54:10.353Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37413/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReadersPulpitMedievalMonasteryAndScriptorium(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37413/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37413/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37413/v1/model.glb\" alt=\"Readers Pulpit (Medieval Monastery and Scriptorium)\" 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/37413/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/37413/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}