{"data":{"id":"92","slug":"butchers-shop-and-deli-counter","title":"Butchers Shop and Deli Counter","summary":"Walk a butcher’s shop: a refrigerated counter run with the trays filled and priced, the chalkboard and hanging rail above, and the prep room and cold store behind.","url":"https://3dassets.dev/demos/butchers-shop-and-deli-counter","coverUrl":"https://cdn.3dassets.dev/media/butchers-shop-and-deli-counter-demo.png","featured":true,"pack":{"slug":"butchers-shop-and-deli-counter","title":"Butcher's Shop and Deli Counter","url":"https://3dassets.dev/packs/butchers-shop-and-deli-counter","summary":"A modern independent butcher and delicatessen: a modular serve over counter run with trays, tickets and rails, a tiled and floored shop shell, and the prep room and walk in chiller behind it, from the block and band saw to the crates.","assetCount":44,"totalBytes":5014676,"starterScene":{"slug":"butchers-shop-and-deli-counter-butchers--36a603f2-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/34467/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-butchers--36a603f2-starter-scene","fileSize":2397936}},"placementCount":109,"assetCount":41,"spawn":{"position":[-1.1,0.02,3.9],"yaw":-177.8},"publishedAt":"2026-09-11T08:41:00.628Z","updatedAt":"2026-09-11T08:41:00.629Z","description":"A butcher's shop and its prep room, built from the pack's ported counter, wall, floor and chiller door modules.\n\n**What is placed.** A refrigerated counter run curves round the shop front with a corner module and the deli counter among it, the trays filled with cuts, sausage and bacon, pies, cheese and cold cuts and priced on ticket spikes, with the hanging rail, the chalkboard menu and the window display above and the till counter, scales and bag dispenser at the end. Behind a tiled wall the prep room holds the butcher's block table, stainless prep tables, the bone saw, the mincer, the sausage filler, the vacuum packer, the slicer, the knife rack, chopping boards, the sink and the hand wash basin. Beyond it the walk in chiller door, chiller shelving, hanging rails with empty hooks, crate and packaging stacks, the cleaning station and the trolley make up the cold and storage side.\n\n**What moves.** The shop and chiller doors open and close, the counter leaf slides, the mincer auger, bone saw wheels, slicer blade and hose reel spin, the vacuum packer lid lifts, the till drawer pulls out, the bin pedal lid lifts and the trolley rolls.\n\n**What does not move, and why.** Blades are guarded and static, and hoses and cloth are static geometry: none is reachable with the rigid node transforms this library uses. Product is modelled as neat tray presented and packaged cuts, with no gore, no blood and no carcasses, and there are no staff or customers, because nothing here is skinned.","scene":{"version":1,"spawn":{"position":[-1.1,0.02,3.9],"yaw":-177.8},"ground":{"style":"none"},"environment":{"preset":"room","wallHeight":3.4,"lampHeight":3,"shadows":true},"placements":[{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-3,0,3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-3,0,2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-3,0,0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-3,0,-0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-3,0,-2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-3,0,-3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-1.5,0,3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-1.5,0,2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-1.5,0,0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-1.5,0,-0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-1.5,0,-2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[-1.5,0,-3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[0,0,3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[0,0,2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[0,0,0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[0,0,-0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[0,0,-2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[0,0,-3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[1.5,0,3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[1.5,0,2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[1.5,0,0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[1.5,0,-0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[1.5,0,-2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[1.5,0,-3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[3,0,3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[3,0,2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[3,0,0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[3,0,-0.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[3,0,-2.25],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","position":[3,0,-3.75],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3,0.04,4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-door-module-9facfc4a","position":[-1.5,0.04,4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[0,0.04,4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-shop-door-module-9facfc4a","position":[-3,0.04,0],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-1.5,0.04,0],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3,0.04,-3],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chiller-door-module-41e03f33","position":[-1.5,0.04,-3],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[0,0.04,-3],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3,0.04,-4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-1.5,0.04,-4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[0,0.04,-4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[1.5,0.04,-4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[3,0.04,-4.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3.75,0.04,3.75],"rotation":90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3.75,0.04,2.25],"rotation":90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3.75,0.04,0.75],"rotation":90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3.75,0.04,-0.75],"rotation":90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3.75,0.04,-2.25],"rotation":90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[-3.75,0.04,-3.75],"rotation":90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[3.75,0.04,-0.75],"rotation":-90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[3.75,0.04,-2.25],"rotation":-90},{"asset":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","position":[3.75,0.04,-3.75],"rotation":-90},{"asset":"butchers-shop-and-deli-counter-counter-corner-module-b0d7666a","position":[-2.25,0.04,1.35],"rotation":0},{"asset":"butchers-shop-and-deli-counter-serving-counter-module-6ba1254e","position":[-1.2,0.04,1.35],"rotation":0},{"asset":"butchers-shop-and-deli-counter-deli-counter-module-384013c3","position":[0,0.04,1.35],"rotation":0},{"asset":"butchers-shop-and-deli-counter-serving-counter-module-6ba1254e","position":[1.2,0.04,1.35],"rotation":0},{"asset":"butchers-shop-and-deli-counter-till-counter-2c04f1bb","position":[2.4,0.04,1.35],"rotation":0},{"asset":"butchers-shop-and-deli-counter-serving-counter-module-6ba1254e","position":[-2.25,0.04,2.4],"rotation":90},{"asset":"butchers-shop-and-deli-counter-deli-counter-module-384013c3","position":[-2.25,0.04,3.6],"rotation":90},{"asset":"butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a","position":[-1.45,0.99,1.28],"rotation":0},{"asset":"butchers-shop-and-deli-counter-sausage-and-bacon-tray-9fca3c5a","position":[-0.95,0.99,1.28],"rotation":0},{"asset":"butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a","position":[1.45,0.99,1.28],"rotation":0},{"asset":"butchers-shop-and-deli-counter-sausage-and-bacon-tray-9fca3c5a","position":[0.95,0.99,1.28],"rotation":0},{"asset":"butchers-shop-and-deli-counter-pie-and-pastry-tray-37c3f9a6","position":[-0.26,1.056,1.21],"rotation":0},{"asset":"butchers-shop-and-deli-counter-cheese-and-cold-cuts-tr-3d1d74dd","position":[0.26,1.056,1.21],"rotation":0},{"asset":"butchers-shop-and-deli-counter-cheese-and-cold-cuts-tr-3d1d74dd","position":[0,1.1460000000000001,1.47],"rotation":0},{"asset":"butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a","position":[-2.25,0.99,2.15],"rotation":90},{"asset":"butchers-shop-and-deli-counter-sausage-and-bacon-tray-9fca3c5a","position":[-2.25,0.99,2.65],"rotation":90},{"asset":"butchers-shop-and-deli-counter-pie-and-pastry-tray-37c3f9a6","position":[-2.39,1.056,3.34],"rotation":90},{"asset":"butchers-shop-and-deli-counter-cheese-and-cold-cuts-tr-3d1d74dd","position":[-2.39,1.056,3.86],"rotation":90},{"asset":"butchers-shop-and-deli-counter-price-ticket-set-df8a4613","position":[-1.2,0.99,1.58],"rotation":0},{"asset":"butchers-shop-and-deli-counter-price-ticket-set-df8a4613","position":[1.2,0.99,1.58],"rotation":0},{"asset":"butchers-shop-and-deli-counter-price-ticket-set-df8a4613","position":[-2.62,0.99,2.4],"rotation":90},{"asset":"butchers-shop-and-deli-counter-hanging-rail-with-hooks-fd368403","position":[-1.2,2.21,1.05],"rotation":0},{"asset":"butchers-shop-and-deli-counter-hanging-rail-with-hooks-fd368403","position":[1.2,2.21,1.05],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chalkboard-menu-19e1bbd7","position":[1.5,1.6,0.07],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chalkboard-menu-19e1bbd7","position":[-0.6,1.6,0.07],"rotation":0},{"asset":"butchers-shop-and-deli-counter-counter-scales-065193da","position":[-2.2,0.9650000000000001,1.41],"rotation":0},{"asset":"butchers-shop-and-deli-counter-paper-and-bag-dispenser-3841a00c","position":[2.7,0.9400000000000001,1.1],"rotation":0},{"asset":"butchers-shop-and-deli-counter-window-display-shelf-1f292e47","position":[0,0.04,4],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stock-trolley-6bf5de98","position":[2.6,0.04,2.9],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stock-crate-stack-39c5de87","position":[1.5,0.04,3.7],"rotation":0},{"asset":"butchers-shop-and-deli-counter-waste-bin-eaa569e3","position":[3.3,0.04,0.6],"rotation":0},{"asset":"butchers-shop-and-deli-counter-butchers-block-table-91c936a6","position":[-0.3,0.04,-1.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stainless-prep-table-7c8a3bb8","position":[1.9,0.04,-0.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stainless-prep-table-7c8a3bb8","position":[-2.6,0.04,-0.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stainless-prep-table-7c8a3bb8","position":[0.9,0.04,-2.55],"rotation":180},{"asset":"butchers-shop-and-deli-counter-band-saw-4c1e9f57","position":[3,0.04,-2.4],"rotation":0},{"asset":"butchers-shop-and-deli-counter-mincer-cb5c28c1","position":[1.55,0.9400000000000001,-0.7],"rotation":0},{"asset":"butchers-shop-and-deli-counter-sausage-filler-91dd4114","position":[2.3,0.9400000000000001,-0.55],"rotation":0},{"asset":"butchers-shop-and-deli-counter-meat-slicer-ba9355df","position":[-2.8,0.9400000000000001,-0.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-vacuum-packer-5e364d1c","position":[-2.15,0.9400000000000001,-0.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-bench-scale-2de84205","position":[0.6,0.9400000000000001,-2.6],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chopping-board-stack-c0b3e7ff","position":[1.4,0.9400000000000001,-2.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-steel-and-cleaver-stand-2bc81c8b","position":[0.1,0.9400000000000001,-1.35],"rotation":0},{"asset":"butchers-shop-and-deli-counter-knife-rack-9ec790df","position":[-1.4,1.35,-0.07],"rotation":180},{"asset":"butchers-shop-and-deli-counter-hook-rail-frame-71e555e5","position":[-2,0.04,-2.5],"rotation":0},{"asset":"butchers-shop-and-deli-counter-sink-unit-cb00c684","position":[3.3,0.04,-1.6],"rotation":-90},{"asset":"butchers-shop-and-deli-counter-hand-wash-basin-fa958fe1","position":[-3.6,0.9,-1.7],"rotation":90},{"asset":"butchers-shop-and-deli-counter-apron-and-hat-rail-8b8d5600","position":[-3.62,1.04,-0.9],"rotation":90},{"asset":"butchers-shop-and-deli-counter-cleaning-station-ef37797c","position":[-3.63,0.04,-2.5],"rotation":90},{"asset":"butchers-shop-and-deli-counter-floor-drain-grate-0332d9c5","position":[0,0.04,-2.2],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stock-crate-stack-39c5de87","position":[2.3,0.04,-2.65],"rotation":0},{"asset":"butchers-shop-and-deli-counter-packaging-box-shelf-5d793b8f","position":[0.3,0.04,-0.32],"rotation":0},{"asset":"butchers-shop-and-deli-counter-waste-bin-eaa569e3","position":[1.05,0.04,-1.9],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chiller-shelving-unit-fa5d5c4d","position":[-2.6,0.04,-4.1],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chiller-shelving-unit-fa5d5c4d","position":[1.6,0.04,-4.1],"rotation":0},{"asset":"butchers-shop-and-deli-counter-chiller-hanging-rail-23b4d1cf","position":[2.6,0.04,-3.55],"rotation":0},{"asset":"butchers-shop-and-deli-counter-stock-crate-stack-39c5de87","position":[0.7,0.04,-3.5],"rotation":0}],"points":[{"position":[-0.2,0.02,2.75],"title":"The counter","text":"A run of refrigerated counter modules with a corner piece, the trays filled and priced behind the glass, the hanging rail and chalkboard above and the till at the end.","asset":"butchers-shop-and-deli-counter-serving-counter-module-6ba1254e"},{"position":[-0.45,0.02,2.68],"title":"The product","text":"Trays of cuts, sausage and bacon, pies and pastries, cheese and cold cuts, presented the way a counter really presents them. Nothing here is gore: the hooks ship empty.","asset":"butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a"},{"position":[0.7,0.02,-0.1],"title":"Prep room","text":"The butcher’s block table, the stainless prep tables, the mincer whose auger turns, the bone saw, the filler, the slicer and the vacuum packer.","asset":"butchers-shop-and-deli-counter-butchers-block-table-91c936a6"},{"position":[-0.4,0.02,1.33],"title":"Knives and steel","text":"The knife rack with its knives, the steel and the cleaver, each with a real blade, spine and bolster. The blades are guarded and static.","asset":"butchers-shop-and-deli-counter-knife-rack-9ec790df"},{"position":[-0.5,0.02,-1.6],"title":"Cold store","text":"The walk in chiller door with its frame, the chiller shelving, the hanging rails and the crate and packaging stacks behind it.","asset":"butchers-shop-and-deli-counter-chiller-door-module-41e03f33"},{"position":[-2.63,0.02,-1.1],"title":"Cleaning","text":"The cleaning station with its hose reel, the floor drain, the sink with its spray tap, the hand wash basin and the waste bin.","asset":"butchers-shop-and-deli-counter-cleaning-station-ef37797c"}],"poster":{"position":[1.2,2.2,4.2],"lookAt":[-1.4,1,1.2]}},"bounds":{"min":[-5.822997103591068,0,-6.572997103591068],"max":[5.822997103591068,5.04,6.576967678075307]},"assets":[{"id":"34441","slug":"butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","title":"Shop floor tile (Butcher's Shop and Deli Counter)","summary":"A 1.5 m square of grey non slip floor on the same grid as the walls, with a proud jointing border and a centre inlay so a field of them reads as laid floor rather than one flat plane.","description":"A 1.5 m square of grey non slip floor on the same grid as the walls, with a proud jointing border and a centre inlay so a field of them reads as laid floor rather than one flat plane. Dimensions 1.50 by 0.05 by 1.50 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Connectors: tile-left, tile-right, tile-front, tile-back (type shop-floor). Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","cdnUrl":"https://cdn.3dassets.dev/assets/34441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-shop-floor-tile-d28c63ef","thumbnailUrl":"https://cdn.3dassets.dev/assets/34441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34441/v1/poster.webp","blurhash":"U5Bg6+-;00t6t7WDoKj[00IU~qM|Rit5Rkax","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":7228,"triangles":124,"vertices":282,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.75,0.000040894355662998705,-0.75],"max":[0.75,0.045967619350262966,0.75]},"sizeMeters":[1.5,0.046,1.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:33.096Z","updatedAt":"2026-09-11T08:39:33.209Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34441/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopFloorTileButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34441/v1/model.glb\" alt=\"Shop floor tile (Butcher's Shop and Deli Counter)\" 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/34441/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/34441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34439","slug":"butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","title":"Tiled wall module (Butcher's Shop and Deli Counter)","summary":"The 1.5 m by 3 m shop wall: white glazed tile on both faces with proud courses and perpends, a coved skirting, a burgundy dado band and a capping bead. Couple them on their stiles for a shop, a prep room or a partition.","description":"The 1.5 m by 3 m shop wall: white glazed tile on both faces with proud courses and perpends, a coved skirting, a burgundy dado band and a capping bead. Couple them on their stiles for a shop, a prep room or a partition. Dimensions 1.50 by 3.00 by 0.15 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Connectors: wall-left, wall-right (type shop-wall). Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","cdnUrl":"https://cdn.3dassets.dev/assets/34439/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-tiled-wall-module-5fc5d977","thumbnailUrl":"https://cdn.3dassets.dev/assets/34439/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34439/v1/poster.webp","blurhash":"U8FFpks:00IU-p%MIo9F00of~qR*%MxuM{IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":68108,"triangles":1528,"vertices":3510,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.750114444410535,0,-0.07299710359106816],"max":[0.750114444410535,3,0.07299710359106816]},"sizeMeters":[1.5,3,0.146],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:31.175Z","updatedAt":"2026-09-11T08:39:31.274Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34439/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TiledWallModuleButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34439/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34439/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34439/v1/model.glb\" alt=\"Tiled wall module (Butcher's Shop and Deli Counter)\" 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/34439/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/34439/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34436","slug":"butchers-shop-and-deli-counter-shop-door-module-9facfc4a","title":"Shop door module (Butcher's Shop and Deli Counter)","summary":"A 1.5 m wall module with a half glazed burgundy door on a real hinge, a brass threshold and head band, a transom light and a lined opening. Couple it into a run of tiled wall for the shop entrance or the door through to the prep room.","description":"A 1.5 m wall module with a half glazed burgundy door on a real hinge, a brass threshold and head band, a transom light and a lined opening. Couple it into a run of tiled wall for the shop entrance or the door through to the prep room. Dimensions 1.50 by 3.00 by 0.15 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: shop-door. Connectors: wall-left, wall-right (type shop-wall). Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-shop-door-module-9facfc4a","cdnUrl":"https://cdn.3dassets.dev/assets/34436/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-shop-door-module-9facfc4a","thumbnailUrl":"https://cdn.3dassets.dev/assets/34436/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34436/v1/poster.webp","blurhash":"UAEf7;ae00bu_Nx]8_D%9ZaywgoLs;xuWUIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":145544,"triangles":3280,"vertices":7513,"meshes":8,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.750114444410535,0,-0.07696767807530722],"max":[0.750114444410535,3,0.07696767807530722]},"sizeMeters":[1.5,3,0.154],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:30.166Z","updatedAt":"2026-09-11T08:39:30.272Z","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/34436/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 ShopDoorModuleButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34436/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/34436/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34436/v1/model.glb\" alt=\"Shop door module (Butcher's Shop and Deli Counter)\" 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/34436/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/34436/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34458","slug":"butchers-shop-and-deli-counter-chiller-door-module-41e03f33","title":"Walk in chiller door module (Butcher's Shop and Deli Counter)","summary":"A 1.5 m wall module carrying the walk in chiller door: an insulated leaf 90 mm thick in a proud stainless frame, with a round viewing port, a burgundy kick plate, heavy hinges, a brass lever latch and a threshold ramp.","description":"A 1.5 m wall module carrying the walk in chiller door: an insulated leaf 90 mm thick in a proud stainless frame, with a round viewing port, a burgundy kick plate, heavy hinges, a brass lever latch and a threshold ramp. Dimensions 1.50 by 3.00 by 0.32 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: chiller-door. Connectors: wall-left, wall-right (type shop-wall). Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-chiller-door-module-41e03f33","cdnUrl":"https://cdn.3dassets.dev/assets/34458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-chiller-door-module-41e03f33","thumbnailUrl":"https://cdn.3dassets.dev/assets/34458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34458/v1/poster.webp","blurhash":"UBCP-OIU00-;~qof4nRQVsofNaW;S1ozs:M{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":142308,"triangles":3240,"vertices":7311,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.750114444410535,0,-0.08493762176115399],"max":[0.750114444410535,3,0.22993762503940945]},"sizeMeters":[1.5,3,0.315],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:41.471Z","updatedAt":"2026-09-11T08:39:41.616Z","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/34458/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 WalkInChillerDoorModuleButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34458/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/34458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34458/v1/model.glb\" alt=\"Walk in chiller door module (Butcher's Shop and Deli Counter)\" 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/34458/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/34458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34424","slug":"butchers-shop-and-deli-counter-counter-corner-module-b0d7666a","title":"Counter corner module (Butcher's Shop and Deli Counter)","summary":"The 900 mm square unit that turns a counter run through 90 degrees: the same plinth, carcass and deck height, burgundy fascias on both exposed faces, a scrubbed beech board let into the top and a roll of wrapping on its spindle.","description":"The 900 mm square unit that turns a counter run through 90 degrees: the same plinth, carcass and deck height, burgundy fascias on both exposed faces, a scrubbed beech board let into the top and a roll of wrapping on its spindle. Dimensions 0.93 by 1.05 by 0.93 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Connectors: counter-right, counter-front (type deli-counter). Ports are on the right gable and the front face, so the unit sits in the knee of an L shaped run with its working faces toward the server. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-counter-corner-module-b0d7666a","cdnUrl":"https://cdn.3dassets.dev/assets/34424/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-counter-corner-module-b0d7666a","thumbnailUrl":"https://cdn.3dassets.dev/assets/34424/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34424/v1/poster.webp","blurhash":"UEDl7--o00E1_MkBDjae1GNGwIsoHtaLtjkV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":45952,"triangles":1056,"vertices":2272,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.46700000762939453,0.000015103197055568729,-0.46700000762939453],"max":[0.46700000762939453,1.0499999523162842,0.46700000762939453]},"sizeMeters":[0.934,1.05,0.934],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:24.719Z","updatedAt":"2026-09-11T08:39:24.832Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34424/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CounterCornerModuleButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34424/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34424/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34424/v1/model.glb\" alt=\"Counter corner module (Butcher's Shop and Deli Counter)\" 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/34424/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/34424/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34427","slug":"butchers-shop-and-deli-counter-serving-counter-module-6ba1254e","title":"Refrigerated serving counter module (Butcher's Shop and Deli Counter)","summary":"A 1.2 m refrigerated serve over counter: a stainless carcass on a recessed plinth with a burgundy fascia and a brass reveal, a chilled display well, raked front glass under a flat canopy, a brass customer rail and a sliding glass access leaf on the server side.","description":"A 1.2 m refrigerated serve over counter: a stainless carcass on a recessed plinth with a burgundy fascia and a brass reveal, a chilled display well, raked front glass under a flat canopy, a brass customer rail and a sliding glass access leaf on the server side. Dimensions 1.25 by 1.31 by 0.96 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: counter-door. Connectors: counter-left, counter-right (type deli-counter). Couple the modules end to end on their gable ports and turn the run with the corner unit. Display trays stand on the well at 0.95 m. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-serving-counter-module-6ba1254e","cdnUrl":"https://cdn.3dassets.dev/assets/34427/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-serving-counter-module-6ba1254e","thumbnailUrl":"https://cdn.3dassets.dev/assets/34427/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34427/v1/poster.webp","blurhash":"UIDI?{$P0JK4_NbbMdniABOqRPrsm,xGODJ6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":66168,"triangles":1448,"vertices":3167,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6000000238418579,-0.000017467065933918224,-0.45999345619397564],"max":[0.6502650380134583,1.3063953686701673,0.5039898024479543]},"sizeMeters":[1.25,1.306,0.964],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:24.851Z","updatedAt":"2026-09-11T08:39:24.981Z","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/34427/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 RefrigeratedServingCounterModuleButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34427/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/34427/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34427/v1/model.glb\" alt=\"Refrigerated serving counter module (Butcher's Shop and Deli Counter)\" 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/34427/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/34427/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34425","slug":"butchers-shop-and-deli-counter-deli-counter-module-384013c3","title":"Deli counter module with tray racks (Butcher's Shop and Deli Counter)","summary":"The dry deli module on the same body and the same ports: the chilled well is replaced by a two tier stainless tray rack for pies, cheese and cold cuts, so a run can mix chilled and ambient bays without a transition piece.","description":"The dry deli module on the same body and the same ports: the chilled well is replaced by a two tier stainless tray rack for pies, cheese and cold cuts, so a run can mix chilled and ambient bays without a transition piece. Dimensions 1.25 by 1.31 by 0.96 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: counter-door. Connectors: counter-left, counter-right (type deli-counter). Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-deli-counter-module-384013c3","cdnUrl":"https://cdn.3dassets.dev/assets/34425/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-deli-counter-module-384013c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/34425/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34425/v1/poster.webp","blurhash":"UKDvA+$j00J*_NkVIAni9tOXjFr?Qnw|XmNt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":72480,"triangles":1640,"vertices":3598,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6000000238418579,0.000002898744483642579,-0.45999345619397564],"max":[0.6502650380134583,1.3063953686701673,0.5039898024479543]},"sizeMeters":[1.25,1.306,0.964],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:24.740Z","updatedAt":"2026-09-11T08:39:24.870Z","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/34425/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 DeliCounterModuleWithTrayRacksButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34425/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/34425/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34425/v1/model.glb\" alt=\"Deli counter module with tray racks (Butcher's Shop and Deli Counter)\" 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/34425/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/34425/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34426","slug":"butchers-shop-and-deli-counter-till-counter-2c04f1bb","title":"Till counter with card reader (Butcher's Shop and Deli Counter)","summary":"The pay point at the end of the run: the same carcass and fascia carrying a register on a raised plate, a customer display on a stub column, a card reader on a gooseneck, a stack of wrapping paper and a cash drawer on runners.","description":"The pay point at the end of the run: the same carcass and fascia carrying a register on a raised plate, a customer display on a stub column, a card reader on a gooseneck, a stack of wrapping paper and a cash drawer on runners. Dimensions 1.20 by 1.33 by 0.94 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: till-drawer. Connectors: counter-left, counter-right (type deli-counter). Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-till-counter-2c04f1bb","cdnUrl":"https://cdn.3dassets.dev/assets/34426/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-till-counter-2c04f1bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/34426/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34426/v1/poster.webp","blurhash":"U8B:BR}Z005Ru4pIMdVs00AV-;-VUbmmyWcX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":55948,"triangles":1208,"vertices":2655,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6000000238418579,0,-0.4400158871095873],"max":[0.6000000238418579,1.3284966945648193,0.49899442452280063]},"sizeMeters":[1.2,1.328,0.939],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:24.760Z","updatedAt":"2026-09-11T08:39:24.895Z","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/34426/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 TillCounterWithCardReaderButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34426/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/34426/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34426/v1/model.glb\" alt=\"Till counter with card reader (Butcher's Shop and Deli Counter)\" 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/34426/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/34426/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34428","slug":"butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a","title":"Display tray of cuts (Butcher's Shop and Deli Counter)","summary":"A stainless display tray on a parchment liner, laid with eight trimmed cuts in two rows, each a rounded block of lean with a pale trim cap. Stands on a counter well or a deli rack.","description":"A stainless display tray on a parchment liner, laid with eight trimmed cuts in two rows, each a rounded block of lean with a pale trim cap. Stands on a counter well or a deli rack. Dimensions 0.53 by 0.11 by 0.45 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The product is modelled as trimmed, trayed and wrapped food: there is no carcass, blood or animal geometry anywhere in this pack. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a","cdnUrl":"https://cdn.3dassets.dev/assets/34428/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-display-tray-of-cuts-b1bc945a","thumbnailUrl":"https://cdn.3dassets.dev/assets/34428/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34428/v1/poster.webp","blurhash":"UBCZFcsq00XS-os:NHS200bX~CV@4oNG%1sB","category":{"slug":"food","title":"Food & Drink"},"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":56388,"triangles":1434,"vertices":2807,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2639999985694885,0.000009903256271301397,-0.2899991701204352],"max":[0.2639999985694885,0.10881145329870881,0.1639898669662578]},"sizeMeters":[0.528,0.109,0.454],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:26.452Z","updatedAt":"2026-09-11T08:39:26.564Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34428/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DisplayTrayOfCutsButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34428/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34428/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34428/v1/model.glb\" alt=\"Display tray of cuts (Butcher's Shop and Deli Counter)\" 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/34428/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/34428/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34429","slug":"butchers-shop-and-deli-counter-sausage-and-bacon-tray-9fca3c5a","title":"Sausage and bacon tray (Butcher's Shop and Deli Counter)","summary":"The same tray laid with a coil of linked sausages on one half and a fan of overlapped bacon rashers on the other, each rasher with its pale edge modelled.","description":"The same tray laid with a coil of linked sausages on one half and a fan of overlapped bacon rashers on the other, each rasher with its pale edge modelled. Dimensions 0.63 by 0.09 by 0.45 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The product is modelled as trimmed, trayed and wrapped food: there is no carcass, blood or animal geometry anywhere in this pack. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-sausage-and-bacon-tray-9fca3c5a","cdnUrl":"https://cdn.3dassets.dev/assets/34429/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-sausage-and-bacon-tray-9fca3c5a","thumbnailUrl":"https://cdn.3dassets.dev/assets/34429/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34429/v1/poster.webp","blurhash":"UBB:gKMy00t6%LxaRjWA00x[~qRk4.IUx[t7","category":{"slug":"food","title":"Food & Drink"},"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":77468,"triangles":1812,"vertices":3979,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3692086637020111,0.000009903256271301397,-0.2900039584870726],"max":[0.2639999985694885,0.08498348547580874,0.1639898669662578]},"sizeMeters":[0.633,0.085,0.454],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:26.470Z","updatedAt":"2026-09-11T08:39:26.581Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34429/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SausageAndBaconTrayButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34429/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34429/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34429/v1/model.glb\" alt=\"Sausage and bacon tray (Butcher's Shop and Deli Counter)\" 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/34429/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/34429/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34430","slug":"butchers-shop-and-deli-counter-pie-and-pastry-tray-37c3f9a6","title":"Pie and pastry tray (Butcher's Shop and Deli Counter)","summary":"Eight round pies in fluted paper cases on the same tray, each with a crimped lid and a glazed crust, for the hot counter or the deli rack.","description":"Eight round pies in fluted paper cases on the same tray, each with a crimped lid and a glazed crust, for the hot counter or the deli rack. Dimensions 0.53 by 0.10 by 0.45 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-pie-and-pastry-tray-37c3f9a6","cdnUrl":"https://cdn.3dassets.dev/assets/34430/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-pie-and-pastry-tray-37c3f9a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/34430/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34430/v1/poster.webp","blurhash":"UBCZY3tR00WX-:t7RkWB00W9~pWA4oM{xst7","category":{"slug":"food","title":"Food & Drink"},"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":52988,"triangles":1274,"vertices":2655,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2639999985694885,0.000009903256271301397,-0.2900049453080255],"max":[0.2639999985694885,0.1019886765464998,0.1639898669662578]},"sizeMeters":[0.528,0.102,0.454],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:27.597Z","updatedAt":"2026-09-11T08:39:27.709Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34430/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PieAndPastryTrayButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34430/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34430/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34430/v1/model.glb\" alt=\"Pie and pastry tray (Butcher's Shop and Deli Counter)\" 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/34430/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/34430/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34431","slug":"butchers-shop-and-deli-counter-cheese-and-cold-cuts-tr-3d1d74dd","title":"Cheese and cold cuts tray (Butcher's Shop and Deli Counter)","summary":"Two cut truckles with a darker rind band beside a fan of sliced cold cuts, on the same stainless tray and liner. The deli half of a butcher and delicatessen counter.","description":"Two cut truckles with a darker rind band beside a fan of sliced cold cuts, on the same stainless tray and liner. The deli half of a butcher and delicatessen counter. Dimensions 0.53 by 0.12 by 0.45 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-cheese-and-cold-cuts-tr-3d1d74dd","cdnUrl":"https://cdn.3dassets.dev/assets/34431/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-cheese-and-cold-cuts-tr-3d1d74dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/34431/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34431/v1/poster.webp","blurhash":"U9C6x]WG00aw%Mt8NGWA00t3~qWC4.Mx%1kD","category":{"slug":"food","title":"Food & Drink"},"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":33512,"triangles":714,"vertices":1589,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2639999985694885,0.000009903256271301397,-0.29000917319099806],"max":[0.2639999985694885,0.11598718056048982,0.1639898669662578]},"sizeMeters":[0.528,0.116,0.454],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:26.645Z","updatedAt":"2026-09-11T08:39:26.838Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34431/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CheeseAndColdCutsTrayButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34431/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34431/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34431/v1/model.glb\" alt=\"Cheese and cold cuts tray (Butcher's Shop and Deli Counter)\" 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/34431/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/34431/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34432","slug":"butchers-shop-and-deli-counter-price-ticket-set-df8a4613","title":"Price ticket set on spikes (Butcher's Shop and Deli Counter)","summary":"Three blank price tickets in burgundy holders on stainless spikes, standing on a common base bar for the front of a display well. Every card face is wordless.","description":"Three blank price tickets in burgundy holders on stainless spikes, standing on a common base bar for the front of a display well. Every card face is wordless. Dimensions 0.46 by 0.20 by 0.07 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-price-ticket-set-df8a4613","cdnUrl":"https://cdn.3dassets.dev/assets/34432/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-price-ticket-set-df8a4613","thumbnailUrl":"https://cdn.3dassets.dev/assets/34432/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34432/v1/poster.webp","blurhash":"U5CF-ex^00xu*e~qtlE100Uv?bb^3paKVEIn","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":31020,"triangles":682,"vertices":1504,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23000000417232513,0.000008057664099697659,-0.03498397841715349],"max":[0.23000000417232513,0.1977745191515207,0.03498397841715349]},"sizeMeters":[0.46,0.198,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:28.357Z","updatedAt":"2026-09-11T08:39:28.478Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34432/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PriceTicketSetOnSpikesButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34432/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34432/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34432/v1/model.glb\" alt=\"Price ticket set on spikes (Butcher's Shop and Deli Counter)\" 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/34432/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/34432/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34433","slug":"butchers-shop-and-deli-counter-hanging-rail-with-hooks-fd368403","title":"Hanging rail with hooks (Butcher's Shop and Deli Counter)","summary":"A 1.6 m stainless rail on two drop rods with brass ferrules, carrying seven shouldered butcher's hooks. Hangs over the counter run for the shop's own display.","description":"A 1.6 m stainless rail on two drop rods with brass ferrules, carrying seven shouldered butcher's hooks. Hangs over the counter run for the shop's own display. Dimensions 1.60 by 0.78 by 0.15 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The model rests on the hook tips at y=0; hang it by placing the ceiling plates at the top of the rods against the soffit. The product is modelled as trimmed, trayed and wrapped food: there is no carcass, blood or animal geometry anywhere in this pack. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-hanging-rail-with-hooks-fd368403","cdnUrl":"https://cdn.3dassets.dev/assets/34433/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-hanging-rail-with-hooks-fd368403","thumbnailUrl":"https://cdn.3dassets.dev/assets/34433/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34433/v1/poster.webp","blurhash":"U38NqcIUofxuM{~q_3WB00.8?v-=_4t89F%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":67544,"triangles":1300,"vertices":3606,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.000022174930624896394,-0.09329648251017782],"max":[0.800000011920929,0.782321451091714,0.06002851138195249]},"sizeMeters":[1.6,0.782,0.153],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:28.377Z","updatedAt":"2026-09-11T08:39:28.497Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34433/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingRailWithHooksButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34433/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34433/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34433/v1/model.glb\" alt=\"Hanging rail with hooks (Butcher's Shop and Deli Counter)\" 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/34433/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/34433/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34437","slug":"butchers-shop-and-deli-counter-chalkboard-menu-19e1bbd7","title":"Chalkboard menu (Butcher's Shop and Deli Counter)","summary":"A 1.2 m framed slate board with a brass chalk rail and two hanging eyes, chalked with blank rules and a price column. The marks are geometry, not words, so a project writes its own.","description":"A 1.2 m framed slate board with a brass chalk rail and two hanging eyes, chalked with blank rules and a price column. The marks are geometry, not words, so a project writes its own. Dimensions 1.20 by 0.80 by 0.10 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The model rests on its bottom edge at y=0; hang it by placing the eyes against a wall. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-chalkboard-menu-19e1bbd7","cdnUrl":"https://cdn.3dassets.dev/assets/34437/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-chalkboard-menu-19e1bbd7","thumbnailUrl":"https://cdn.3dassets.dev/assets/34437/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34437/v1/poster.webp","blurhash":"U9Ci]gIuDhV_~W_2E1RPDP-oNfM{NF-nbG9a","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":50724,"triangles":1112,"vertices":2524,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.00002442474265845762,-0.022486038675429598],"max":[0.6000000238418579,0.8000244366635874,0.07498001173921603]},"sizeMeters":[1.2,0.8,0.097],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:30.221Z","updatedAt":"2026-09-11T08:39:30.325Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34437/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChalkboardMenuButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34437/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34437/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34437/v1/model.glb\" alt=\"Chalkboard menu (Butcher's Shop and Deli Counter)\" 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/34437/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/34437/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34434","slug":"butchers-shop-and-deli-counter-counter-scales-065193da","title":"Counter scales (Butcher's Shop and Deli Counter)","summary":"A counter top scale in the house burgundy with a stainless weighing platform, a brass dial head on a post and a blank face with a single needle. No figures on the dial.","description":"A counter top scale in the house burgundy with a stainless weighing platform, a brass dial head on a post and a blank face with a single needle. No figures on the dial. Dimensions 0.34 by 0.45 by 0.28 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-counter-scales-065193da","cdnUrl":"https://cdn.3dassets.dev/assets/34434/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-counter-scales-065193da","thumbnailUrl":"https://cdn.3dassets.dev/assets/34434/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34434/v1/poster.webp","blurhash":"UACiRAxI00bX1?M|ra%200Rj?^t8^R$*xCM|","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":25520,"triangles":536,"vertices":1115,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,-9.175275064235433e-7,-0.14001251406160212],"max":[0.17000000178813934,0.4450000002980232,0.14001251406160212]},"sizeMeters":[0.34,0.445,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:28.400Z","updatedAt":"2026-09-11T08:39:28.515Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34434/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CounterScalesButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34434/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34434/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34434/v1/model.glb\" alt=\"Counter scales (Butcher's Shop and Deli Counter)\" 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/34434/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/34434/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34435","slug":"butchers-shop-and-deli-counter-paper-and-bag-dispenser-3841a00c","title":"Paper and bag dispenser (Butcher's Shop and Deli Counter)","summary":"The wrapping station: a stainless frame carrying a roll of counter paper on a spindle with a brass tear bar, and a rack of blank paper bags hanging under it on a front rail.","description":"The wrapping station: a stainless frame carrying a roll of counter paper on a spindle with a brass tear bar, and a rack of blank paper bags hanging under it on a front rail. Dimensions 0.50 by 0.45 by 0.22 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-paper-and-bag-dispenser-3841a00c","cdnUrl":"https://cdn.3dassets.dev/assets/34435/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-paper-and-bag-dispenser-3841a00c","thumbnailUrl":"https://cdn.3dassets.dev/assets/34435/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34435/v1/poster.webp","blurhash":"U5DS%f~q0000_N%MD%IU00M|^*$*8{^+_N0J","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":27776,"triangles":592,"vertices":1284,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,-0.000005346699622765794,-0.10999633777886288],"max":[0.25,0.4500053347786938,0.10999633777886288]},"sizeMeters":[0.5,0.45,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:29.456Z","updatedAt":"2026-09-11T08:39:29.563Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34435/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaperAndBagDispenserButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34435/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34435/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34435/v1/model.glb\" alt=\"Paper and bag dispenser (Butcher's Shop and Deli Counter)\" 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/34435/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/34435/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34438","slug":"butchers-shop-and-deli-counter-window-display-shelf-1f292e47","title":"Window display shelf (Butcher's Shop and Deli Counter)","summary":"A stepped three tier window stand on a stainless frame with beech decks, burgundy price rails, a boxed display on each tier and a top rail of brass hooks. Faces the street from inside the glass.","description":"A stepped three tier window stand on a stainless frame with beech decks, burgundy price rails, a boxed display on each tier and a top rail of brass hooks. Faces the street from inside the glass. Dimensions 1.34 by 1.03 by 0.58 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-window-display-shelf-1f292e47","cdnUrl":"https://cdn.3dassets.dev/assets/34438/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-window-display-shelf-1f292e47","thumbnailUrl":"https://cdn.3dassets.dev/assets/34438/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34438/v1/poster.webp","blurhash":"UKELKjxa0eWB}a%2I.NG4oi_%LS#NZwgWBSx","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":122508,"triangles":2620,"vertices":6390,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6700000166893005,0.0000024812263801354817,-0.28000165386215886],"max":[0.6700000166893005,1.0300371290971322,0.30002708918124166]},"sizeMeters":[1.34,1.03,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:30.283Z","updatedAt":"2026-09-11T08:39:30.491Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34438/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindowDisplayShelfButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34438/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34438/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34438/v1/model.glb\" alt=\"Window display shelf (Butcher's Shop and Deli Counter)\" 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/34438/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/34438/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34466","slug":"butchers-shop-and-deli-counter-stock-trolley-6bf5de98","title":"Stock trolley (Butcher's Shop and Deli Counter)","summary":"A three shelf stainless trolley with a push handle and a blank burgundy ticket holder, loaded with crated and boxed stock on the lower decks. All four castors are rigged to roll.","description":"A three shelf stainless trolley with a push handle and a blank burgundy ticket holder, loaded with crated and boxed stock on the lower decks. All four castors are rigged to roll. Dimensions 0.88 by 0.95 by 0.53 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: wheel-0, wheel-1, wheel-2, wheel-3. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: roll. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-stock-trolley-6bf5de98","cdnUrl":"https://cdn.3dassets.dev/assets/34466/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-stock-trolley-6bf5de98","thumbnailUrl":"https://cdn.3dassets.dev/assets/34466/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34466/v1/poster.webp","blurhash":"UBDcUO$*00Iq_4xuMwRi00NH^*%1D$RPbdWs","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":84472,"triangles":2200,"vertices":4878,"meshes":8,"materials":5,"textures":0,"animations":["roll"],"boundingBox":{"min":[-0.44001940888786906,-7.450580569168253e-10,-0.2587487343873164],"max":[0.44001940888786906,0.9502168893814087,0.2669778997658643]},"sizeMeters":[0.88,0.95,0.526],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:46.253Z","updatedAt":"2026-09-11T08:39:46.368Z","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/34466/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 StockTrolleyButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34466/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/34466/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34466/v1/model.glb\" alt=\"Stock trolley (Butcher's Shop and Deli Counter)\" 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/34466/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/34466/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34461","slug":"butchers-shop-and-deli-counter-stock-crate-stack-39c5de87","title":"Stock crate stack (Butcher's Shop and Deli Counter)","summary":"Four stacking crates nested on a low dolly in alternating burgundy and white, each with a contrasting rim and hand grips on both ends.","description":"Four stacking crates nested on a low dolly in alternating burgundy and white, each with a contrasting rim and hand grips on both ends. Dimensions 0.66 by 0.71 by 0.46 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-stock-crate-stack-39c5de87","cdnUrl":"https://cdn.3dassets.dev/assets/34461/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-stock-crate-stack-39c5de87","thumbnailUrl":"https://cdn.3dassets.dev/assets/34461/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34461/v1/poster.webp","blurhash":"UIGuOK?H00E1~qxaD%R*0{R%iwsox]ozM{M{","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":47340,"triangles":1072,"vertices":2379,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32999725680521225,0,-0.23000091797454125],"max":[0.32999725680521225,0.7120000123977661,0.23000091797454125]},"sizeMeters":[0.66,0.712,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:43.327Z","updatedAt":"2026-09-11T08:39:43.553Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34461/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StockCrateStackButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34461/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34461/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34461/v1/model.glb\" alt=\"Stock crate stack (Butcher's Shop and Deli Counter)\" 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/34461/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/34461/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34465","slug":"butchers-shop-and-deli-counter-waste-bin-eaa569e3","title":"Pedal waste bin (Butcher's Shop and Deli Counter)","summary":"A 720 mm stainless pedal bin with a burgundy band, an inner liner rim, a modelled pedal and rod linkage, and a domed lid rigged to lift.","description":"A 720 mm stainless pedal bin with a burgundy band, an inner liner rim, a modelled pedal and rod linkage, and a domed lid rigged to lift. Dimensions 0.45 by 0.77 by 0.46 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: bin-lid. The pedal and rod are modelled but static: the lid is the node that moves. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-waste-bin-eaa569e3","cdnUrl":"https://cdn.3dassets.dev/assets/34465/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-waste-bin-eaa569e3","thumbnailUrl":"https://cdn.3dassets.dev/assets/34465/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34465/v1/poster.webp","blurhash":"U17dqN-p0056Y%tRmSR600WA~XogQ8Vsp{Xn","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26636,"triangles":544,"vertices":1146,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.22261299712288227,0,-0.22261299712288227],"max":[0.22261299712288227,0.7699978548381139,0.23452296406228476]},"sizeMeters":[0.445,0.77,0.457],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:46.386Z","updatedAt":"2026-09-11T08:39:46.494Z","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/34465/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 PedalWasteBinButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34465/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/34465/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34465/v1/model.glb\" alt=\"Pedal waste bin (Butcher's Shop and Deli Counter)\" 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/34465/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/34465/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34443","slug":"butchers-shop-and-deli-counter-butchers-block-table-91c936a6","title":"Butcher's block table (Butcher's Shop and Deli Counter)","summary":"A 200 mm laminated beech block on a heavy timber stand with steel feet, banded in stainless, with a scrubbed working dish in the top, a knife slot in the front rail and two hooks on the end.","description":"A 200 mm laminated beech block on a heavy timber stand with steel feet, banded in stainless, with a scrubbed working dish in the top, a knife slot in the front rail and two hooks on the end. Dimensions 1.14 by 0.90 by 0.73 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-butchers-block-table-91c936a6","cdnUrl":"https://cdn.3dassets.dev/assets/34443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-butchers-block-table-91c936a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/34443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34443/v1/poster.webp","blurhash":"URFrbCt69GxZ~V%1IVNGE2t6NGM|Ipj[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":77596,"triangles":1680,"vertices":3986,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5559999942779541,-0.00001749889831043072,-0.35596769412567186],"max":[0.5858495831489563,0.9000202725279127,0.37699924142899416]},"sizeMeters":[1.142,0.9,0.733],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:33.078Z","updatedAt":"2026-09-11T08:39:33.192Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ButcherSBlockTableButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34443/v1/model.glb\" alt=\"Butcher's block table (Butcher's Shop and Deli Counter)\" 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/34443/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/34443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34444","slug":"butchers-shop-and-deli-counter-stainless-prep-table-7c8a3bb8","title":"Stainless prep table (Butcher's Shop and Deli Counter)","summary":"A 1.4 m stainless bench on square legs with adjustable feet: a pressed top with a back upstand, an undershelf carrying boxed stock and a coloured cutting board laid on the working end.","description":"A 1.4 m stainless bench on square legs with adjustable feet: a pressed top with a back upstand, an undershelf carrying boxed stock and a coloured cutting board laid on the working end. Dimensions 1.40 by 1.00 by 0.70 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-stainless-prep-table-7c8a3bb8","cdnUrl":"https://cdn.3dassets.dev/assets/34444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-stainless-prep-table-7c8a3bb8","thumbnailUrl":"https://cdn.3dassets.dev/assets/34444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34444/v1/poster.webp","blurhash":"UHDl=?%g00Dj~q-;IoD%4nju-pbaI:aeVstR","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":50852,"triangles":1160,"vertices":2508,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,0.00002948530742535871,-0.35005340143020897],"max":[0.699999988079071,0.9959705065863429,0.35005340143020897]},"sizeMeters":[1.4,0.996,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:33.793Z","updatedAt":"2026-09-11T08:39:33.892Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34444/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StainlessPrepTableButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34444/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34444/v1/model.glb\" alt=\"Stainless prep table (Butcher's Shop and Deli Counter)\" 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/34444/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/34444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34446","slug":"butchers-shop-and-deli-counter-band-saw-4c1e9f57","title":"Butchery band saw (Butcher's Shop and Deli Counter)","summary":"A floor standing band saw for bone: a stainless column with two covered wheels rigged to spin, the blade run boxed inside its guard, a sliding table with a burgundy fence, a top guide rail and a control box with start and stop.","description":"A floor standing band saw for bone: a stainless column with two covered wheels rigged to spin, the blade run boxed inside its guard, a sliding table with a burgundy fence, a top guide rail and a control box with start and stop. Dimensions 0.73 by 1.64 by 0.75 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: saw-wheel-0, saw-wheel-1. The blade itself is a fixed strip inside the guard: it is guarded on a real machine and stays guarded here. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-band-saw-4c1e9f57","cdnUrl":"https://cdn.3dassets.dev/assets/34446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-band-saw-4c1e9f57","thumbnailUrl":"https://cdn.3dassets.dev/assets/34446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34446/v1/poster.webp","blurhash":"U59%hzv#00GZ?^NF8w-pTwJ6MK=z~Bni56Or","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54792,"triangles":1440,"vertices":3040,"meshes":6,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.4249867369727023,0,-0.33997757357553754],"max":[0.30994781738851285,1.6399999856948853,0.40997756642298017]},"sizeMeters":[0.735,1.64,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:34.871Z","updatedAt":"2026-09-11T08:39:35.006Z","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/34446/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 ButcheryBandSawButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34446/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/34446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34446/v1/model.glb\" alt=\"Butchery band saw (Butcher's Shop and Deli Counter)\" 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/34446/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/34446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34445","slug":"butchers-shop-and-deli-counter-mincer-cb5c28c1","title":"Benchtop mincer (Butcher's Shop and Deli Counter)","summary":"A benchtop mincer: a stainless cased motor with a burgundy panel, a throat with the feed worm rigged to turn inside it, a ring nut and plate on the head, a feed pan over the throat and a beech pusher standing beside it.","description":"A benchtop mincer: a stainless cased motor with a burgundy panel, a throat with the feed worm rigged to turn inside it, a ring nut and plate on the head, a feed pan over the throat and a beech pusher standing beside it. Dimensions 0.36 by 0.66 by 0.65 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: mincer-worm. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-mincer-cb5c28c1","cdnUrl":"https://cdn.3dassets.dev/assets/34445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-mincer-cb5c28c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/34445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34445/v1/poster.webp","blurhash":"U69jo-D%00.8R~WBV[t700xu~qRiIB%M%gD%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":57828,"triangles":1432,"vertices":2774,"meshes":5,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.18001727287841426,-0.000012347078881480567,-0.18000000715255737],"max":[0.18001727287841426,0.6600013086244009,0.4659999907016754]},"sizeMeters":[0.36,0.66,0.646],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:34.839Z","updatedAt":"2026-09-11T08:39:34.984Z","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/34445/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 BenchtopMincerButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34445/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/34445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34445/v1/model.glb\" alt=\"Benchtop mincer (Butcher's Shop and Deli Counter)\" 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/34445/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/34445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34447","slug":"butchers-shop-and-deli-counter-sausage-filler-91dd4114","title":"Sausage filler (Butcher's Shop and Deli Counter)","summary":"A hand cranked vertical filler: a stainless cylinder with a burgundy band on a flared base, a domed lid, a filling nozzle on the front and a geared crank handle on the flank, rigged to turn.","description":"A hand cranked vertical filler: a stainless cylinder with a burgundy band on a flared base, a domed lid, a filling nozzle on the front and a geared crank handle on the flank, rigged to turn. Dimensions 0.55 by 0.76 by 0.51 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: filler-crank. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-sausage-filler-91dd4114","cdnUrl":"https://cdn.3dassets.dev/assets/34447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-sausage-filler-91dd4114","thumbnailUrl":"https://cdn.3dassets.dev/assets/34447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34447/v1/poster.webp","blurhash":"U19jo.~q0000~ps:9FWE0wI.z],w~ptP00My","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":36824,"triangles":872,"vertices":1764,"meshes":3,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.20001236219214327,0,-0.19696873202740328],"max":[0.3499971555699238,0.7599999904632568,0.31000718250691073]},"sizeMeters":[0.55,0.76,0.507],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:34.957Z","updatedAt":"2026-09-11T08:39:35.058Z","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/34447/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 SausageFillerButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34447/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/34447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34447/v1/model.glb\" alt=\"Sausage filler (Butcher's Shop and Deli Counter)\" 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/34447/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/34447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34449","slug":"butchers-shop-and-deli-counter-meat-slicer-ba9355df","title":"Meat slicer (Butcher's Shop and Deli Counter)","summary":"A gravity feed slicer: a cast body with a burgundy panel, a circular blade rigged to spin behind its ring guard and centre plate, a raked carriage with a pusher arm and a brass thickness dial on the flank.","description":"A gravity feed slicer: a cast body with a burgundy panel, a circular blade rigged to spin behind its ring guard and centre plate, a raked carriage with a pusher arm and a brass thickness dial on the flank. Dimensions 0.58 by 0.53 by 0.42 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: slicer-blade. The blade turns behind the guard, which is where it belongs; the guard does not come off. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-meat-slicer-ba9355df","cdnUrl":"https://cdn.3dassets.dev/assets/34449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-meat-slicer-ba9355df","thumbnailUrl":"https://cdn.3dassets.dev/assets/34449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34449/v1/poster.webp","blurhash":"UAA,qO~W004.tltRoLaK00IU%NxueTaKW;NZ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":52372,"triangles":1212,"vertices":2506,"meshes":5,"materials":5,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.26600000262260437,-0.0000155002136133231,-0.21002120286509135],"max":[0.31251080451696855,0.5262609720230103,0.2130155875302505]},"sizeMeters":[0.579,0.526,0.423],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:36.749Z","updatedAt":"2026-09-11T08:39:36.873Z","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/34449/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 MeatSlicerButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34449/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/34449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34449/v1/model.glb\" alt=\"Meat slicer (Butcher's Shop and Deli Counter)\" 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/34449/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/34449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34448","slug":"butchers-shop-and-deli-counter-vacuum-packer-5e364d1c","title":"Vacuum packer (Butcher's Shop and Deli Counter)","summary":"A chamber vacuum packer: a stainless case with a burgundy front and an angled control panel, a recessed chamber with a brass seal bar, and a hinged lid with a clear top rigged to lift.","description":"A chamber vacuum packer: a stainless case with a burgundy front and an angled control panel, a recessed chamber with a brass seal bar, and a hinged lid with a clear top rigged to lift. Dimensions 0.60 by 0.49 by 0.61 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: packer-lid. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-vacuum-packer-5e364d1c","cdnUrl":"https://cdn.3dassets.dev/assets/34448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-vacuum-packer-5e364d1c","thumbnailUrl":"https://cdn.3dassets.dev/assets/34448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34448/v1/poster.webp","blurhash":"U3BMx$}b00%~UFAVMw=|009@.TNa00}F^,9t","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32728,"triangles":636,"vertices":1392,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.30000001192092896,-0.000010086009688464737,-0.3250100677591608],"max":[0.30000001192092896,0.4940072521242008,0.2850130918440385]},"sizeMeters":[0.6,0.494,0.61],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:36.577Z","updatedAt":"2026-09-11T08:39:36.766Z","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/34448/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 VacuumPackerButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34448/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/34448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34448/v1/model.glb\" alt=\"Vacuum packer (Butcher's Shop and Deli Counter)\" 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/34448/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/34448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34455","slug":"butchers-shop-and-deli-counter-bench-scale-2de84205","title":"Bench scale (Butcher's Shop and Deli Counter)","summary":"A prep room platform scale: a burgundy base with a stainless weighing plate and a blank lit display head on a raked column. No figures on the readout.","description":"A prep room platform scale: a burgundy base with a stainless weighing plate and a blank lit display head on a raked column. No figures on the readout. Dimensions 0.42 by 0.53 by 0.39 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-bench-scale-2de84205","cdnUrl":"https://cdn.3dassets.dev/assets/34455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-bench-scale-2de84205","thumbnailUrl":"https://cdn.3dassets.dev/assets/34455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34455/v1/poster.webp","blurhash":"UCB3W.%200j[5PIow|%MH?M{pItR~X-pMwIU","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":18956,"triangles":384,"vertices":843,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.20999999344348907,-0.0000037367433463261768,-0.21663163051147427],"max":[0.20999999344348907,0.5271561078282261,0.17000853987473477]},"sizeMeters":[0.42,0.527,0.387],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:40.622Z","updatedAt":"2026-09-11T08:39:40.730Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34455/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BenchScaleButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34455/v1/model.glb\" alt=\"Bench scale (Butcher's Shop and Deli Counter)\" 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/34455/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/34455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34452","slug":"butchers-shop-and-deli-counter-chopping-board-stack-c0b3e7ff","title":"Chopping board stack (Butcher's Shop and Deli Counter)","summary":"Four colour coded chopping boards standing on edge in a stainless drying rack with a top rail, the way a prep room stores them between washes.","description":"Four colour coded chopping boards standing on edge in a stainless drying rack with a top rail, the way a prep room stores them between washes. Dimensions 0.46 by 0.32 by 0.38 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-chopping-board-stack-c0b3e7ff","cdnUrl":"https://cdn.3dassets.dev/assets/34452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-chopping-board-stack-c0b3e7ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/34452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34452/v1/poster.webp","blurhash":"UAD+#p^k005Q~Wx]NaRP00I;%1rXE2xuV@D%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"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":18132,"triangles":544,"vertices":1220,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.23000000417232513,0.000003045372237220345,-0.1899902375234939],"max":[0.23000000417232513,0.3199969474752054,0.1899902375234939]},"sizeMeters":[0.46,0.32,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:39.457Z","updatedAt":"2026-09-11T08:39:39.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34452/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChoppingBoardStackButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34452/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34452/v1/model.glb\" alt=\"Chopping board stack (Butcher's Shop and Deli Counter)\" 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/34452/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/34452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34451","slug":"butchers-shop-and-deli-counter-steel-and-cleaver-stand-2bc81c8b","title":"Steel and cleaver stand (Butcher's Shop and Deli Counter)","summary":"The two tools a butcher keeps at the block, stood in a beech base with a burgundy inlay: a deep bladed cleaver with a bolster and riveted handle, and a round sharpening steel with its guard and hanging ring.","description":"The two tools a butcher keeps at the block, stood in a beech base with a burgundy inlay: a deep bladed cleaver with a bolster and riveted handle, and a round sharpening steel with its guard and hanging ring. Dimensions 0.46 by 0.46 by 0.23 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-steel-and-cleaver-stand-2bc81c8b","cdnUrl":"https://cdn.3dassets.dev/assets/34451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-steel-and-cleaver-stand-2bc81c8b","thumbnailUrl":"https://cdn.3dassets.dev/assets/34451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34451/v1/poster.webp","blurhash":"U8A9]54:00^k00%e~pIVORNHjJxs~Ww{9ZEL","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"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":32988,"triangles":712,"vertices":1506,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.30263552069664,0.0000053401184888050846,-0.09000824357416463],"max":[0.15285753833376312,0.4596701330373516,0.13983180181520352]},"sizeMeters":[0.455,0.46,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:37.831Z","updatedAt":"2026-09-11T08:39:37.944Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34451/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteelAndCleaverStandButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34451/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34451/v1/model.glb\" alt=\"Steel and cleaver stand (Butcher's Shop and Deli Counter)\" 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/34451/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/34451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34450","slug":"butchers-shop-and-deli-counter-knife-rack-9ec790df","title":"Knife rack with knives (Butcher's Shop and Deli Counter)","summary":"A beech wall rack over two magnetic bars holding three butcher's knives, each with a tapered blade, a ground edge, a spine, a bolster and a riveted burgundy handle, with a sharpening steel hung on the end.","description":"A beech wall rack over two magnetic bars holding three butcher's knives, each with a tapered blade, a ground edge, a spine, a bolster and a riveted burgundy handle, with a sharpening steel hung on the end. Dimensions 0.90 by 0.47 by 0.08 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-knife-rack-9ec790df","cdnUrl":"https://cdn.3dassets.dev/assets/34450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-knife-rack-9ec790df","thumbnailUrl":"https://cdn.3dassets.dev/assets/34450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34450/v1/poster.webp","blurhash":"UHGuUKtRIVtR-:~Vf+WB01xYxaWAWBoejFIU","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"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":70212,"triangles":1608,"vertices":3454,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.000033254909203250804,-0.014996795159225612],"max":[0.44999998807907104,0.4700007342395811,0.06398536724648626]},"sizeMeters":[0.9,0.47,0.079],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:37.796Z","updatedAt":"2026-09-11T08:39:37.908Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34450/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KnifeRackWithKnivesButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34450/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34450/v1/model.glb\" alt=\"Knife rack with knives (Butcher's Shop and Deli Counter)\" 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/34450/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/34450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34453","slug":"butchers-shop-and-deli-counter-hook-rail-frame-71e555e5","title":"Hook rail on a frame (Butcher's Shop and Deli Counter)","summary":"A free standing stainless frame with a braced top rail carrying six hooks, and a low shelf of boxed stock under it. The hooks are modelled empty.","description":"A free standing stainless frame with a braced top rail carrying six hooks, and a low shelf of boxed stock under it. The hooks are modelled empty. Dimensions 1.34 by 1.90 by 0.50 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The product is modelled as trimmed, trayed and wrapped food: there is no carcass, blood or animal geometry anywhere in this pack. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-hook-rail-frame-71e555e5","cdnUrl":"https://cdn.3dassets.dev/assets/34453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-hook-rail-frame-71e555e5","thumbnailUrl":"https://cdn.3dassets.dev/assets/34453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34453/v1/poster.webp","blurhash":"U89QU7xu00IoM{t7jFIU56Rj=|%2~Wxv9ZIT","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":84288,"triangles":1720,"vertices":4446,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6700186078831548,0,-0.2500610338810995],"max":[0.6700186078831548,1.899999976158142,0.2500610338810995]},"sizeMeters":[1.34,1.9,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:38.506Z","updatedAt":"2026-09-11T08:39:38.610Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34453/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HookRailOnAFrameButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34453/v1/model.glb\" alt=\"Hook rail on a frame (Butcher's Shop and Deli Counter)\" 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/34453/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/34453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34454","slug":"butchers-shop-and-deli-counter-sink-unit-cb00c684","title":"Sink unit with spray tap (Butcher's Shop and Deli Counter)","summary":"A 1.3 m stainless double bowl sink on a bench frame: two deep bowls with wastes, a ribbed drainer, a pre rinse spray on its spring riser with a burgundy lever, and a mixer tap with lever handles.","description":"A 1.3 m stainless double bowl sink on a bench frame: two deep bowls with wastes, a ribbed drainer, a pre rinse spray on its spring riser with a burgundy lever, and a mixer tap with lever handles. Dimensions 1.31 by 1.65 by 0.70 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The hose, the lead and the hanging cloth are static geometry: a flexible linkage is not reachable with one rigid node transform. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-sink-unit-cb00c684","cdnUrl":"https://cdn.3dassets.dev/assets/34454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-sink-unit-cb00c684","thumbnailUrl":"https://cdn.3dassets.dev/assets/34454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34454/v1/poster.webp","blurhash":"U7Ad1T%M009EMw%Mo}D%00IU~q.8S~M{R5tR","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":82084,"triangles":1928,"vertices":4229,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6599856130290489,0,-0.34998588844582157],"max":[0.6500458723840181,1.653281569480896,0.34998588844582157]},"sizeMeters":[1.31,1.653,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:39.616Z","updatedAt":"2026-09-11T08:39:39.722Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34454/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SinkUnitWithSprayTapButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34454/v1/model.glb\" alt=\"Sink unit with spray tap (Butcher's Shop and Deli Counter)\" 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/34454/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/34454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34456","slug":"butchers-shop-and-deli-counter-hand-wash-basin-fa958fe1","title":"Hand wash basin (Butcher's Shop and Deli Counter)","summary":"The wall hung hand wash station a food room needs beside its door: a small stainless bowl on a bracket with a splashback, a lever tap and a blank soap dispenser in the house colour.","description":"The wall hung hand wash station a food room needs beside its door: a small stainless bowl on a bracket with a splashback, a lever tap and a blank soap dispenser in the house colour. Dimensions 0.48 by 0.50 by 0.37 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The model rests at y=0; mount it by placing the splashback against a wall at working height. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-hand-wash-basin-fa958fe1","cdnUrl":"https://cdn.3dassets.dev/assets/34456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-hand-wash-basin-fa958fe1","thumbnailUrl":"https://cdn.3dassets.dev/assets/34456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34456/v1/poster.webp","blurhash":"U8BM#=rr00O?~CRP9@Or00IT?vx]%hkWDi%2","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":33960,"triangles":728,"vertices":1616,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999999463558197,0.000004530369564215153,-0.1880119523477972],"max":[0.23999999463558197,0.5032506824759858,0.1800119659376562]},"sizeMeters":[0.48,0.503,0.368],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:41.266Z","updatedAt":"2026-09-11T08:39:41.469Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34456/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandWashBasinButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34456/v1/model.glb\" alt=\"Hand wash basin (Butcher's Shop and Deli Counter)\" 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/34456/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/34456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34457","slug":"butchers-shop-and-deli-counter-apron-and-hat-rail-8b8d5600","title":"Apron and hat hook rail (Butcher's Shop and Deli Counter)","summary":"A stainless wall rail on two brackets with five brass hooks, hung with a burgundy apron, a white apron and a folded hat with a burgundy band.","description":"A stainless wall rail on two brackets with five brass hooks, hung with a burgundy apron, a white apron and a folded hat with a burgundy band. Dimensions 1.00 by 0.73 by 0.18 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The aprons are modelled as hanging cloth volumes and do not move; cloth is not reachable with a rigid node transform. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-apron-and-hat-rail-8b8d5600","cdnUrl":"https://cdn.3dassets.dev/assets/34457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-apron-and-hat-rail-8b8d5600","thumbnailUrl":"https://cdn.3dassets.dev/assets/34457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34457/v1/poster.webp","blurhash":"UCEVKZ:l00GZ^+xGjFNG00Tw~WiIIo%gRjIA","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":44292,"triangles":934,"vertices":2189,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.000005148174517743964,-0.026999252870212546],"max":[0.5,0.729999406319111,0.1482646051629951]},"sizeMeters":[1,0.73,0.175],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:41.486Z","updatedAt":"2026-09-11T08:39:41.604Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34457/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApronAndHatHookRailButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34457/v1/model.glb\" alt=\"Apron and hat hook rail (Butcher's Shop and Deli Counter)\" 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/34457/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/34457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34463","slug":"butchers-shop-and-deli-counter-cleaning-station-ef37797c","title":"Cleaning station with hose reel (Butcher's Shop and Deli Counter)","summary":"The wash down corner: a stainless panel on a kerb with a burgundy hose reel rigged to spin, the lead running down to a wash down gun, a tap set with lever handles, a brush and a squeegee on clips and two blank chemical jugs.","description":"The wash down corner: a stainless panel on a kerb with a burgundy hose reel rigged to spin, the lead running down to a wash down gun, a tap set with lever handles, a brush and a squeegee on clips and two blank chemical jugs. Dimensions 0.96 by 1.66 by 0.56 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Named pivoted nodes: reel-drum. The hose, the lead and the hanging cloth are static geometry: a flexible linkage is not reachable with one rigid node transform. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-cleaning-station-ef37797c","cdnUrl":"https://cdn.3dassets.dev/assets/34463/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-cleaning-station-ef37797c","thumbnailUrl":"https://cdn.3dassets.dev/assets/34463/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34463/v1/poster.webp","blurhash":"U58;42Di00_Nr@xaNGIoyDNGR5-pyXX8Mdrr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":71136,"triangles":1576,"vertices":3443,"meshes":7,"materials":6,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.47999998927116394,-9.155552638147324e-7,-0.09996398592444906],"max":[0.47999998927116394,1.659999966621399,0.46500001311302186]},"sizeMeters":[0.96,1.66,0.565],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:44.297Z","updatedAt":"2026-09-11T08:39:44.410Z","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/34463/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 CleaningStationWithHoseReelButcherSShopAndDeliCounter(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/34463/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/34463/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34463/v1/model.glb\" alt=\"Cleaning station with hose reel (Butcher's Shop and Deli Counter)\" 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/34463/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/34463/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"34464","slug":"butchers-shop-and-deli-counter-floor-drain-grate-0332d9c5","title":"Floor drain grate (Butcher's Shop and Deli Counter)","summary":"A stainless slot grate in a coved kerb surround, sitting flush in a prep room floor over a dark trap. Nine bars on a framed border, at 30 mm above the floor tile.","description":"A stainless slot grate in a coved kerb surround, sitting flush in a prep room floor over a dark trap. Nine bars on a framed border, at 30 mm above the floor tile. Dimensions 0.50 by 0.04 by 0.28 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-floor-drain-grate-0332d9c5","cdnUrl":"https://cdn.3dassets.dev/assets/34464/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-floor-drain-grate-0332d9c5","thumbnailUrl":"https://cdn.3dassets.dev/assets/34464/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34464/v1/poster.webp","blurhash":"U6Bpqf-q00axxt-;oeIU00Io~qRjMy4TRj%N","category":{"slug":"buildings","title":"Buildings & Architecture"},"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":37836,"triangles":840,"vertices":1876,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,0.000015411512009250866,-0.1400036622211371],"max":[0.25,0.0380050044981559,0.1400036622211371]},"sizeMeters":[0.5,0.038,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:45.285Z","updatedAt":"2026-09-11T08:39:45.423Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34464/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorDrainGrateButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34464/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34464/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34464/v1/model.glb\" alt=\"Floor drain grate (Butcher's Shop and Deli Counter)\" 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/34464/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/34464/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34460","slug":"butchers-shop-and-deli-counter-packaging-box-shelf-5d793b8f","title":"Packaging box shelf (Butcher's Shop and Deli Counter)","summary":"The packaging store: a two tier stainless shelf with burgundy edge rails, flat packed boxes below, film and foil rolls on the middle deck and a stack of trays under the top shelf.","description":"The packaging store: a two tier stainless shelf with burgundy edge rails, flat packed boxes below, film and foil rolls on the middle deck and a stack of trays under the top shelf. Dimensions 1.00 by 1.50 by 0.42 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-packaging-box-shelf-5d793b8f","cdnUrl":"https://cdn.3dassets.dev/assets/34460/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-packaging-box-shelf-5d793b8f","thumbnailUrl":"https://cdn.3dassets.dev/assets/34460/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34460/v1/poster.webp","blurhash":"U9C$_:-p004:.At8MbRh9sSg$+r=-ot7I;IV","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":78304,"triangles":1776,"vertices":3948,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,-0.000020142663288993945,-0.2099749749508134],"max":[0.5,1.5,0.2099749749508134]},"sizeMeters":[1,1.5,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:44.273Z","updatedAt":"2026-09-11T08:39:44.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34460/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PackagingBoxShelfButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34460/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34460/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34460/v1/model.glb\" alt=\"Packaging box shelf (Butcher's Shop and Deli Counter)\" 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/34460/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/34460/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34459","slug":"butchers-shop-and-deli-counter-chiller-shelving-unit-fa5d5c4d","title":"Chiller shelving unit (Butcher's Shop and Deli Counter)","summary":"A 1.2 m four tier shelving bay on round stainless posts with adjustable feet, the decks edged alternately in burgundy and steel and loaded with boxed and crated stock.","description":"A 1.2 m four tier shelving bay on round stainless posts with adjustable feet, the decks edged alternately in burgundy and steel and loaded with boxed and crated stock. Dimensions 1.22 by 1.80 by 0.51 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-chiller-shelving-unit-fa5d5c4d","cdnUrl":"https://cdn.3dassets.dev/assets/34459/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-chiller-shelving-unit-fa5d5c4d","thumbnailUrl":"https://cdn.3dassets.dev/assets/34459/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34459/v1/poster.webp","blurhash":"U9D017-:004.~q%29FD%00Rk~VxZozkCRjRj","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":112644,"triangles":2576,"vertices":5791,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6079999804496765,0.0000345471476838749,-0.2561552699395057],"max":[0.6079999804496765,1.7999999523162842,0.2561552699395057]},"sizeMeters":[1.216,1.8,0.512],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:42.535Z","updatedAt":"2026-09-11T08:39:42.640Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34459/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChillerShelvingUnitButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34459/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34459/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34459/v1/model.glb\" alt=\"Chiller shelving unit (Butcher's Shop and Deli Counter)\" 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/34459/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/34459/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"34462","slug":"butchers-shop-and-deli-counter-chiller-hanging-rail-23b4d1cf","title":"Chiller hanging rail (Butcher's Shop and Deli Counter)","summary":"The braced rail a chiller hangs its work from: a stainless tee rail on two posts with seven roller hooks, standing over a pallet of boxed and trayed cuts. The hooks are modelled empty on purpose.","description":"The braced rail a chiller hangs its work from: a stainless tee rail on two posts with seven roller hooks, standing over a pallet of boxed and trayed cuts. The hooks are modelled empty on purpose. Dimensions 1.86 by 2.13 by 0.42 m (X by Y by Z). Metre units, +Y up, customer or user side toward +Z, resting on y=0. The product is modelled as trimmed, trayed and wrapped food: there is no carcass, blood or animal geometry anywhere in this pack. Every ticket, board and label is blank: no shop name, brand or trade dress anywhere in this pack. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/butchers-shop-and-deli-counter-chiller-hanging-rail-23b4d1cf","cdnUrl":"https://cdn.3dassets.dev/assets/34462/v1/model.glb","downloadUrl":"https://3dassets.dev/download/butchers-shop-and-deli-counter-chiller-hanging-rail-23b4d1cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/34462/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/34462/v1/poster.webp","blurhash":"U8A]~d%200EM5Roz^PRi?vX8H@sA~C?H9t0K","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":126888,"triangles":2668,"vertices":6651,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.9300508632881691,0,-0.20996430462490204],"max":[0.9300508632881691,2.130000114440918,0.20996430462490204]},"sizeMeters":[1.86,2.13,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-11T08:39:43.344Z","updatedAt":"2026-09-11T08:39:43.571Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/34462/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChillerHangingRailButcherSShopAndDeliCounter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/34462/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/34462/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/34462/v1/model.glb\" alt=\"Chiller hanging rail (Butcher's Shop and Deli Counter)\" 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/34462/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/34462/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}