{"data":{"id":"108","slug":"village-hall-and-community-events","title":"Village Hall and Community Events","summary":"Walk a village hall set out for fete day: a curtained stage with a piano and lectern, trestle and round tables with stacking chairs, a serving hatch onto the kitchen, and jumble, cake and book stalls along the side wall.","url":"https://3dassets.dev/demos/village-hall-and-community-events","coverUrl":"https://cdn.3dassets.dev/media/village-hall-and-community-events-demo.png","featured":true,"pack":{"slug":"village-hall-and-community-events","title":"Village Hall and Community Events","url":"https://3dassets.dev/packs/village-hall-and-community-events","summary":"Realistic kit for a hired village hall dressed for an event: parquet floor and wall modules, a demountable stage with drapes, stacking chairs, trestle and round tables, a serving hatch kitchen, bunting, and the jumble, cake, book and raffle stalls.","assetCount":52,"totalBytes":6301044,"starterScene":{"slug":"village-hall-and-community-events-villag-9649427e-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/35232/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-villag-9649427e-starter-scene","fileSize":3035640}},"placementCount":143,"assetCount":50,"spawn":{"position":[1,0,-0.5],"yaw":180},"publishedAt":"2026-09-11T12:15:57.394Z","updatedAt":"2026-09-11T12:15:57.394Z","description":"## What is placed\n\nA parquet hall about 14 m by 10 m, walled in modules, with roof beam bays and pendant lights overhead and bunting strung across. The stage fills the far end: platform modules with steps, a curtain rail with drapes, an upright piano, a lectern and PA speakers on stands. Down the middle are trestle tables and round banquet tables with cloths and flowers, stacking chairs around them, spare chairs stacked and a linked row against the back wall. The side wall carries the serving hatch with the tea urn beside it, and behind that wall sit the cooker, the sink counter, the fridge, the crockery shelf and the water boiler. Jumble, cake, book and raffle tables run along the aisle, with the tombola drum, the children's craft table, the bar table and till, the welcome table by the lobby door, a coat rail, a folding sign board, a table trolley, and the notice board, honours board, clock and radiators on the walls.\n\n## What moves\n\nThe lobby door and the fire exit open and close. The serving hatch shutter runs up and down. The tombola drum spins on its stand, the folding sign board tilts, the piano lid opens, the cooker and fridge doors open, the bin lids lift, and the coat rail, the table trolley and the mop bucket roll on their castors.\n\n## What does not move and why\n\nThe bunting, the stage drapes, the tablecloths and the clothes piled on the jumble table are static geometry: cloth is not reachable with the rigid node transforms this library uses, so it is modelled in a settled pose rather than faked. There are no visitors or helpers in the hall, because nothing in this library is skinned and a stiff figure would read worse than an empty room. The poster and sign faces are abstract: no real village, charity or brand is named on any of them.","scene":{"version":1,"spawn":{"position":[1,0,-0.5],"yaw":180},"ground":{"style":"none"},"environment":{"preset":"room","wallHeight":6,"lampHeight":4.6,"shadows":true},"placements":[{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-6,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-6,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-6,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-6,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[-6,0,1],"rotation":180},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-4,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-4,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-4,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-4,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[-4,0,1],"rotation":180},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-2,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-2,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-2,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[-2,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[-2,0,1],"rotation":180},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[0,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[0,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[0,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[0,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[0,0,1],"rotation":180},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[2,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[2,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[2,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[2,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[2,0,1],"rotation":180},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[4,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[4,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[4,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[4,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[4,0,1],"rotation":180},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[6,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[6,0,-5],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[6,0,-3],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","position":[6,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","position":[6,0,1],"rotation":180},{"asset":"village-hall-and-community-events-stage-platform-modul-d990f3ad","position":[-6,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-stage-platform-modul-208d60a2","position":[-4,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-stage-platform-modul-208d60a2","position":[-2,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-stage-platform-modul-208d60a2","position":[0,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-stage-platform-modul-d990f3ad","position":[2,0,-7],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-6,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-4,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-2,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[0,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[2,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[4,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[6,0,-8.1],"rotation":0},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-7.1,0,-7],"rotation":90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-7.1,0,-5],"rotation":90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-7.1,0,-3],"rotation":90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[-7.1,0,-1],"rotation":90},{"asset":"village-hall-and-community-events-lobby-door-module-e3e48cdf","position":[-7.1,0,1],"rotation":90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[7.1,0,-7],"rotation":-90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[7.1,0,-5],"rotation":-90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[7.1,0,-3],"rotation":-90},{"asset":"village-hall-and-community-events-fire-exit-door-modul-73d3da59","position":[7.1,0,-1],"rotation":-90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[7.1,0,1],"rotation":-90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[3.1,0,-7],"rotation":-90},{"asset":"village-hall-and-community-events-serving-hatch-module-c7a07fdd","position":[3.1,0,-5],"rotation":-90},{"asset":"village-hall-and-community-events-hall-wall-module-7fa29e11","position":[3.1,0,-3],"rotation":-90},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[-6,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[-4,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[-2,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[0,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[2,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[4,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-roof-beam-bay-7d586cc7","position":[6,3.2,-3],"rotation":0},{"asset":"village-hall-and-community-events-ceiling-pendant-ligh-7acec826","position":[-4,2.09,-4.5],"rotation":0},{"asset":"village-hall-and-community-events-ceiling-pendant-ligh-7acec826","position":[0,2.09,-4.5],"rotation":0},{"asset":"village-hall-and-community-events-ceiling-pendant-ligh-7acec826","position":[-4,2.09,0.5],"rotation":0},{"asset":"village-hall-and-community-events-ceiling-pendant-ligh-7acec826","position":[0,2.09,0.5],"rotation":0},{"asset":"village-hall-and-community-events-ceiling-pendant-ligh-7acec826","position":[4,2.09,-5],"rotation":0},{"asset":"village-hall-and-community-events-stage-curtain-rail-20c284fc","position":[-3.2,0.6,-7.7],"rotation":0},{"asset":"village-hall-and-community-events-stage-curtain-rail-20c284fc","position":[1,0.6,-7.7],"rotation":0},{"asset":"village-hall-and-community-events-upright-piano-31cd22a5","position":[-5.3,0.6,-6.9],"rotation":90},{"asset":"village-hall-and-community-events-lectern-9b989ad6","position":[1.2,0.6,-6.5],"rotation":0},{"asset":"village-hall-and-community-events-pa-speaker-on-stand-7ffa787e","position":[-6.4,0.6,-6.3],"rotation":0},{"asset":"village-hall-and-community-events-pa-speaker-on-stand-7ffa787e","position":[2.3,0.6,-6.3],"rotation":0},{"asset":"village-hall-and-community-events-honours-board-e5390b1f","position":[-6.1,1,-7.93],"rotation":0},{"asset":"village-hall-and-community-events-notice-board-fcf6b9e8","position":[-6.93,1.02,-3],"rotation":90},{"asset":"village-hall-and-community-events-wall-clock-7d73632e","position":[-6.93,2.2,-2],"rotation":90},{"asset":"village-hall-and-community-events-hall-radiator-f2b99708","position":[-6.93,0.25,-5.2],"rotation":90},{"asset":"village-hall-and-community-events-hall-radiator-f2b99708","position":[6.93,0.25,1],"rotation":-90},{"asset":"village-hall-and-community-events-round-banquet-table-fae63fb3","position":[-4.6,0,-3.6],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-4.26015176233946,0,-2.5013630375055533],"rotation":197.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-3.4786283621129668,0,-3.344998725998176],"rotation":257.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-3.818476599773507,0,-4.4436356884926225],"rotation":317.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-4.93984823766054,0,-4.698636962494447],"rotation":17.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-5.7213716378870325,0,-3.855001274001825],"rotation":77.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-5.381523400226492,0,-2.7563643115073773],"rotation":137.19},{"asset":"village-hall-and-community-events-round-banquet-table-fae63fb3","position":[-1.2,0,-3.6],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-0.8601517623394594,0,-2.5013630375055533],"rotation":197.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-0.07862836211296731,0,-3.344998725998176],"rotation":257.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-0.4184765997735074,0,-4.4436356884926225],"rotation":317.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-1.53984823766054,0,-4.698636962494447],"rotation":17.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-2.3213716378870326,0,-3.855001274001825],"rotation":77.19},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-1.9815234002264923,0,-2.7563643115073773],"rotation":137.19},{"asset":"village-hall-and-community-events-flower-arrangement-2928cddf","position":[-4.6,0.764,-3.6],"rotation":0},{"asset":"village-hall-and-community-events-flower-arrangement-2928cddf","position":[-1.2,0.764,-3.6],"rotation":0},{"asset":"village-hall-and-community-events-trestle-table-6cb6b682","position":[-5,0,-0.8],"rotation":0},{"asset":"village-hall-and-community-events-trestle-table-6cb6b682","position":[-3.1,0,-0.8],"rotation":0},{"asset":"village-hall-and-community-events-trestle-table-6cb6b682","position":[-1.2,0,-0.8],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-5.4,0,0],"rotation":180},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-4.2,0,0],"rotation":180},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-3,0,0],"rotation":180},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-1.8,0,0],"rotation":180},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-0.6,0,0],"rotation":180},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-4.8,0,-1.6],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-3.6,0,-1.6],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-2.4,0,-1.6],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-261008f9","position":[-1.2,0,-1.6],"rotation":0},{"asset":"village-hall-and-community-events-stacking-chair-stack-82ad8886","position":[-6.5,0,-5.7],"rotation":90},{"asset":"village-hall-and-community-events-stacking-chair-stack-82ad8886","position":[-6.5,0,-4.9],"rotation":90},{"asset":"village-hall-and-community-events-stacking-chair-row-fcb22800","position":[-4.2,0,1.45],"rotation":180},{"asset":"village-hall-and-community-events-tea-urn-table-dc629f08","position":[2.4,0,-5.6],"rotation":-90},{"asset":"village-hall-and-community-events-jumble-sale-table-49819f33","position":[2.4,0,-3.9],"rotation":-90},{"asset":"village-hall-and-community-events-cake-stall-table-65d347fc","position":[2.4,0,-2.2],"rotation":-90},{"asset":"village-hall-and-community-events-book-stall-table-11610050","position":[2.4,0,-0.5],"rotation":-90},{"asset":"village-hall-and-community-events-raffle-table-af0f6485","position":[2.4,0,1.2],"rotation":-90},{"asset":"village-hall-and-community-events-tombola-drum-4470b2a9","position":[1.2,0,1.5],"rotation":0},{"asset":"village-hall-and-community-events-domestic-cooker-c1914f27","position":[3.9,0,-7.65],"rotation":0},{"asset":"village-hall-and-community-events-kitchen-counter-run-09b422c6","position":[5.3,0,-7.66],"rotation":0},{"asset":"village-hall-and-community-events-kitchen-fridge-ddba55b1","position":[6.65,0,-7.67],"rotation":0},{"asset":"village-hall-and-community-events-crockery-shelf-70db7187","position":[5,1.25,-7.86],"rotation":0},{"asset":"village-hall-and-community-events-water-boiler-f7588ecb","position":[3.3,1.05,-6.4],"rotation":90},{"asset":"village-hall-and-community-events-tea-and-coffee-tray-41fc93a1","position":[5.3,0.9,-7.5],"rotation":0},{"asset":"village-hall-and-community-events-crockery-crate-ed80f580","position":[4.4,0,-3.2],"rotation":0},{"asset":"village-hall-and-community-events-mop-and-bucket-cf514901","position":[3.8,0,-2.8],"rotation":-90},{"asset":"village-hall-and-community-events-bar-table-with-till-bf53c3fe","position":[5.9,0,-1.2],"rotation":0},{"asset":"village-hall-and-community-events-glass-rack-aa310d29","position":[4.4,0,-1.4],"rotation":0},{"asset":"village-hall-and-community-events-bottle-crate-1822e126","position":[4,0,-1],"rotation":0},{"asset":"village-hall-and-community-events-table-trolley-0535ba4e","position":[5.6,0,1.3],"rotation":180},{"asset":"village-hall-and-community-events-trestle-table-folded-eb1044c3","position":[5.4,0,-0.2],"rotation":0},{"asset":"village-hall-and-community-events-trestle-table-folded-eb1044c3","position":[5.4,0,0.5],"rotation":0},{"asset":"village-hall-and-community-events-welcome-table-a62ba79a","position":[-6.2,0,1.4],"rotation":90},{"asset":"village-hall-and-community-events-coat-rail-on-castors-cea7eb3d","position":[-6.4,0,-0.6],"rotation":90},{"asset":"village-hall-and-community-events-tablecloth-stack-e7d5d903","position":[-6.5,0,-2],"rotation":0},{"asset":"village-hall-and-community-events-folding-sign-board-d517ef1f","position":[-5.6,0,0.3],"rotation":28.65},{"asset":"village-hall-and-community-events-craft-table-dcdd48a9","position":[-2,0,1.5],"rotation":0},{"asset":"village-hall-and-community-events-waste-and-recycling--c90aaf53","position":[0.2,0,1.6],"rotation":180},{"asset":"village-hall-and-community-events-bunting-run-on-poles-a18c40ec","position":[-3,0,-2.2],"rotation":0},{"asset":"village-hall-and-community-events-bunting-run-on-poles-a18c40ec","position":[1,0,-2.2],"rotation":0},{"asset":"village-hall-and-community-events-bunting-run-on-poles-a18c40ec","position":[5,0,-2.2],"rotation":0}],"points":[{"position":[-2,0,-5.5],"title":"The stage","text":"Curtains hang from the rail over a platform of modules with a set of steps at each end. The upright piano stands to one side and the lectern is set for the chair of the committee.","asset":"village-hall-and-community-events-stage-curtain-rail-20c284fc"},{"position":[-3,0,-1.5],"title":"Tables and chairs","text":"Trestle tables run down the hall with stacking chairs pulled up to them, and two round tables are dressed with cloths and flowers for the tea sitting.","asset":"village-hall-and-community-events-trestle-table-6cb6b682"},{"position":[1.5,0,-5],"title":"The serving hatch","text":"The shutter is up on the hatch and the tea urn is on the table beside it. Behind the wall are the cooker, the sink counter, the fridge and the crockery shelf.","asset":"village-hall-and-community-events-serving-hatch-module-c7a07fdd"},{"position":[1.25,0,-2.75],"title":"The stalls","text":"Jumble, cakes and books are laid out on three tables along the side wall, each one stocked and priced for the afternoon.","asset":"village-hall-and-community-events-cake-stall-table-65d347fc"},{"position":[0.5,0,1],"title":"Tombola and raffle","text":"The tombola drum turns on its stand next to the raffle prize table, with the craft table for the children just across the aisle.","asset":"village-hall-and-community-events-tombola-drum-4470b2a9"},{"position":[-4.75,0,0.75],"title":"The welcome table","text":"Just inside the lobby door, the welcome table takes the entry money into a cash tin. The coat rail and the folding sign board stand beside it.","asset":"village-hall-and-community-events-welcome-table-a62ba79a"}],"poster":{"position":[1,1.6,-0.5],"lookAt":[1,1.2,-6.5]}},"bounds":{"min":[-9.20000305334111,-0.0006357072270475328,-10.200003053341108],"max":[9.20000305334111,7.190165664838487,4.048000001907349]},"assets":[{"id":"35181","slug":"village-hall-and-community-events-parquet-floor-tile-ab6f98f8","title":"Parquet Hall Floor Tile (Village Hall and Community Events)","summary":"A 2 m square parquet hall floor tile, 50 mm deep: a chamfered sub floor with herringbone blocks laid over it in two tones of honey and stained oak. Tiles couple on a 2 m grid, so a hall floor of any size is a run of them.","description":"A 2 m square parquet hall floor tile, 50 mm deep: a chamfered sub floor with herringbone blocks laid over it in two tones of honey and stained oak. Tiles couple on a 2 m grid, so a hall floor of any size is a run of them. Ports floor-left, floor-right, floor-front and floor-back sit at the tile edge midpoints at half thickness, so the herringbone runs on unbroken from tile to tile. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-parquet-floor-tile-ab6f98f8","cdnUrl":"https://cdn.3dassets.dev/assets/35181/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-parquet-floor-tile-ab6f98f8","thumbnailUrl":"https://cdn.3dassets.dev/assets/35181/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35181/v1/poster.webp","blurhash":"U7D9O[-o00WB-pfRWBkB00IW~VWC4oj?W;R*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":39308,"triangles":864,"vertices":2009,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000001769537107804836,-1],"max":[1,0.05200177060999141,1]},"sizeMeters":[2,0.052,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:11.177Z","updatedAt":"2026-09-11T12:12:11.283Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35181/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParquetHallFloorTileVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35181/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35181/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35181/v1/model.glb\" alt=\"Parquet Hall Floor Tile (Village Hall and Community Events)\" 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/35181/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/35181/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35182","slug":"village-hall-and-community-events-parquet-floor-tile-b-965c446f","title":"Parquet Hall Floor Tile with Border (Village Hall and Community Events)","summary":"The same parquet tile with a stained border band along two edges, for the margin a hall floor keeps round its perimeter or the line a badminton court is marked on.","description":"The same parquet tile with a stained border band along two edges, for the margin a hall floor keeps round its perimeter or the line a badminton court is marked on. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-parquet-floor-tile-b-965c446f","cdnUrl":"https://cdn.3dassets.dev/assets/35182/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-parquet-floor-tile-b-965c446f","thumbnailUrl":"https://cdn.3dassets.dev/assets/35182/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35182/v1/poster.webp","blurhash":"U7D9O[-o00WD-:a}WBof00IW~VWC4ooJbIR*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":44764,"triangles":992,"vertices":2303,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000001769537107804836,-1],"max":[1,0.05200177060999141,1]},"sizeMeters":[2,0.052,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:11.218Z","updatedAt":"2026-09-11T12:12:11.352Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35182/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ParquetHallFloorTileWithBorderVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35182/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35182/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35182/v1/model.glb\" alt=\"Parquet Hall Floor Tile with Border (Village Hall and Community Events)\" 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/35182/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/35182/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35187","slug":"village-hall-and-community-events-stage-platform-modul-d990f3ad","title":"Stage Platform Module with Steps (Village Hall and Community Events)","summary":"The same stage module with a 1.3 m pair of treads down the front and a chrome grab rail either side, for the end of a run where performers get up onto the stage.","description":"The same stage module with a 1.3 m pair of treads down the front and a chrome grab rail either side, for the end of a run where performers get up onto the stage. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-stage-platform-modul-d990f3ad","cdnUrl":"https://cdn.3dassets.dev/assets/35187/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-stage-platform-modul-d990f3ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/35187/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35187/v1/poster.webp","blurhash":"UACiv_kC00WB?FIoIVxt00af~Vof0M?G-.IV","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":35884,"triangles":768,"vertices":1722,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0000582742789996,0.00007153985687113895,-1],"max":[1.0000582742789996,1.0418945408087172,1.6819441318511963]},"sizeMeters":[2,1.042,2.682],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:14.043Z","updatedAt":"2026-09-11T12:12:14.158Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35187/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StagePlatformModuleWithStepsVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35187/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35187/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35187/v1/model.glb\" alt=\"Stage Platform Module with Steps (Village Hall and Community Events)\" 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/35187/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/35187/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35185","slug":"village-hall-and-community-events-stage-platform-modul-208d60a2","title":"Village Hall Stage Platform Module (Village Hall and Community Events)","summary":"A 2 m square demountable stage platform at 600 mm: a parquet faced deck with a stained front nosing, a recessed black skirt and four adjustable feet. Modules couple side to side, so a stage of any width is a run of them.","description":"A 2 m square demountable stage platform at 600 mm: a parquet faced deck with a stained front nosing, a recessed black skirt and four adjustable feet. Modules couple side to side, so a stage of any width is a run of them. Ports stage-left, stage-right and stage-back sit at the deck edges at mid height, so a stage is as wide as the hall allows and butts back to the wall. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-stage-platform-modul-208d60a2","cdnUrl":"https://cdn.3dassets.dev/assets/35185/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-stage-platform-modul-208d60a2","thumbnailUrl":"https://cdn.3dassets.dev/assets/35185/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35185/v1/poster.webp","blurhash":"UGDSdltQ02a{~Va|E2j[00Rj-ojZ02oL%1R%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":17804,"triangles":384,"vertices":856,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000006866570343043096,-1],"max":[1,0.6000251956517111,1.0430251546437155]},"sizeMeters":[2,0.6,2.043],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:13.976Z","updatedAt":"2026-09-11T12:12:14.083Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35185/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageHallStagePlatformModuleVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35185/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35185/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35185/v1/model.glb\" alt=\"Village Hall Stage Platform Module (Village Hall and Community Events)\" 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/35185/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/35185/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35183","slug":"village-hall-and-community-events-hall-wall-module-7fa29e11","title":"Village Hall Wall Module (Village Hall and Community Events)","summary":"A 2 m by 3.2 m village hall wall module: cream painted plaster over a stained dado rail, a white skirting and a high window with a glazing bar and a moulded cill at 2 m. Modules butt on the 2 m module, so a hall wall of any length is a run of them.","description":"A 2 m by 3.2 m village hall wall module: cream painted plaster over a stained dado rail, a white skirting and a high window with a glazing bar and a moulded cill at 2 m. Modules butt on the 2 m module, so a hall wall of any length is a run of them. Ports wall-left and wall-right sit at the module ends at mid height, and the doors and the serving hatch share them. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-hall-wall-module-7fa29e11","cdnUrl":"https://cdn.3dassets.dev/assets/35183/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-hall-wall-module-7fa29e11","thumbnailUrl":"https://cdn.3dassets.dev/assets/35183/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35183/v1/poster.webp","blurhash":"U7G922-;009F-=%MIU9F00R+~ps.%2%MNH9Z","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":37732,"triangles":824,"vertices":1852,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0,-0.10000305334110919],"max":[1,3.200000047683716,0.13595686186138323]},"sizeMeters":[2,3.2,0.236],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:11.238Z","updatedAt":"2026-09-11T12:12:11.358Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35183/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageHallWallModuleVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35183/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35183/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35183/v1/model.glb\" alt=\"Village Hall Wall Module (Village Hall and Community Events)\" 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/35183/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/35183/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35186","slug":"village-hall-and-community-events-lobby-door-module-e3e48cdf","title":"Hall Entrance Lobby Door Module (Village Hall and Community Events)","summary":"The hall wall module with the entrance lobby pair in it: two blue leaves with tall vision panels and chrome pull handles, a stained lining and a glazed overlight above the head. The leaves hang on the hall face and swing in, so the lobby stays clear.","description":"The hall wall module with the entrance lobby pair in it: two blue leaves with tall vision panels and chrome pull handles, a stained lining and a glazed overlight above the head. The leaves hang on the hall face and swing in, so the lobby stays clear. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: lobby-leaf-l, lobby-leaf-r. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-lobby-door-module-e3e48cdf","cdnUrl":"https://cdn.3dassets.dev/assets/35186/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-lobby-door-module-e3e48cdf","thumbnailUrl":"https://cdn.3dassets.dev/assets/35186/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35186/v1/poster.webp","blurhash":"UDD,J{%M00My~V%M4;D%I9RjksogNLxtxVIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41628,"triangles":992,"vertices":2243,"meshes":10,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1,0,-0.10000305334110919],"max":[1,3.200000047683716,0.12403077918767955]},"sizeMeters":[2,3.2,0.224],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:12.991Z","updatedAt":"2026-09-11T12:12:13.087Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35186/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 HallEntranceLobbyDoorModuleVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35186/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/35186/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35186/v1/model.glb\" alt=\"Hall Entrance Lobby Door Module (Village Hall and Community Events)\" 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/35186/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/35186/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35184","slug":"village-hall-and-community-events-fire-exit-door-modul-73d3da59","title":"Hall Fire Exit Door Module (Village Hall and Community Events)","summary":"The hall wall module with a 1.6 m by 2.1 m fire exit pair in it: two green leaves on push bars in a lined opening, with a blank green exit sign over the head. The leaves hang near the outer face and swing outward, the way a fire door has to.","description":"The hall wall module with a 1.6 m by 2.1 m fire exit pair in it: two green leaves on push bars in a lined opening, with a blank green exit sign over the head. The leaves hang near the outer face and swing outward, the way a fire door has to. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: exit-leaf-l, exit-leaf-r. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-fire-exit-door-modul-73d3da59","cdnUrl":"https://cdn.3dassets.dev/assets/35184/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-fire-exit-door-modul-73d3da59","thumbnailUrl":"https://cdn.3dassets.dev/assets/35184/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35184/v1/poster.webp","blurhash":"UCD,T7xu00M{~Dxu55D%H@V[tkkCR%xuxHE1","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42332,"triangles":1024,"vertices":2280,"meshes":8,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1,0,-0.10000305334110919],"max":[1,3.200000047683716,0.13201527892722398]},"sizeMeters":[2,3.2,0.232],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:11.297Z","updatedAt":"2026-09-11T12:12:11.425Z","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/35184/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 HallFireExitDoorModuleVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35184/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/35184/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35184/v1/model.glb\" alt=\"Hall Fire Exit Door Module (Village Hall and Community Events)\" 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/35184/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/35184/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35210","slug":"village-hall-and-community-events-serving-hatch-module-c7a07fdd","title":"Serving Hatch Wall Module, Shutter Up (Village Hall and Community Events)","summary":"The same serving hatch with the shutter already rolled up into its hood and the counter open to the hall, for a hall laid out mid event. The shutter stays a named node but holds this pose, so it ships no clips.","description":"The same serving hatch with the shutter already rolled up into its hood and the counter open to the hall, for a hall laid out mid event. The shutter stays a named node but holds this pose, so it ships no clips. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: hatch-shutter. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-serving-hatch-module-c7a07fdd","cdnUrl":"https://cdn.3dassets.dev/assets/35210/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-serving-hatch-module-c7a07fdd","thumbnailUrl":"https://cdn.3dassets.dev/assets/35210/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35210/v1/poster.webp","blurhash":"UAEMLAx[00aLNHxuxaIUbIWBIAof~V-:9G4o","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":70720,"triangles":1552,"vertices":3472,"meshes":7,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1,0,-0.15996734817509292],"max":[1,3.200000047683716,0.25996734221462847]},"sizeMeters":[2,3.2,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:27.158Z","updatedAt":"2026-09-11T12:12:27.254Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35210/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ServingHatchWallModuleShutterUpVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35210/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35210/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35210/v1/model.glb\" alt=\"Serving Hatch Wall Module, Shutter Up (Village Hall and Community Events)\" 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/35210/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/35210/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35196","slug":"village-hall-and-community-events-roof-beam-bay-7d586cc7","title":"Hall Roof Beam Bay (Village Hall and Community Events)","summary":"One bay of a village hall roof: a 10 m stained tie beam, two rafters up to a ridge at 1.9 m, a king post, struts, five purlins carrying the next bay and steel straps at the feet. Bays repeat on the 2 m module and rest on y=0, so the scene lifts them to the wall head.","description":"One bay of a village hall roof: a 10 m stained tie beam, two rafters up to a ridge at 1.9 m, a king post, struts, five purlins carrying the next bay and steel straps at the feet. Bays repeat on the 2 m module and rest on y=0, so the scene lifts them to the wall head. Ports beam-left and beam-right sit at the bay ends on the tie beam line. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-roof-beam-bay-7d586cc7","cdnUrl":"https://cdn.3dassets.dev/assets/35196/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-roof-beam-bay-7d586cc7","thumbnailUrl":"https://cdn.3dassets.dev/assets/35196/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35196/v1/poster.webp","blurhash":"U47TtV%00fk8V[9uI;xt01a#~AjGSg~A=_E1","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":30884,"triangles":688,"vertices":1547,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0000709744758827,-0.00016565530174339482,-5.022888660430908],"max":[1.0000709744758827,1.9901656648384867,5.022888660430908]},"sizeMeters":[2,1.99,10.046],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:18.736Z","updatedAt":"2026-09-11T12:12:18.927Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35196/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HallRoofBeamBayVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35196/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35196/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35196/v1/model.glb\" alt=\"Hall Roof Beam Bay (Village Hall and Community Events)\" 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/35196/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/35196/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35194","slug":"village-hall-and-community-events-ceiling-pendant-ligh-7acec826","title":"Hall Ceiling Pendant Light (Village Hall and Community Events)","summary":"A 380 mm enamelled pendant light on an 860 mm flex with a ceiling rose: a white shade with a warm yellow inside and a brass gallery. Modelled hanging from y=0 with the shade at the bottom, so the scene lifts it until the rose meets the roof beam.","description":"A 380 mm enamelled pendant light on an 860 mm flex with a ceiling rose: a white shade with a warm yellow inside and a brass gallery. Modelled hanging from y=0 with the shade at the bottom, so the scene lifts it until the rose meets the roof beam. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-ceiling-pendant-ligh-7acec826","cdnUrl":"https://cdn.3dassets.dev/assets/35194/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-ceiling-pendant-ligh-7acec826","thumbnailUrl":"https://cdn.3dassets.dev/assets/35194/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35194/v1/poster.webp","blurhash":"U69H2_%M004n00WB~qt7~qay4nt7%LayM{t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18748,"triangles":380,"vertices":799,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.19000907454989951,0,-0.19000907454989951],"max":[0.19000907454989951,1.1549999713897705,0.19000907454989951]},"sizeMeters":[0.38,1.155,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:18.796Z","updatedAt":"2026-09-11T12:12:19.013Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35194/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HallCeilingPendantLightVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35194/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35194/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35194/v1/model.glb\" alt=\"Hall Ceiling Pendant Light (Village Hall and Community Events)\" 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/35194/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/35194/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35188","slug":"village-hall-and-community-events-stage-curtain-rail-20c284fc","title":"Stage Curtain Rail with Drapes (Village Hall and Community Events)","summary":"A 4 m free standing stage drape stand: a chrome track on two uprights with a red pelmet and a yellow trim band, and two gathered red drapes parted over the middle of the stage. The drapes are cloth: they are modelled and never animated.","description":"A 4 m free standing stage drape stand: a chrome track on two uprights with a red pelmet and a yellow trim band, and two gathered red drapes parted over the middle of the stage. The drapes are cloth: they are modelled and never animated. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-stage-curtain-rail-20c284fc","cdnUrl":"https://cdn.3dassets.dev/assets/35188/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-stage-curtain-rail-20c284fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/35188/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35188/v1/poster.webp","blurhash":"UGGZmv-V0|$ktk}tr[Ef0yS#-BV@R,S~s,r?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":57248,"triangles":1376,"vertices":2836,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2,0.00010696704043724331,-0.07186559826546285],"max":[2,2.410116075166701,0.11399786236929323]},"sizeMeters":[4,2.41,0.186],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:14.140Z","updatedAt":"2026-09-11T12:12:14.316Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35188/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StageCurtainRailWithDrapesVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35188/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35188/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35188/v1/model.glb\" alt=\"Stage Curtain Rail with Drapes (Village Hall and Community Events)\" 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/35188/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/35188/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35205","slug":"village-hall-and-community-events-upright-piano-31cd22a5","title":"Upright Piano (Village Hall and Community Events)","summary":"A 1.46 m upright piano in stained case work: a fall over three octaves of modelled keys, a blank red front panel, three brass pedals on a lyre board and a hinged top lid. The lid is a named node on the case back edge and lifts; the keys do not move.","description":"A 1.46 m upright piano in stained case work: a fall over three octaves of modelled keys, a blank red front panel, three brass pedals on a lyre board and a hinged top lid. The lid is a named node on the case back edge and lifts; the keys do not move. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: piano-lid. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-upright-piano-31cd22a5","cdnUrl":"https://cdn.3dassets.dev/assets/35205/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-upright-piano-31cd22a5","thumbnailUrl":"https://cdn.3dassets.dev/assets/35205/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35205/v1/poster.webp","blurhash":"U6Ennp%g001G~B}sJ69u00m-%N=e9[K1rvEN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":51616,"triangles":1088,"vertices":2456,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.7300000190734863,0.000017403715875663472,-0.3100294519300976],"max":[0.7300000190734863,1.2149663444119332,0.540029471003584]},"sizeMeters":[1.46,1.215,0.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:24.575Z","updatedAt":"2026-09-11T12:12:24.773Z","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/35205/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 UprightPianoVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35205/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/35205/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35205/v1/model.glb\" alt=\"Upright Piano (Village Hall and Community Events)\" 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/35205/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/35205/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35203","slug":"village-hall-and-community-events-lectern-9b989ad6","title":"Hall Lectern (Village Hall and Community Events)","summary":"A 1.1 m stained oak lectern: a shaped base, a column, a sloping reading top with a brass book stop, a small reading light and a blank red front panel with no crest or lettering on it.","description":"A 1.1 m stained oak lectern: a shaped base, a column, a sloping reading top with a brass book stop, a small reading light and a blank red front panel with no crest or lettering on it. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-lectern-9b989ad6","cdnUrl":"https://cdn.3dassets.dev/assets/35203/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-lectern-9b989ad6","thumbnailUrl":"https://cdn.3dassets.dev/assets/35203/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35203/v1/poster.webp","blurhash":"U49i-t=z000eK6of,oV?2aJ-{|[p5Aj[=@WA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20244,"triangles":404,"vertices":890,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2699871117949293,0,-0.20469512921890248],"max":[0.2699871117949293,1.3396462202072144,0.20331955889770442]},"sizeMeters":[0.54,1.34,0.408],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:23.534Z","updatedAt":"2026-09-11T12:12:23.741Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35203/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HallLecternVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35203/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35203/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35203/v1/model.glb\" alt=\"Hall Lectern (Village Hall and Community Events)\" 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/35203/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/35203/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35204","slug":"village-hall-and-community-events-pa-speaker-on-stand-7ffa787e","title":"PA Speaker on a Stand (Village Hall and Community Events)","summary":"A 1.8 m PA speaker on a tripod stand: a charcoal cabinet with a chrome driver grille and a tweeter horn on a telescopic pole with folding legs, and a red status band across the foot of the baffle.","description":"A 1.8 m PA speaker on a tripod stand: a charcoal cabinet with a chrome driver grille and a tweeter horn on a telescopic pole with folding legs, and a red status band across the foot of the baffle. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-pa-speaker-on-stand-7ffa787e","cdnUrl":"https://cdn.3dassets.dev/assets/35204/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-pa-speaker-on-stand-7ffa787e","thumbnailUrl":"https://cdn.3dassets.dev/assets/35204/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35204/v1/poster.webp","blurhash":"U04xxkX-00hz~CrX00T{~qXR4Tv#~WIT0e?w","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19788,"triangles":412,"vertices":902,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3621212836460362,0,-0.27996008019770097],"max":[0.3621212836460362,1.8086469173431396,0.412930472901711]},"sizeMeters":[0.724,1.809,0.693],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:23.834Z","updatedAt":"2026-09-11T12:12:23.966Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35204/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PASpeakerOnAStandVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35204/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35204/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35204/v1/model.glb\" alt=\"PA Speaker on a Stand (Village Hall and Community Events)\" 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/35204/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/35204/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35189","slug":"village-hall-and-community-events-honours-board-e5390b1f","title":"Village Hall Honours Board (Village Hall and Community Events)","summary":"A 1.1 m by 0.86 m stained oak honours board with a moulded pediment, an inset panel and a header with ten blank gilt name strips on it. Every strip is deliberately blank, so no real person or place is named. Modelled with its base on y=0, so the scene lifts it up the wall.","description":"A 1.1 m by 0.86 m stained oak honours board with a moulded pediment, an inset panel and a header with ten blank gilt name strips on it. Every strip is deliberately blank, so no real person or place is named. Modelled with its base on y=0, so the scene lifts it up the wall. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-honours-board-e5390b1f","cdnUrl":"https://cdn.3dassets.dev/assets/35189/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-honours-board-e5390b1f","thumbnailUrl":"https://cdn.3dassets.dev/assets/35189/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35189/v1/poster.webp","blurhash":"UAEoJD%300R+%L?Gog5701WV~Uoes:xZRkS1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38240,"triangles":844,"vertices":1894,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5899999737739563,-0.00003888685189507024,-0.03501479969966387],"max":[0.5899999737739563,0.9300388940044524,0.05501479925262903]},"sizeMeters":[1.18,0.93,0.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:15.912Z","updatedAt":"2026-09-11T12:12:16.029Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35189/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageHallHonoursBoardVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35189/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35189/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35189/v1/model.glb\" alt=\"Village Hall Honours Board (Village Hall and Community Events)\" 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/35189/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/35189/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35190","slug":"village-hall-and-community-events-notice-board-fcf6b9e8","title":"Hall Notice Board with Posters (Village Hall and Community Events)","summary":"A 1.2 m by 0.9 m cork notice board in a stained frame, pinned with six abstract posters in red, blue, yellow, green and white. Every poster face is a blank coloured field with no readable text on it. Modelled with its base on y=0, so the scene lifts it up the wall.","description":"A 1.2 m by 0.9 m cork notice board in a stained frame, pinned with six abstract posters in red, blue, yellow, green and white. Every poster face is a blank coloured field with no readable text on it. Modelled with its base on y=0, so the scene lifts it up the wall. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-notice-board-fcf6b9e8","cdnUrl":"https://cdn.3dassets.dev/assets/35190/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-notice-board-fcf6b9e8","thumbnailUrl":"https://cdn.3dassets.dev/assets/35190/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35190/v1/poster.webp","blurhash":"UAFrFV?r00-N-.~AxU5Q00Va~pFew0a#I]N2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24216,"triangles":476,"vertices":1032,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.00002285908069415976,-0.027466659619824425],"max":[0.6000000238418579,0.9205321486609919,0.04970256360693681]},"sizeMeters":[1.2,0.921,0.077],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:15.929Z","updatedAt":"2026-09-11T12:12:16.046Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35190/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HallNoticeBoardWithPostersVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35190/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35190/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35190/v1/model.glb\" alt=\"Hall Notice Board with Posters (Village Hall and Community Events)\" 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/35190/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/35190/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35192","slug":"village-hall-and-community-events-wall-clock-7d73632e","title":"Hall Wall Clock (Village Hall and Community Events)","summary":"A 340 mm brass rimmed hall clock: a domed case, a white dial with twelve batons and hour and minute hands stopped at a quarter past ten. The hands are geometry and do not turn. Modelled with its base on y=0, so the scene lifts it up the wall.","description":"A 340 mm brass rimmed hall clock: a domed case, a white dial with twelve batons and hour and minute hands stopped at a quarter past ten. The hands are geometry and do not turn. Modelled with its base on y=0, so the scene lifts it up the wall. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-wall-clock-7d73632e","cdnUrl":"https://cdn.3dassets.dev/assets/35192/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-wall-clock-7d73632e","thumbnailUrl":"https://cdn.3dassets.dev/assets/35192/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35192/v1/poster.webp","blurhash":"UCDJFn.9009D-mt7NMRk00IA~q%gj[M{IUo#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18540,"triangles":408,"vertices":828,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,0,-0.055009231879892456],"max":[0.17000000178813934,0.3400000035762787,0.05299761973875792]},"sizeMeters":[0.34,0.34,0.108],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:17.001Z","updatedAt":"2026-09-11T12:12:17.102Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35192/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HallWallClockVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35192/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35192/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35192/v1/model.glb\" alt=\"Hall Wall Clock (Village Hall and Community Events)\" 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/35192/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/35192/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35191","slug":"village-hall-and-community-events-hall-radiator-f2b99708","title":"Hall Panel Radiator (Village Hall and Community Events)","summary":"A 1 m by 0.58 m double panel hall radiator with thirteen convector fins, a top and bottom rail, two wall brackets and a brass thermostatic valve. Modelled with its base on y=0, so the scene lifts it to its mounting height off the skirting.","description":"A 1 m by 0.58 m double panel hall radiator with thirteen convector fins, a top and bottom rail, two wall brackets and a brass thermostatic valve. Modelled with its base on y=0, so the scene lifts it to its mounting height off the skirting. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-hall-radiator-f2b99708","cdnUrl":"https://cdn.3dassets.dev/assets/35191/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-hall-radiator-f2b99708","thumbnailUrl":"https://cdn.3dassets.dev/assets/35191/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35191/v1/poster.webp","blurhash":"UGIE|g-;00xuWC~qxu9F00M|?bWVWAWCoLM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":67576,"triangles":1584,"vertices":3455,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5899999737739563,-0.000017403895051559815,-0.14000701976126412],"max":[0.5,0.580017387205751,0.05499435407574694]},"sizeMeters":[1.09,0.58,0.195],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:16.956Z","updatedAt":"2026-09-11T12:12:17.061Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35191/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HallPanelRadiatorVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35191/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35191/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35191/v1/model.glb\" alt=\"Hall Panel Radiator (Village Hall and Community Events)\" 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/35191/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/35191/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35201","slug":"village-hall-and-community-events-round-banquet-table-fae63fb3","title":"Round Banquet Table with Cloth (Village Hall and Community Events)","summary":"A 1.6 m round banquet table at 750 mm under a floor length white cloth with a green hem band and green and red ring bands on the top. The cloth is modelled, never animated: a hanging cloth is not reachable with one rigid node transform.","description":"A 1.6 m round banquet table at 750 mm under a floor length white cloth with a green hem band and green and red ring bands on the top. The cloth is modelled, never animated: a hanging cloth is not reachable with one rigid node transform. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-round-banquet-table-fae63fb3","cdnUrl":"https://cdn.3dassets.dev/assets/35201/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-round-banquet-table-fae63fb3","thumbnailUrl":"https://cdn.3dassets.dev/assets/35201/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35201/v1/poster.webp","blurhash":"UDFY.G-;00Mx-;ayM{oL00My~qs:9Zt7xaRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32908,"triangles":740,"vertices":1501,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.8579999804496765,0.000016632094786238685,-0.8493066001124685],"max":[0.8579999804496765,0.777004926182107,0.8493066001124685]},"sizeMeters":[1.716,0.777,1.699],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:22.745Z","updatedAt":"2026-09-11T12:12:22.846Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35201/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoundBanquetTableWithClothVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35201/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35201/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35201/v1/model.glb\" alt=\"Round Banquet Table with Cloth (Village Hall and Community Events)\" 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/35201/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/35201/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35195","slug":"village-hall-and-community-events-stacking-chair-261008f9","title":"Village Hall Stacking Chair (Village Hall and Community Events)","summary":"A 0.44 m village hall stacking chair with a seat at 450 mm: a bent charcoal steel frame in one tube a side with a blue moulded shell seat and back. It is the chair a hall owns two hundred of, and it stacks.","description":"A 0.44 m village hall stacking chair with a seat at 450 mm: a bent charcoal steel frame in one tube a side with a blue moulded shell seat and back. It is the chair a hall owns two hundred of, and it stacks. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-stacking-chair-261008f9","cdnUrl":"https://cdn.3dassets.dev/assets/35195/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-stacking-chair-261008f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/35195/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35195/v1/poster.webp","blurhash":"U884_Ox^00en%$RiDht84TRN%%tSMHoyyEWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21352,"triangles":456,"vertices":1034,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.23001017717465339,-0.0006357072270475328,-0.3829635977745056],"max":[0.23001017717465339,0.8412583470344543,0.2199999988079071]},"sizeMeters":[0.46,0.842,0.603],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:18.693Z","updatedAt":"2026-09-11T12:12:18.809Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35195/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VillageHallStackingChairVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35195/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35195/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35195/v1/model.glb\" alt=\"Village Hall Stacking Chair (Village Hall and Community Events)\" 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/35195/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/35195/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35229","slug":"village-hall-and-community-events-flower-arrangement-2928cddf","title":"Flower Arrangement in a Jug (Village Hall and Community Events)","summary":"A 0.5 m flower arrangement in a white jug: eight stems with leaves and round heads in red, yellow and white. It is the thing on the welcome table and in the middle of every round table.","description":"A 0.5 m flower arrangement in a white jug: eight stems with leaves and round heads in red, yellow and white. It is the thing on the welcome table and in the middle of every round table. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-flower-arrangement-2928cddf","cdnUrl":"https://cdn.3dassets.dev/assets/35229/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-flower-arrangement-2928cddf","thumbnailUrl":"https://cdn.3dassets.dev/assets/35229/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35229/v1/poster.webp","blurhash":"UABf@EIn00%Ns$oIo%NK00%2~pIU9#f,sinh","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":56024,"triangles":1316,"vertices":3116,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.1827966937541809,0,-0.17280671445430407],"max":[0.1828034447004298,0.50500084079624,0.24279753863811493]},"sizeMeters":[0.366,0.505,0.416],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:37.192Z","updatedAt":"2026-09-11T12:12:37.380Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35229/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlowerArrangementInAJugVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35229/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35229/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35229/v1/model.glb\" alt=\"Flower Arrangement in a Jug (Village Hall and Community Events)\" 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/35229/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/35229/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35200","slug":"village-hall-and-community-events-trestle-table-6cb6b682","title":"Folding Trestle Table (Village Hall and Community Events)","summary":"A 1.8 m by 0.75 m folding trestle table at 720 mm: a beech faced top with an aluminium rim on a charcoal folding frame. The frame is modelled in the open position; the folded table is its own model.","description":"A 1.8 m by 0.75 m folding trestle table at 720 mm: a beech faced top with an aluminium rim on a charcoal folding frame. The frame is modelled in the open position; the folded table is its own model. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-trestle-table-6cb6b682","cdnUrl":"https://cdn.3dassets.dev/assets/35200/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-trestle-table-6cb6b682","thumbnailUrl":"https://cdn.3dassets.dev/assets/35200/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35200/v1/poster.webp","blurhash":"ULCG3@t79Gj]~V%2IoM|9Z%LxaIV0Mof%1Rk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28352,"triangles":608,"vertices":1370,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.906000018119812,0.00003990399996478544,-0.3810414822751283],"max":[0.906000018119812,0.720051741587849,0.3810414822751283]},"sizeMeters":[1.812,0.72,0.762],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:21.978Z","updatedAt":"2026-09-11T12:12:22.170Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35200/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldingTrestleTableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35200/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35200/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35200/v1/model.glb\" alt=\"Folding Trestle Table (Village Hall and Community Events)\" 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/35200/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/35200/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35197","slug":"village-hall-and-community-events-stacking-chair-stack-82ad8886","title":"Stack of Ten Stacking Chairs (Village Hall and Community Events)","summary":"Ten of the same stacking chairs stacked one in another, 1.22 m tall, leaning back the way a real stack does. One model for the pile that lives against the wall between events.","description":"Ten of the same stacking chairs stacked one in another, 1.22 m tall, leaning back the way a real stack does. One model for the pile that lives against the wall between events. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-stacking-chair-stack-82ad8886","cdnUrl":"https://cdn.3dassets.dev/assets/35197/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-stacking-chair-stack-82ad8886","thumbnailUrl":"https://cdn.3dassets.dev/assets/35197/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35197/v1/poster.webp","blurhash":"U77UuMx^00I8%iM{I9%ND4Mx%%%hi[tRkYRO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":194912,"triangles":4560,"vertices":10340,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.22999472864783707,0,-0.6349758916461523],"max":[0.22999472864783707,1.6068940162658691,0.2200123184287603]},"sizeMeters":[0.46,1.607,0.855],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:21.686Z","updatedAt":"2026-09-11T12:12:21.814Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35197/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StackOfTenStackingChairsVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35197/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35197/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35197/v1/model.glb\" alt=\"Stack of Ten Stacking Chairs (Village Hall and Community Events)\" 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/35197/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/35197/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35198","slug":"village-hall-and-community-events-stacking-chair-row-fcb22800","title":"Row of Six Linked Chairs (Village Hall and Community Events)","summary":"A row of six chairs linked seat to seat with chrome row bars, 3 m long, seats alternating blue and red. One model for a row of seating set out for a concert or a meeting.","description":"A row of six chairs linked seat to seat with chrome row bars, 3 m long, seats alternating blue and red. One model for a row of seating set out for a concert or a meeting. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-stacking-chair-row-fcb22800","cdnUrl":"https://cdn.3dassets.dev/assets/35198/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-stacking-chair-row-fcb22800","thumbnailUrl":"https://cdn.3dassets.dev/assets/35198/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35198/v1/poster.webp","blurhash":"U4AJvbTy00JW?w_4OEE100,[~XMw4T00+]=f","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":100076,"triangles":2856,"vertices":6464,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.4800000190734863,0.000029086093461361262,-0.3829851459354689],"max":[1.4800000190734863,0.8418649444775226,0.22002154696887039]},"sizeMeters":[2.96,0.842,0.603],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:21.702Z","updatedAt":"2026-09-11T12:12:21.830Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35198/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RowOfSixLinkedChairsVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35198/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35198/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35198/v1/model.glb\" alt=\"Row of Six Linked Chairs (Village Hall and Community Events)\" 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/35198/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/35198/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35206","slug":"village-hall-and-community-events-tea-urn-table-dc629f08","title":"Tea Urn on a Table (Village Hall and Community Events)","summary":"A 1.1 m cloth laid table with a 30 litre stainless tea urn on it: a domed lid, a brass tap over a drip tray, a red ready light, a stack of saucers, three mugs and a teapot. The tap is geometry and does not turn, and the cloth is modelled, never animated.","description":"A 1.1 m cloth laid table with a 30 litre stainless tea urn on it: a domed lid, a brass tap over a drip tray, a red ready light, a stack of saucers, three mugs and a teapot. The tap is geometry and does not turn, and the cloth is modelled, never animated. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-tea-urn-table-dc629f08","cdnUrl":"https://cdn.3dassets.dev/assets/35206/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-tea-urn-table-dc629f08","thumbnailUrl":"https://cdn.3dassets.dev/assets/35206/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35206/v1/poster.webp","blurhash":"UCCi?mx]00n%NGt7ofM{00Rj~qM{^+RjIUkC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":100936,"triangles":2460,"vertices":5058,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.5950000286102295,0,-0.34497544918781514],"max":[0.5950000286102295,1.4149999618530273,0.34497544918781514]},"sizeMeters":[1.19,1.415,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:25.319Z","updatedAt":"2026-09-11T12:12:25.420Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35206/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeaUrnOnATableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35206/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35206/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35206/v1/model.glb\" alt=\"Tea Urn on a Table (Village Hall and Community Events)\" 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/35206/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/35206/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35221","slug":"village-hall-and-community-events-jumble-sale-table-49819f33","title":"Jumble Sale Table (Village Hall and Community Events)","summary":"A 1.5 m jumble sale table: a cloth laid trestle with three piles of folded clothes, a table lamp, a vase and a couple of odd mugs, and a blank folded price card. The clothes are cloth and are modelled, never animated.","description":"A 1.5 m jumble sale table: a cloth laid trestle with three piles of folded clothes, a table lamp, a vase and a couple of odd mugs, and a blank folded price card. The clothes are cloth and are modelled, never animated. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-jumble-sale-table-49819f33","cdnUrl":"https://cdn.3dassets.dev/assets/35221/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-jumble-sale-table-49819f33","thumbnailUrl":"https://cdn.3dassets.dev/assets/35221/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35221/v1/poster.webp","blurhash":"U9B;2#$S00T^~9-qNgJ~00r;.7It0iM]$uQ:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":191388,"triangles":4944,"vertices":9723,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.7979999780654907,0.000016492127891953867,-0.3979649538123168],"max":[0.7979999780654907,1.0720166661684087,0.3979649538123168]},"sizeMeters":[1.596,1.072,0.796],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:33.707Z","updatedAt":"2026-09-11T12:12:33.815Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35221/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function JumbleSaleTableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35221/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35221/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35221/v1/model.glb\" alt=\"Jumble Sale Table (Village Hall and Community Events)\" 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/35221/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/35221/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35222","slug":"village-hall-and-community-events-cake-stall-table-65d347fc","title":"Cake Stall Table (Village Hall and Community Events)","summary":"The same cloth laid trestle dressed as a cake stall: two footed cake stands under domed sponges, a plate of buns, a stack of plates and a blank standing card. Nothing on it carries a name or a price.","description":"The same cloth laid trestle dressed as a cake stall: two footed cake stands under domed sponges, a plate of buns, a stack of plates and a blank standing card. Nothing on it carries a name or a price. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-cake-stall-table-65d347fc","cdnUrl":"https://cdn.3dassets.dev/assets/35222/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-cake-stall-table-65d347fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/35222/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35222/v1/poster.webp","blurhash":"UCGZ]h=|00RP~V^QMe9Z01S#-AIU9a5+O;RQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":133968,"triangles":3384,"vertices":6774,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.7979999780654907,0.000016492127891953867,-0.3979649538123168],"max":[0.7979999780654907,1.0298725072434654,0.3979649538123168]},"sizeMeters":[1.596,1.03,0.796],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:33.961Z","updatedAt":"2026-09-11T12:12:34.056Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35222/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CakeStallTableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35222/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35222/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35222/v1/model.glb\" alt=\"Cake Stall Table (Village Hall and Community Events)\" 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/35222/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/35222/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35223","slug":"village-hall-and-community-events-book-stall-table-11610050","title":"Book Stall Table (Village Hall and Community Events)","summary":"The same cloth laid trestle dressed as a book stall: a long row of books stood spine out, a shorter row in front, a flat stack and one stood face out on a stand. Every cover is a blank coloured field with no title on it.","description":"The same cloth laid trestle dressed as a book stall: a long row of books stood spine out, a shorter row in front, a flat stack and one stood face out on a stand. Every cover is a blank coloured field with no title on it. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-book-stall-table-11610050","cdnUrl":"https://cdn.3dassets.dev/assets/35223/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-book-stall-table-11610050","thumbnailUrl":"https://cdn.3dassets.dev/assets/35223/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35223/v1/poster.webp","blurhash":"UBCGue?G0LO?}s-:O=I:00RQ%MRj63Dkqwi_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":220040,"triangles":5352,"vertices":11310,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.7979999780654907,0.000016492127891953867,-0.3979649538123168],"max":[0.7979999780654907,0.984228441734395,0.3979649538123168]},"sizeMeters":[1.596,0.984,0.796],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:34.252Z","updatedAt":"2026-09-11T12:12:34.360Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35223/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BookStallTableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35223/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35223/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35223/v1/model.glb\" alt=\"Book Stall Table (Village Hall and Community Events)\" 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/35223/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/35223/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35224","slug":"village-hall-and-community-events-raffle-table-af0f6485","title":"Raffle Prize Table (Village Hall and Community Events)","summary":"The same cloth laid trestle dressed as a raffle prize table: a bottle, a wrapped box, a biscuit tin, a pot plant, three books of tickets and a mug for the money. Every label field is blank.","description":"The same cloth laid trestle dressed as a raffle prize table: a bottle, a wrapped box, a biscuit tin, a pot plant, three books of tickets and a mug for the money. Every label field is blank. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-raffle-table-af0f6485","cdnUrl":"https://cdn.3dassets.dev/assets/35224/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-raffle-table-af0f6485","thumbnailUrl":"https://cdn.3dassets.dev/assets/35224/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35224/v1/poster.webp","blurhash":"U8F=y%?t00VsyX~n$w9G00Ip?aV@Zf039htP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":90296,"triangles":1976,"vertices":4502,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.7979999780654907,0.000016492127891953867,-0.3979649538123168],"max":[0.7979999780654907,1.062019185092621,0.3979649538123168]},"sizeMeters":[1.596,1.062,0.796],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:34.757Z","updatedAt":"2026-09-11T12:12:34.858Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35224/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RafflePrizeTableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35224/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35224/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35224/v1/model.glb\" alt=\"Raffle Prize Table (Village Hall and Community Events)\" 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/35224/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/35224/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35225","slug":"village-hall-and-community-events-tombola-drum-4470b2a9","title":"Tombola Drum on a Stand (Village Hall and Community Events)","summary":"A 0.56 m hexagonal tombola drum on a charcoal cradle at 920 mm: a red barrel with brass end plates, a yellow hatch with a catch, a crank handle and a ticket tray under it. The drum, its hatch and its crank are one named node on the cradle axle and turn together.","description":"A 0.56 m hexagonal tombola drum on a charcoal cradle at 920 mm: a red barrel with brass end plates, a yellow hatch with a catch, a crank handle and a ticket tray under it. The drum, its hatch and its crank are one named node on the cradle axle and turn together. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: tombola-drum. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-tombola-drum-4470b2a9","cdnUrl":"https://cdn.3dassets.dev/assets/35225/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-tombola-drum-4470b2a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/35225/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35225/v1/poster.webp","blurhash":"UBAcSf=|010y}rwc58J8ELNGnlxHBoOX,:#n","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41680,"triangles":840,"vertices":1887,"meshes":7,"materials":6,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.3799999952316284,0,-0.3606090246466884],"max":[0.49000000953674316,1.2137790827442803,0.3800286351470241]},"sizeMeters":[0.87,1.214,0.741],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:35.441Z","updatedAt":"2026-09-11T12:12:35.556Z","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/35225/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 TombolaDrumOnAStandVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35225/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/35225/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35225/v1/model.glb\" alt=\"Tombola Drum on a Stand (Village Hall and Community Events)\" 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/35225/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/35225/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35212","slug":"village-hall-and-community-events-domestic-cooker-c1914f27","title":"Kitchen Cooker (Village Hall and Community Events)","summary":"A 600 mm freestanding kitchen cooker: a white body with a dark hob and four burner rings, a control splash back with four knobs and a red indicator, and an oven door with a dark glazed window on a chrome rail handle. The door is a named node on its bottom edge and falls open.","description":"A 600 mm freestanding kitchen cooker: a white body with a dark hob and four burner rings, a control splash back with four knobs and a red indicator, and an oven door with a dark glazed window on a chrome rail handle. The door is a named node on its bottom edge and falls open. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: oven-door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-domestic-cooker-c1914f27","cdnUrl":"https://cdn.3dassets.dev/assets/35212/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-domestic-cooker-c1914f27","thumbnailUrl":"https://cdn.3dassets.dev/assets/35212/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35212/v1/poster.webp","blurhash":"U9FY$29Z00~qkDIUxt-;00D%-;-;?bD%9G?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54880,"triangles":1232,"vertices":2585,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.3000094630452869,0,-0.3100000023841858],"max":[0.3000094630452869,1.1200000047683716,0.36400432847244696]},"sizeMeters":[0.6,1.12,0.674],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:28.509Z","updatedAt":"2026-09-11T12:12:28.626Z","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/35212/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 KitchenCookerVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35212/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/35212/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35212/v1/model.glb\" alt=\"Kitchen Cooker (Village Hall and Community Events)\" 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/35212/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/35212/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35211","slug":"village-hall-and-community-events-kitchen-counter-run-09b422c6","title":"Kitchen Counter Run with Sink (Village Hall and Community Events)","summary":"A 2 m kitchen counter run at 900 mm: a white carcass on a blue plinth under a stainless worktop with an inset sink, a pressed drainer, a brass mixer tap and two cupboard fronts on rail handles. The cupboard fronts are geometry and do not open.","description":"A 2 m kitchen counter run at 900 mm: a white carcass on a blue plinth under a stainless worktop with an inset sink, a pressed drainer, a brass mixer tap and two cupboard fronts on rail handles. The cupboard fronts are geometry and do not open. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-kitchen-counter-run-09b422c6","cdnUrl":"https://cdn.3dassets.dev/assets/35211/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-kitchen-counter-run-09b422c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/35211/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35211/v1/poster.webp","blurhash":"UCGb;r?b4T%MDh~q%gIU009FxaR*^+4oE2Mx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31544,"triangles":668,"vertices":1491,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000030061123592467487,-0.32493909572648744],"max":[1,1.1855223178863525,0.34359937285470704]},"sizeMeters":[2,1.185,0.669],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:29.185Z","updatedAt":"2026-09-11T12:12:29.282Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35211/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KitchenCounterRunWithSinkVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35211/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35211/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35211/v1/model.glb\" alt=\"Kitchen Counter Run with Sink (Village Hall and Community Events)\" 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/35211/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/35211/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35213","slug":"village-hall-and-community-events-kitchen-fridge-ddba55b1","title":"Kitchen Fridge (Village Hall and Community Events)","summary":"A 1.45 m white kitchen fridge on a recessed plinth with three wire shelves, a bottle and a pack inside, a full height chrome handle and a blank blue badge panel. The door is a named node on its hinge stile and swings open.","description":"A 1.45 m white kitchen fridge on a recessed plinth with three wire shelves, a bottle and a pack inside, a full height chrome handle and a blank blue badge panel. The door is a named node on its hinge stile and swings open. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: fridge-door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-kitchen-fridge-ddba55b1","cdnUrl":"https://cdn.3dassets.dev/assets/35213/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-kitchen-fridge-ddba55b1","thumbnailUrl":"https://cdn.3dassets.dev/assets/35213/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35213/v1/poster.webp","blurhash":"U7GbxH4n00-p~qWB9Ff500%MxuM{?HoLIUWV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25676,"triangles":468,"vertices":1039,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.3000343281776179,-0.000006252855483591946,-0.27995926699639967],"max":[0.3000342988968362,1.4500000476837158,0.32999161391187465]},"sizeMeters":[0.6,1.45,0.61],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:29.548Z","updatedAt":"2026-09-11T12:12:29.650Z","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/35213/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 KitchenFridgeVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35213/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/35213/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35213/v1/model.glb\" alt=\"Kitchen Fridge (Village Hall and Community Events)\" 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/35213/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/35213/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35215","slug":"village-hall-and-community-events-crockery-shelf-70db7187","title":"Kitchen Crockery Shelf (Village Hall and Community Events)","summary":"A 1.2 m two tier kitchen shelf on charcoal brackets, stacked with plates, saucers and nine mugs in red and blue. Modelled with the brackets on y=0, so the scene lifts it onto the wall above the counter.","description":"A 1.2 m two tier kitchen shelf on charcoal brackets, stacked with plates, saucers and nine mugs in red and blue. Modelled with the brackets on y=0, so the scene lifts it onto the wall above the counter. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-crockery-shelf-70db7187","cdnUrl":"https://cdn.3dassets.dev/assets/35215/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-crockery-shelf-70db7187","thumbnailUrl":"https://cdn.3dassets.dev/assets/35215/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35215/v1/poster.webp","blurhash":"UBCG3~tS0KrW~q-;IAMx00s.^jSz00R*?Hw^","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":162456,"triangles":4188,"vertices":8298,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.000026242780733432003,-0.1300088555338356],"max":[0.6000000238418579,0.7530071595006385,0.1300088555338356]},"sizeMeters":[1.2,0.753,0.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:30.240Z","updatedAt":"2026-09-11T12:12:30.331Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35215/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KitchenCrockeryShelfVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35215/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35215/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35215/v1/model.glb\" alt=\"Kitchen Crockery Shelf (Village Hall and Community Events)\" 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/35215/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/35215/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35214","slug":"village-hall-and-community-events-water-boiler-f7588ecb","title":"Wall Mounted Water Boiler (Village Hall and Community Events)","summary":"A 0.52 m wall mounted water boiler: a white cased tank with a dark control face, a red heating light, a brass tap over a drip tray and two wall brackets. The tap is geometry and does not turn. Modelled with its base on y=0, so the scene lifts it to its mounting height.","description":"A 0.52 m wall mounted water boiler: a white cased tank with a dark control face, a red heating light, a brass tap over a drip tray and two wall brackets. The tap is geometry and does not turn. Modelled with its base on y=0, so the scene lifts it to its mounting height. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-water-boiler-f7588ecb","cdnUrl":"https://cdn.3dassets.dev/assets/35214/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-water-boiler-f7588ecb","thumbnailUrl":"https://cdn.3dassets.dev/assets/35214/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35214/v1/poster.webp","blurhash":"UAFFssIA00%N~qt79FIU00t7?bWA?aofD*NG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25196,"triangles":492,"vertices":1110,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.15001555893729465,0,-0.17499999701976776],"max":[0.15001555893729465,0.5199999809265137,0.2250025930799978]},"sizeMeters":[0.3,0.52,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:29.061Z","updatedAt":"2026-09-11T12:12:29.152Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35214/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallMountedWaterBoilerVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35214/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35214/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35214/v1/model.glb\" alt=\"Wall Mounted Water Boiler (Village Hall and Community Events)\" 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/35214/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/35214/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35216","slug":"village-hall-and-community-events-tea-and-coffee-tray-41fc93a1","title":"Tea and Coffee Tray Set (Village Hall and Community Events)","summary":"A 0.52 m stainless tray laid for tea and coffee: a red tray liner, a white teapot, a green coffee pot, three mugs and a sugar box. One model for what comes through the hatch at the interval.","description":"A 0.52 m stainless tray laid for tea and coffee: a red tray liner, a white teapot, a green coffee pot, three mugs and a sugar box. One model for what comes through the hatch at the interval. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-tea-and-coffee-tray-41fc93a1","cdnUrl":"https://cdn.3dassets.dev/assets/35216/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-tea-and-coffee-tray-41fc93a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/35216/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35216/v1/poster.webp","blurhash":"U8B42Z?I009Y%M%MM|D%00IT?^$,Dj4-%K?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":43012,"triangles":980,"vertices":2013,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.2680000066757202,0.00001061949633928208,-0.1880015916455002],"max":[0.2680000066757202,0.1490015133280579,0.1880015916455002]},"sizeMeters":[0.536,0.149,0.376],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:31.815Z","updatedAt":"2026-09-11T12:12:31.933Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35216/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TeaAndCoffeeTraySetVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35216/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35216/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35216/v1/model.glb\" alt=\"Tea and Coffee Tray Set (Village Hall and Community Events)\" 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/35216/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/35216/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35207","slug":"village-hall-and-community-events-crockery-crate-ed80f580","title":"Crockery Crate (Village Hall and Community Events)","summary":"A slatted crockery crate, 0.56 m by 0.4 m, packed with two stacks of plates and six blue mugs, with a blank red label field on the end. It is the crate the cups live in between events.","description":"A slatted crockery crate, 0.56 m by 0.4 m, packed with two stacks of plates and six blue mugs, with a blank red label field on the end. It is the crate the cups live in between events. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-crockery-crate-ed80f580","cdnUrl":"https://cdn.3dassets.dev/assets/35207/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-crockery-crate-ed80f580","thumbnailUrl":"https://cdn.3dassets.dev/assets/35207/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35207/v1/poster.webp","blurhash":"UAEB~g}?00E2^%tSM_r;00E2x^$+9unMtlJW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":185984,"triangles":4776,"vertices":9601,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.27900001406669617,0.000004873400052174404,-0.198987711073296],"max":[0.34704360365867615,0.3560881458470029,0.2050015844970193]},"sizeMeters":[0.626,0.356,0.404],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:26.403Z","updatedAt":"2026-09-11T12:12:26.508Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35207/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CrockeryCrateVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35207/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35207/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35207/v1/model.glb\" alt=\"Crockery Crate (Village Hall and Community Events)\" 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/35207/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/35207/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35231","slug":"village-hall-and-community-events-mop-and-bucket-cf514901","title":"Mop and Bucket (Village Hall and Community Events)","summary":"A 1.4 m mop and bucket: a yellow bucket on four castors with a wringer and a handle, a mop stood in it and a red cleaning box on the rim. The castors are named nodes on their own axles and roll.","description":"A 1.4 m mop and bucket: a yellow bucket on four castors with a wringer and a handle, a mop stood in it and a red cleaning box on the rim. The castors are named nodes on their own axles and roll. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: castor-1, castor-2, castor-3, castor-4. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-mop-and-bucket-cf514901","cdnUrl":"https://cdn.3dassets.dev/assets/35231/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-mop-and-bucket-cf514901","thumbnailUrl":"https://cdn.3dassets.dev/assets/35231/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35231/v1/poster.webp","blurhash":"UBAJr^%K019H0NWC?Yt60MM|^%%L~Toe9IR+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":43604,"triangles":1128,"vertices":2405,"meshes":10,"materials":6,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.2300195425730521,-1.5199184411063271e-9,-0.18001099505824453],"max":[0.2300195425730521,1.3902127742767334,0.18001099505824453]},"sizeMeters":[0.46,1.39,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:38.825Z","updatedAt":"2026-09-11T12:12:38.979Z","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/35231/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 MopAndBucketVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35231/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/35231/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35231/v1/model.glb\" alt=\"Mop and Bucket (Village Hall and Community Events)\" 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/35231/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/35231/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35217","slug":"village-hall-and-community-events-bar-table-with-till-bf53c3fe","title":"Bar Table with Till (Village Hall and Community Events)","summary":"A 1.2 m bar table at 1.02 m with a till on it: a charcoal frame under a beech top, a blank red front panel with a brass foot rail, a cash till with a keypad and a blank display, a glass jug and two glasses. The cash drawer is geometry and does not open.","description":"A 1.2 m bar table at 1.02 m with a till on it: a charcoal frame under a beech top, a blank red front panel with a brass foot rail, a cash till with a keypad and a blank display, a glass jug and two glasses. The cash drawer is geometry and does not open. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-bar-table-with-till-bf53c3fe","cdnUrl":"https://cdn.3dassets.dev/assets/35217/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-bar-table-with-till-bf53c3fe","thumbnailUrl":"https://cdn.3dassets.dev/assets/35217/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35217/v1/poster.webp","blurhash":"UCD8|G=y00Ao_2xuMeRO0LKN}s#84podyCIp","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54648,"triangles":1196,"vertices":2612,"meshes":9,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0,-0.31000703157575166],"max":[0.6000000238418579,1.289868950843811,0.31000703157575166]},"sizeMeters":[1.2,1.29,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:31.105Z","updatedAt":"2026-09-11T12:12:31.217Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35217/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarTableWithTillVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35217/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35217/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35217/v1/model.glb\" alt=\"Bar Table with Till (Village Hall and Community Events)\" 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/35217/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/35217/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35218","slug":"village-hall-and-community-events-glass-rack-aa310d29","title":"Glass Rack (Village Hall and Community Events)","summary":"A 0.5 m square glass rack: a charcoal crate with wire dividers and nine half pint glasses standing in it. It is what the glasses are carried out to the bar table in.","description":"A 0.5 m square glass rack: a charcoal crate with wire dividers and nine half pint glasses standing in it. It is what the glasses are carried out to the bar table in. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-glass-rack-aa310d29","cdnUrl":"https://cdn.3dassets.dev/assets/35218/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-glass-rack-aa310d29","thumbnailUrl":"https://cdn.3dassets.dev/assets/35218/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35218/v1/poster.webp","blurhash":"U39tT2%f00k6~qRPRPtQ00IVRiRP9Fx]IoM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":67184,"triangles":1600,"vertices":3421,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.24899999797344208,0.000005901814603956335,-0.24899999797344208],"max":[0.24899999797344208,0.24763046109566672,0.24899999797344208]},"sizeMeters":[0.498,0.248,0.498],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:32.300Z","updatedAt":"2026-09-11T12:12:32.405Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35218/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlassRackVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35218/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35218/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35218/v1/model.glb\" alt=\"Glass Rack (Village Hall and Community Events)\" 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/35218/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/35218/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35219","slug":"village-hall-and-community-events-bottle-crate-1822e126","title":"Bottle Crate (Village Hall and Community Events)","summary":"The same slatted crate packed with twelve green bottles with foil caps and a blank green label field on the end, for the bar at a barn dance or a quiz night.","description":"The same slatted crate packed with twelve green bottles with foil caps and a blank green label field on the end, for the bar at a barn dance or a quiz night. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-bottle-crate-1822e126","cdnUrl":"https://cdn.3dassets.dev/assets/35219/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-bottle-crate-1822e126","thumbnailUrl":"https://cdn.3dassets.dev/assets/35219/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35219/v1/poster.webp","blurhash":"U7Dv4M^*00rY~U%1Van600MyFeNwVsxGI@EM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":113392,"triangles":2736,"vertices":5881,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.27900001406669617,0.000004873400052174404,-0.198987711073296],"max":[0.27900001406669617,0.3560881458470029,0.20500555359959244]},"sizeMeters":[0.558,0.356,0.404],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:32.137Z","updatedAt":"2026-09-11T12:12:32.243Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35219/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BottleCrateVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35219/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35219/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35219/v1/model.glb\" alt=\"Bottle Crate (Village Hall and Community Events)\" 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/35219/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/35219/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35202","slug":"village-hall-and-community-events-table-trolley-0535ba4e","title":"Trestle Table Trolley (Village Hall and Community Events)","summary":"A 1.9 m chrome table trolley loaded with five folded trestle tables stood on edge, on four castors. The castors are named nodes on their own axles and roll; the tables on it are one with the trolley.","description":"A 1.9 m chrome table trolley loaded with five folded trestle tables stood on edge, on four castors. The castors are named nodes on their own axles and roll; the tables on it are one with the trolley. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: castor-1, castor-2, castor-3, castor-4. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-table-trolley-0535ba4e","cdnUrl":"https://cdn.3dassets.dev/assets/35202/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-table-trolley-0535ba4e","thumbnailUrl":"https://cdn.3dassets.dev/assets/35202/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35202/v1/poster.webp","blurhash":"U8EVf^?G00oz_4_1s+E200bc^$nhxW9$E3-O","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":73172,"triangles":1856,"vertices":4138,"meshes":7,"materials":3,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.9049999713897705,-7.450580569168253e-10,-0.3375524087980306],"max":[0.9049999713897705,1.0400082834566788,0.3375524087980306]},"sizeMeters":[1.81,1.04,0.675],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:23.434Z","updatedAt":"2026-09-11T12:12:23.538Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35202/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 TrestleTableTrolleyVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35202/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/35202/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35202/v1/model.glb\" alt=\"Trestle Table Trolley (Village Hall and Community Events)\" 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/35202/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/35202/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35199","slug":"village-hall-and-community-events-trestle-table-folded-eb1044c3","title":"Folding Trestle Table, Folded (Village Hall and Community Events)","summary":"The same trestle table folded flat, 120 mm deep, with its legs lying against the underframe. It stacks on the trolley or leans against a wall between events.","description":"The same trestle table folded flat, 120 mm deep, with its legs lying against the underframe. It stacks on the trolley or leans against a wall between events. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-trestle-table-folded-eb1044c3","cdnUrl":"https://cdn.3dassets.dev/assets/35199/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-trestle-table-folded-eb1044c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/35199/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35199/v1/poster.webp","blurhash":"U9CPhS%L01R-^*?GRkE200t6~VM{010Lxa?G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28048,"triangles":608,"vertices":1350,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.906000018119812,0.00002578828951883133,-0.3810414822751283],"max":[0.906000018119812,0.10005172936889684,0.3810414822751283]},"sizeMeters":[1.812,0.1,0.762],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:20.848Z","updatedAt":"2026-09-11T12:12:20.971Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35199/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldingTrestleTableFoldedVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35199/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35199/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35199/v1/model.glb\" alt=\"Folding Trestle Table, Folded (Village Hall and Community Events)\" 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/35199/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/35199/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35228","slug":"village-hall-and-community-events-welcome-table-a62ba79a","title":"Welcome Table with a Cash Tin (Village Hall and Community Events)","summary":"A 1.2 m welcome table at the door: a cloth laid trestle with a blue hem band, an open cash tin with a note tray and a coin in it, a fan of leaflets, a pen and a small blank standing sign on a block.","description":"A 1.2 m welcome table at the door: a cloth laid trestle with a blue hem band, an open cash tin with a note tray and a coin in it, a fan of leaflets, a pen and a small blank standing sign on a block. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-welcome-table-a62ba79a","cdnUrl":"https://cdn.3dassets.dev/assets/35228/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-welcome-table-a62ba79a","thumbnailUrl":"https://cdn.3dassets.dev/assets/35228/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35228/v1/poster.webp","blurhash":"UAEyY,-;00$i?H-=X8Mx00M_~qR+0e8_V@tS","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":60028,"triangles":1246,"vertices":2747,"meshes":10,"materials":10,"textures":0,"animations":[],"boundingBox":{"min":[-0.6480000019073486,-0.000010978479055345769,-0.34801794590794155],"max":[0.6480000019073486,1.0690066814422607,0.34801794590794155]},"sizeMeters":[1.296,1.069,0.696],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:37.685Z","updatedAt":"2026-09-11T12:12:37.982Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35228/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WelcomeTableWithACashTinVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35228/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35228/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35228/v1/model.glb\" alt=\"Welcome Table with a Cash Tin (Village Hall and Community Events)\" 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/35228/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/35228/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35193","slug":"village-hall-and-community-events-coat-rail-on-castors-cea7eb3d","title":"Coat Rail on Castors (Village Hall and Community Events)","summary":"A 1.4 m chrome coat rail on four castors with five coats hung on it in red, blue and green. The castors are named nodes on their own axles and roll; the coats are cloth and are modelled, never animated.","description":"A 1.4 m chrome coat rail on four castors with five coats hung on it in red, blue and green. The castors are named nodes on their own axles and roll; the coats are cloth and are modelled, never animated. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: castor-1, castor-2, castor-3, castor-4. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-coat-rail-on-castors-cea7eb3d","cdnUrl":"https://cdn.3dassets.dev/assets/35193/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-coat-rail-on-castors-cea7eb3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/35193/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35193/v1/poster.webp","blurhash":"U68zu=%300IB~W-p4n9Y9Yr=%NJn0Jo#_4M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":78204,"triangles":2016,"vertices":4328,"meshes":8,"materials":5,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.6680527905042426,8.940696724635266e-10,-0.31003678594271505],"max":[0.6680527905042426,1.690000057220459,0.31003678594271505]},"sizeMeters":[1.336,1.69,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:18.673Z","updatedAt":"2026-09-11T12:12:18.796Z","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/35193/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 CoatRailOnCastorsVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35193/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/35193/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35193/v1/model.glb\" alt=\"Coat Rail on Castors (Village Hall and Community Events)\" 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/35193/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/35193/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35208","slug":"village-hall-and-community-events-tablecloth-stack-e7d5d903","title":"Stack of Folded Tablecloths (Village Hall and Community Events)","summary":"A 0.4 m pile of folded tablecloths on a board: five white, three red and two green, each fold sitting a little askew on the one below. Cloth, so it is modelled and never animated.","description":"A 0.4 m pile of folded tablecloths on a board: five white, three red and two green, each fold sitting a little askew on the one below. Cloth, so it is modelled and never animated. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-tablecloth-stack-e7d5d903","cdnUrl":"https://cdn.3dassets.dev/assets/35208/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-tablecloth-stack-e7d5d903","thumbnailUrl":"https://cdn.3dassets.dev/assets/35208/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35208/v1/poster.webp","blurhash":"UDGbkw-;00NF0{xa#URj00E1nisA~EX8OlV@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":108936,"triangles":2892,"vertices":5488,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3100000023841858,0.0000047302187918419475,-0.22999054103090172],"max":[0.3100000023841858,0.44402706499882577,0.22999054103090172]},"sizeMeters":[0.62,0.444,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:26.694Z","updatedAt":"2026-09-11T12:12:26.878Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35208/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StackOfFoldedTableclothsVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35208/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35208/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35208/v1/model.glb\" alt=\"Stack of Folded Tablecloths (Village Hall and Community Events)\" 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/35208/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/35208/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35227","slug":"village-hall-and-community-events-folding-sign-board-d517ef1f","title":"Folding Sign Board (Village Hall and Community Events)","summary":"A 0.62 m by 1 m folding A board: two charcoal leaves on a chrome hinge with a blank red face on the front and a blank green one on the back, and a white band across the head. The front leaf is a named node and tips on the hinge when the wind catches it.","description":"A 0.62 m by 1 m folding A board: two charcoal leaves on a chrome hinge with a blank red face on the front and a blank green one on the back, and a white band across the head. The front leaf is a named node and tips on the hinge when the wind catches it. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: sign-panel. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-folding-sign-board-d517ef1f","cdnUrl":"https://cdn.3dassets.dev/assets/35227/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-folding-sign-board-d517ef1f","thumbnailUrl":"https://cdn.3dassets.dev/assets/35227/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35227/v1/poster.webp","blurhash":"U79Q8Y-o0056=|t7E2In0KNG}[$*IpR%xZxa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":23684,"triangles":480,"vertices":1047,"meshes":6,"materials":5,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.3100361260481887,-1.9066509371334917e-8,-0.11122666537080911],"max":[0.3100361260481887,1.215622067451477,0.12955496442759262]},"sizeMeters":[0.62,1.216,0.241],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:36.059Z","updatedAt":"2026-09-11T12:12:36.151Z","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/35227/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 FoldingSignBoardVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35227/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/35227/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35227/v1/model.glb\" alt=\"Folding Sign Board (Village Hall and Community Events)\" 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/35227/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/35227/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35226","slug":"village-hall-and-community-events-craft-table-dcdd48a9","title":"Children's Craft Table (Village Hall and Community Events)","summary":"A 1.2 m children's craft table at 560 mm: a yellow top on a folding frame with five sheets of paper, three pots of coloured pens, a glue pot and a pair of scissors on it.","description":"A 1.2 m children's craft table at 560 mm: a yellow top on a folding frame with five sheets of paper, three pots of coloured pens, a glue pot and a pair of scissors on it. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-craft-table-dcdd48a9","cdnUrl":"https://cdn.3dassets.dev/assets/35226/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-craft-table-dcdd48a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/35226/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35226/v1/poster.webp","blurhash":"UGDl.ixa01WY~o%LM{M|00xt-:RP00IW%MxY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":61312,"triangles":1354,"vertices":3020,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.000017245428044154743,-0.349998487982216],"max":[0.6000000238418579,0.7799837545588648,0.349998487982216]},"sizeMeters":[1.2,0.78,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:36.874Z","updatedAt":"2026-09-11T12:12:36.977Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35226/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChildrenSCraftTableVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35226/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35226/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35226/v1/model.glb\" alt=\"Children's Craft Table (Village Hall and Community Events)\" 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/35226/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/35226/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"35230","slug":"village-hall-and-community-events-waste-and-recycling--c90aaf53","title":"Waste and Recycling Bins (Village Hall and Community Events)","summary":"A pair of 0.78 m wheeled bins side by side, one green for waste and one blue for recycling, each on two wheels with a push bar and a hinged lid. Each lid is a named node on its back edge and lifts.","description":"A pair of 0.78 m wheeled bins side by side, one green for waste and one blue for recycling, each on two wheels with a push bar and a hinged lid. Each lid is a named node on its back edge and lifts. Metre units, +Y up, the user side toward +Z, resting on y=0. Named pivoted nodes: bin-lid-1, bin-lid-2. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-waste-and-recycling--c90aaf53","cdnUrl":"https://cdn.3dassets.dev/assets/35230/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-waste-and-recycling--c90aaf53","thumbnailUrl":"https://cdn.3dassets.dev/assets/35230/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35230/v1/poster.webp","blurhash":"UCAUpt.g00M.x9x]beVs4TMOtToZIVV@awM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24256,"triangles":688,"vertices":1508,"meshes":7,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5799999833106995,-0.000004745744482281822,-0.2560014712668466],"max":[0.5709999883174897,0.8940047395455992,0.26600143680791133]},"sizeMeters":[1.151,0.894,0.522],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:39.015Z","updatedAt":"2026-09-11T12:12:39.114Z","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/35230/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 WasteAndRecyclingBinsVillageHallAndCommunityEvents(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/35230/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/35230/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35230/v1/model.glb\" alt=\"Waste and Recycling Bins (Village Hall and Community Events)\" 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/35230/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/35230/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"35220","slug":"village-hall-and-community-events-bunting-run-on-poles-a18c40ec","title":"Bunting Run on a Pole (Village Hall and Community Events)","summary":"A 4 m bunting run: a stained pole on a cast foot at the left end, a ring at each end and a sagging cord of thirteen triangular pennants in red, yellow, blue and green. The pennants are cloth and are modelled, never animated.","description":"A 4 m bunting run: a stained pole on a cast foot at the left end, a ring at each end and a sagging cord of thirteen triangular pennants in red, yellow, blue and green. The pennants are cloth and are modelled, never animated. Port bunting-left sits on top of the pole and bunting-right on the loop at the free end, so a chain of runs is one continuous swag over a line of evenly spaced poles with the last loop tied off to a wall. Metre units, +Y up, the user side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/village-hall-and-community-events-bunting-run-on-poles-a18c40ec","cdnUrl":"https://cdn.3dassets.dev/assets/35220/v1/model.glb","downloadUrl":"https://3dassets.dev/download/village-hall-and-community-events-bunting-run-on-poles-a18c40ec","thumbnailUrl":"https://cdn.3dassets.dev/assets/35220/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/35220/v1/poster.webp","blurhash":"UB8;JZ-;IVt7~p%LM{Rk9Fs.t7IU01t7-:NG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":39460,"triangles":780,"vertices":1769,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-2.2200000286102295,0.000006251892640384005,-0.2200000286102295],"max":[2.0360000133514404,2.454298855591385,0.2200000286102295]},"sizeMeters":[4.256,2.454,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T12:12:32.948Z","updatedAt":"2026-09-11T12:12:33.043Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/35220/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BuntingRunOnAPoleVillageHallAndCommunityEvents(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/35220/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/35220/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/35220/v1/model.glb\" alt=\"Bunting Run on a Pole (Village Hall and Community Events)\" 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/35220/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/35220/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}