{"data":{"id":"152","slug":"cyberpunk-apartment-and-neon-block","title":"Cyberpunk Apartment and Neon Block","summary":"Walk a cut away neon block at night: ten flats either side of one corridor, each dressed as a different tenant, a lit street face with balconies and sign frames, an entrance lobby with lifts, and the service yard behind it.","url":"https://3dassets.dev/demos/cyberpunk-apartment-and-neon-block","coverUrl":"https://cdn.3dassets.dev/media/cyberpunk-apartment-and-neon-block-demo.png","featured":true,"pack":{"slug":"cyberpunk-apartment-and-neon-block","title":"Cyberpunk Apartment and Neon Block","url":"https://3dassets.dev/packs/cyberpunk-apartment-and-neon-block","summary":"Sci-fi noir apartment models: modular block walls, floors and ceilings, capsule pods, a fold down bed, a multi screen desk, a compact kitchen, a wash pod, a server rack, a drone pad, neon signs with blank faces, balcony cages and rooftop plant.","assetCount":68,"totalBytes":10893928,"starterScene":{"slug":"cyberpunk-apartment-and-neon-block-neon--5f3c4535-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37848/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-neon--5f3c4535-starter-scene","fileSize":5553848}},"placementCount":1022,"assetCount":66,"spawn":{"position":[-13.5,0.06,-3.6],"yaw":90},"publishedAt":"2026-09-12T06:03:45.741Z","updatedAt":"2026-09-12T06:03:45.742Z","description":"## What is placed\n\nA cut away apartment block, 47 m by 27 m, walked as one loop. Ten flats sit in two rows either side of a central corridor, with an entrance lobby and a plant room at the east end, a street in front and a service yard behind. The block is deliberately open topped: no ceiling panels are laid over any flat, because the walk has no vertical movement and a sealed interior would be unreachable and unphotographable. For the same reason nothing is put on a roof, and the water tanks, dishes and antenna masts stand in the yard at ground level where you can get to them.\n\nEvery flat is dressed as a different tenant. Going west to east along the street row: a capsule bay with five sleeping pods, three shut and two with the visor raised; a family flat with the compact kitchen, hot plate, drinks fridge, noodle shelf, laundry stack, wet room pod and a three piece modular sofa round a glass topped table; a rig room with two multi screen desks, two server cabinets, cable bundles and a holo plinth; a workshop with two benches, parts trays, a prosthetic arm on its stand, a drone on a charge pad and two gun lockers; and a stripped flat with nothing in it but a folded wall bed, a loose cable bundle, a bin and an open floor hatch.\n\nThe back row runs a bunk dormitory, a wet room and laundry block, a second lived in flat, a clinic cell with stim cabinets and medical kits, a crate store, and the plant room with the meter banks, risers, scrubbers and the rubbish chute.\n\nThe corridor carries all ten apartment doors with their blank number plates, mag locks over each leaf, intercom panels, camera heads, neon strip runs, ducting and a graffiti panel. The street face carries window walls with blinds, balcony cages with drying rails, condenser boxes, satellite dishes, blank neon sign frames and blade signs, with paper lanterns, puddles and bin clusters on the pavement and a lit frontage on the far side of the street.\n\n1,022 placements of 66 of the pack's models, about 5 MB of GLB in all. That is the whole pack except the starter scene and the ceiling panel, and the download is the trade for a block you can walk end to end.\n\n## A night street, lit by you\n\nThe scene is coloured for night: a deep blue violet sky, a dim horizon and a dark wet ground. That is colour, not lighting. The pack embeds no lights at all, and the neon strips, sign faces, screens and the holo volume are emissive looking materials, so they read against a dark sky and would disappear under a bright one. In your own engine you light this yourself: point lights or emissive bloom behind the neon, a fill for the corridor, and whatever you want the screens to be showing.\n\n## What moves\n\n25 of the models placed here carry clips, and all of them stand beside the walk. The security door off the street slides, the apartment doors swing, the lift door pairs part, the fold down wall bed drops, the kitchen door and drawer open, the drinks fridge, the wet room pod, the laundry stack, the storage crate bays, the shut gun locker, the stim cabinet, the medical kit, the server cabinet, the bench drawers, the floor hatch, the bin lids, the capsule pod visors and the rubbish chute flap all open and close, the extract fans, the condenser fans, the air scrubbers and the drone rotors spin, and the camera heads pan on their mounts.\n\n## What does not move, and why\n\nThe neon glow, the screen content, the cabling, the ducting, the window blinds, the steam and the holo volume are all static. Light, displays, flexible material and fluid each need a shader or a joint per element, and none of that is reachable with the single rigid node transform this library animates with. The neon and the screens are emissive looking materials rather than lights, which is why they need your own lighting to sell. There are no people anywhere: the pack has no skinned meshes.\n\n## No branding\n\nNothing here is a real corporation, game, film or franchise, and no surface carries a logo, a wordmark or readable text in any script. The graffiti panels are rings, dots and dashes rather than letters, the sign frames and number plates are blank on purpose, and the medical case carries bars rather than a cross. Put your own marks on them.","scene":{"version":1,"spawn":{"position":[-13.5,0.06,-3.6],"yaw":90},"ground":{"size":76,"elevation":0,"style":"plain"},"environment":{"preset":"outdoor","sky":"#1e1544","horizon":"#5b2c6b","floor":"#232030","light":"cool","shadows":true},"placements":[{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-20.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-19.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-18,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","position":[-18,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","position":[-16.8,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-16.8,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-15.6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-14.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-13.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-12,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-10.8,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-9.6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-8.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-7.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-4.8,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-3.6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-2.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[-1.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[0,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[1.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[2.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[3.6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[4.8,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[7.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[8.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[9.6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[10.8,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[12,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","position":[13.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[13.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[14.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[15.6,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","position":[16.8,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[16.8,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[18,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[19.2,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-7.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-6.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,-0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,0.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","position":[20.4,0,1.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-20.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-19.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-18,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-16.8,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-15.6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-14.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-12,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-10.8,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-9.6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-8.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-7.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-4.8,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-3.6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-2.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[-1.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[0,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[1.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[2.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[3.6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[4.8,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[7.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[8.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[9.6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[10.8,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[12,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","position":[13.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[14.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-wall-vending-panel--5c0aff3d","position":[15.6,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[16.8,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-security-door-modul-3f5704d5","position":[18,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[19.2,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[20.4,0.06,2.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-20.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-19.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-18,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-16.8,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-15.6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-14.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-13.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-12,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-10.8,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-9.6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-8.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-7.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-4.8,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-3.6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-2.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-1.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[0,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[1.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[2.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[3.6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[4.8,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[7.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[8.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[9.6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[10.8,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[12,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[13.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[14.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[15.6,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[16.8,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[18,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[19.2,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[20.4,0.06,-9.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-20.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[-19.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-18,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[-16.8,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-15.6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[-14.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[-12,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-10.8,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[-9.6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-8.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[-7.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[-4.8,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[-3.6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[-2.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-1.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[0,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[1.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[2.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[3.6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[4.8,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[7.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[8.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[9.6,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[10.8,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[12,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[13.2,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[14.4,0.06,-2.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-20.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-19.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-18,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[-16.8,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-15.6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-14.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-12,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-10.8,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[-9.6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-8.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-7.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-4.8,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[-3.6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-2.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-1.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[0,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[1.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[2.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[3.6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[4.8,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[7.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[8.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[9.6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[10.8,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[12,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[13.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[14.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[15.6,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[16.8,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","position":[18,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[19.2,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","position":[20.4,0.06,-4.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-21,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-21,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-21,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-21,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-21,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-21,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-21,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-21,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.8,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.8,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.8,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.8,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-13.8,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-13.8,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-13.8,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-13.8,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6.6,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6.6,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6.6,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6.6,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-6.6,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-6.6,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-6.6,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-6.6,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[0.6,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[0.6,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[0.6,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[0.6,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[0.6,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[0.6,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[0.6,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[0.6,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[7.8,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[7.8,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[7.8,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[7.8,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[7.8,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[7.8,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[7.8,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[7.8,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[15,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[15,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[15,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[15,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[15,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[15,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[15,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[15,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[21,0.06,-1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[21,0.06,-0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[21,0.06,0.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[21,0.06,1.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[21,0.06,-9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[21,0.06,-7.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[21,0.06,-6.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[21,0.06,-5.4],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-21,0.06,-4.2],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[21,0.06,-4.2],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-21,0.06,-3],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[21,0.06,-3],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-lift-door-pair-16b5484f","position":[20.9,0.06,-0.6],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-lift-door-pair-16b5484f","position":[20.9,0.06,1.2],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-20.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-19.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-18,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-16.8,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-15.6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-14.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-12,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-10.8,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-9.6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-8.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-7.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-wall-vending-panel--5c0aff3d","position":[-6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[-4.8,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-3.6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-2.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-1.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[0,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[1.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[2.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[3.6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[4.8,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[7.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-wall-vending-panel--5c0aff3d","position":[8.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[9.6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[10.8,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[12,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[13.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[14.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[15.6,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[16.8,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[18,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","position":[19.2,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[20.4,0.06,9.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-19.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-18,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-16.8,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-15.6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-14.4,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-13.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-12,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-10.8,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-9.6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-8.4,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-7.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-4.8,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-3.6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[-2.4,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[-1.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[0,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[1.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[2.4,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[3.6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[4.8,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[7.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[8.4,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[9.6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[10.8,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[12,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[13.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[14.4,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[15.6,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[16.8,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","position":[18,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","position":[19.2,0.06,-13.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","position":[-20,0.06,1.14],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-ope-6179a1b8","position":[-18.7,0.06,0.704],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","position":[-17.4,0.06,1.14],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-ope-6179a1b8","position":[-16.1,0.06,0.704],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","position":[-14.8,0.06,1.14],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","position":[-20,0.06,-2.115],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[-18.8,0.06,-2.04],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[-17.8,0.06,-2.04],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[-15.4,0.06,-2.087],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[-14.5,0.06,-2.196],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-16.8,0.06,-1.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-20.78,2.18,0],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-20.78,2.18,1.2],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[-20.8,2.06,-1.9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-compact-kitchen-uni-13ec4723","position":[-13,0.06,-2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-counter-hot-plate-3e63f246","position":[-13,1,-2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-drinks-fridge-f6a188b6","position":[-12.05,0.06,-2.014],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-noodle-cup-shelf-79a0515f","position":[-11.2,0.06,-2.16],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","position":[-10.3,0.06,-1.946],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-wet-room-pod-40137ae9","position":[-8.3,0.06,-1.804],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","position":[-12.7,0.06,1.891],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","position":[-11.6,0.06,1.891],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","position":[-10.5,0.06,1.891],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-low-table-f030ca5a","position":[-11.6,0.06,0.7],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-9.6,0.06,-0.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","position":[-8.6,0.06,2.01],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","position":[-13.6,1.11,1],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-holo-projector-plin-d399423a","position":[-7.2,0.06,1],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-10.8,2.18,2.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-9.6,2.18,2.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-desk-with-multi-scr-cd5fab7a","position":[-5.6,0.06,-1.96],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-desk-with-multi-scr-cd5fab7a","position":[-3.8,0.06,-1.96],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","position":[-5.6,0.06,-0.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","position":[-3.8,0.06,-0.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-server-cabinet-534333b8","position":[-1,0.06,-1.934],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-server-cabinet-534333b8","position":[-0.2,0.06,-1.934],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","position":[-6.255,0.06,0],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","position":[-6.255,0.06,1],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","position":[0.255,0.06,1],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-holo-projector-plin-d399423a","position":[-5,0.06,2.02],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","position":[-3.4,1.11,2.269],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","position":[-2,0.06,1.891],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[-0.3,0.06,2.087],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-1.6,0.06,0],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-5.4,2.18,2.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-4.2,2.18,2.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[0.4,2.06,-2],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","position":[1.6,0.06,-1.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","position":[3.3,0.06,-1.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[1.2,0.95,-1.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[3,0.95,-1.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-gun-locker-f7a750d5","position":[6.2,0.06,-1.93],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-gun-locker-closed-60736d74","position":[6.9,0.06,-2.119],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[1.6,0.06,2.04],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[2.6,0.06,2.04],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-prosthetic-arm-on-s-9c81e33b","position":[3.8,0.06,2.133],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","position":[5.8,0.06,1.98],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-drone-on-charge-pad-a5197423","position":[4.8,0.06,0],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[4,0.06,-0.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-stim-cabinet-bacb2897","position":[7.589,0.91,0.8],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[0.806,0.06,1.2],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[5,0.06,-1.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[6,2.18,2.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-fold-down-bed-3ad4fbe6","position":[9,0.06,-2.114],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","position":[10.4,0.06,-2.055],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[9.6,0.06,1.7],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-hatch-cefb08f5","position":[12.8,0.06,0.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","position":[14.2,0.06,2.15],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[14.793,0.06,-1.2],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[13.4,0.06,-1.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[11.4,2.18,2.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","position":[-20.1,0.06,-8.495],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","position":[-18.7,0.06,-8.495],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","position":[-17.3,0.06,-8.495],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","position":[-15.9,0.06,-8.495],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","position":[-14.5,0.06,-8.495],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[-20,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","position":[-18.9,0.06,-5.085],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[-14.6,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-16.8,0.06,-6.1],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","position":[-14.254,0.06,-7],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[-20.794,0.06,-6.2],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-18.6,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-17.4,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-wet-room-pod-40137ae9","position":[-12.8,0.06,-9.004],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-wet-room-pod-40137ae9","position":[-11.5,0.06,-9.004],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","position":[-10.3,0.06,-9.146],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","position":[-9.5,0.06,-9.146],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[-8.3,0.06,-9.287],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[-12.6,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[-11.5,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","position":[-7.6,0.06,-5.002],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-9.2,0.06,-6.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-6.83,1.8,-7.2],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[-7.8,1.56,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-9,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-fold-down-bed-3ad4fbe6","position":[-5.6,0.06,-9.314],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-compact-kitchen-uni-13ec4723","position":[-4,0.06,-9.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-counter-hot-plate-3e63f246","position":[-4,1,-9.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-drinks-fridge-f6a188b6","position":[-3,0.06,-9.214],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-noodle-cup-shelf-79a0515f","position":[-2.2,0.06,-9.36],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-low-table-f030ca5a","position":[-0.4,0.06,-9.24],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","position":[-5.4,0.06,-5.309],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","position":[-4.3,0.06,-5.309],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","position":[-1,0.06,-5.191],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","position":[-0.1,1.11,-4.931],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-2.4,0.06,-6.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","position":[-1.6,0.06,-5.3],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[0.24,0.06,-7.4],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-5.4,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-4.2,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-prosthetic-arm-on-s-9c81e33b","position":[1.5,0.06,-9.333],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-prosthetic-arm-on-s-9c81e33b","position":[2.4,0.06,-9.333],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","position":[3.8,0.06,-9.18],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-medical-kit-box-75d03d97","position":[3.6,0.95,-9.15],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-stim-cabinet-bacb2897","position":[5.6,0.06,-9.389],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-stim-cabinet-bacb2897","position":[6.3,0.06,-9.389],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[7.2,0.06,-9.287],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","position":[1.8,0.06,-6.06],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","position":[3.6,0.06,-5.191],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","position":[6.8,1.11,-4.931],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-medical-kit-box-75d03d97","position":[5,0.06,-6.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[6,0.06,-6.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","position":[7.455,0.06,-7.4],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[4.2,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[8.6,0.06,-9.24],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[9.6,0.06,-9.24],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[10.6,0.06,-9.24],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[11.6,0.06,-9.24],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[12.6,0.06,-9.24],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[14,0.06,-8.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[8.8,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[9.8,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[10.8,0.06,-5.004],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-drone-on-charge-pad-a5197423","position":[14.2,0.06,-5.22],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-hatch-cefb08f5","position":[12.2,0.06,-6.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[14.793,0.06,-8.2],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[13.2,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","position":[16,0.06,-9.397],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","position":[17.3,0.06,-9.397],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[18.5,0.06,-9.287],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-rubbish-chute-db7fec7e","position":[19.8,0.06,-9.1],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[15.207,0.06,-7],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[20.794,0.06,-7],"rotation":270},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[16.2,0.06,-5.16],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-floor-hatch-cefb08f5","position":[18.4,0.06,-6.3],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[20.8,1.56,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[17.4,1.8,-5.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[18.6,1.8,-5.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[19.8,2.18,-9.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[18,0.06,1.7],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[17.4,1.16,2.3],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[16,2.06,2.1],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[18,2.24,2.17],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[15.36,0.06,-1.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[15.7,0.06,0.8],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","position":[16.6,0.06,-4.55],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-holo-projector-plin-d399423a","position":[19.6,0.06,-0.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[16.2,2.18,2.36],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[17.4,2.18,2.36],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[19.8,2.18,2.36],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","position":[20.6,0.06,-3.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[-16.8,2.18,-2.58],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[-9.6,2.18,-2.58],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[-3.6,2.18,-2.58],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[4.8,2.18,-2.58],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[12,2.18,-2.58],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[-16.8,2.18,-4.62],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[-9.6,2.18,-4.62],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[-3.6,2.18,-4.62],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[4.8,2.18,-4.62],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[12,2.18,-4.62],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[18,2.18,-4.62],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[-15.6,1.16,-2.52],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[-8.4,1.16,-2.52],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[-2.4,1.16,-2.52],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[6,1.16,-2.52],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[13.2,1.16,-2.52],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[-18,2.06,-4.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[-4.8,2.06,-4.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[9.6,2.06,-4.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[-12,2.06,-2.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[2.4,2.06,-2.6],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-19.2,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-16.8,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-14.4,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-12,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-9.6,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-7.2,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-4.8,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-2.4,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[0,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[2.4,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[4.8,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[7.2,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[9.6,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[12,2.18,-2.56],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-18,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-14.4,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-10.8,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-7.2,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-3.6,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[0,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[3.6,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[7.2,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[10.8,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[14.4,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[18,2.18,-4.64],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[-20.2,0.06,-2.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[14,0.06,-2.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","position":[-19,0.06,-4.51],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","position":[-20,0.06,-4.63],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","position":[7.2,0.06,-2.57],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[11,1.56,-4.66],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[-6,1.56,-2.54],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-14.4,1.8,-4.56],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-13.2,1.8,-4.56],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[0,1.8,-4.56],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[1.2,1.8,-4.56],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[16.8,1.8,-4.56],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[18,1.8,-4.56],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-rubbish-chute-db7fec7e","position":[-20.6,0.06,-3.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-stair-core-fb4dc0e3","position":[19.4,0.06,-3.9],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-16.8,0.06,-3.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[4.8,0.06,-3.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","position":[-9.6,0.06,-4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","position":[-3,0.06,-3],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","position":[12.6,0.06,-4.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-20.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-19.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-18,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-16.8,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-15.6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-14.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-13.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-12,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-10.8,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-9.6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-8.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-7.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-4.8,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-3.6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-2.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-1.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[0,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[1.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[2.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[3.6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[4.8,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[7.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[8.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[9.6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[10.8,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[12,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[13.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[14.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[15.6,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[16.8,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[18,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[19.2,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[20.4,2.18,2.54],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[-17.4,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[-15,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[-10.2,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[-7.8,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[-3,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[-0.6,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[4.2,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[6.6,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[11.4,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","position":[13.8,0.06,2.98],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[-20,1.61,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[-12.8,1.61,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[-5.6,1.61,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[1.6,1.61,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[8.8,1.61,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[16,1.61,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","position":[-19,1.9,2.82],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","position":[6.4,1.9,2.82],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","position":[-14.4,1.66,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","position":[2.4,1.66,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","position":[14.4,1.66,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","position":[-7.2,0.56,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","position":[9.6,0.56,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","position":[19.2,0.56,2.75],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","position":[-15.8,0.06,2.53],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","position":[13,0.06,2.53],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[17.2,2.3,2.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","position":[18,2.5,2.59],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","position":[17,1.16,2.52],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","position":[-18.6,0.06,6.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","position":[-11,0.06,6.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","position":[0.6,0.06,6.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","position":[12.2,0.06,6.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-16,0.06,5.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-8.2,0.06,6.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-1.6,0.06,4.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[5.4,0.06,6.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[11,0.06,5.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[17.4,0.06,6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-20,0.06,7.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[2.8,0.06,8.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[-13.6,0.06,4.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[7.4,0.06,4.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[19,0.06,4.6],"rotation":90},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[-17.4,0.06,8.75],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[-3.6,0.06,8.75],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[10.2,0.06,8.75],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","position":[-10.2,0.06,9.47],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","position":[4.2,0.06,9.47],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","position":[15.6,0.06,9.47],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-19.2,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-16.8,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-14.4,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-12,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-9.6,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-7.2,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-4.8,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-2.4,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[0,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[2.4,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[4.8,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[7.2,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[9.6,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[12,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[14.4,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[16.8,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[19.2,2.18,9.46],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","position":[-14.4,0.56,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","position":[1.2,0.56,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","position":[-6.6,1.66,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","position":[12,1.66,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","position":[-20.4,0.06,8.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","position":[7.8,0.06,8.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[-8.4,1.61,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[3,1.61,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[17.4,1.61,9.25],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[-0.6,2.3,9.4],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-19.2,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-16.8,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-14.4,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-12,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-9.6,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-7.2,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-4.8,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[-2.4,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[0,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[2.4,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[4.8,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[7.2,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[9.6,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[12,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[14.4,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[16.8,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","position":[19.2,1.8,-9.84],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[-16.2,1.56,-9.76],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[-7.8,1.56,-9.76],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[2.4,1.56,-9.76],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","position":[13.8,1.56,-9.76],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[-13.2,1.61,-10.02],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[-1.2,1.61,-10.02],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[9,1.61,-10.02],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","position":[18,1.61,-10.02],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[-18.6,0.06,-9.82],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[-4.2,0.06,-9.82],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[7.2,0.06,-9.82],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","position":[16.2,0.06,-9.82],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-rooftop-water-tank-06290dbf","position":[-15,0.06,-11.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-rooftop-water-tank-06290dbf","position":[6,0.06,-11.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-rooftop-antenna-mas-595b8b11","position":[-9,0.06,-11.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-rooftop-antenna-mas-595b8b11","position":[14.4,0.06,-11.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","position":[-2.4,0.06,-11.2],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","position":[11,0.06,-11.9],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[-17.4,0.06,-11],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[-6,0.06,-11],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[3.6,0.06,-11],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","position":[17,0.06,-11],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-12,0.06,-10.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-3,0.06,-12.4],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[8.4,0.06,-10.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[18.6,0.06,-12.2],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[-19.4,0.06,-11.8],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","position":[0.6,0.06,-10.5],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[-11.4,0.06,-12.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[4.2,0.06,-12.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","position":[15,0.06,-12.6],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","position":[-16,0.06,-13.07],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","position":[0,0.06,-13.07],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","position":[12,0.06,-13.07],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","position":[19.4,0.06,-9.85],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-18,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-14.4,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-10.8,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[-7.2,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[-3.6,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[0,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[3.6,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[7.2,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[10.8,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","position":[14.4,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","position":[18,2.5,-9.74],"rotation":180},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","position":[-20.4,0.06,-10.5],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","position":[20.4,0.06,-10.5],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-drone-on-charge-pad-a5197423","position":[-8,0.06,-12.9],"rotation":0},{"asset":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","position":[20,2.3,-9.8],"rotation":180}],"points":[{"position":[-13.5,0,-3.6],"title":"The corridor","text":"Ten flats open off one corridor. Every leaf swings, every number plate is blank, and the mag locks, intercom panels and camera heads above them are separate models you can fit to your own doors.","asset":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125"},{"position":[-17.4,0,0.6],"title":"The capsule bay","text":"Five sleeping pods against the window wall, three shut and two with the visor up, with bunk stacks in the flat behind. The shut pods open as you walk past them.","asset":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838"},{"position":[-3,0,-0.6],"title":"The rig room","text":"Two multi screen desks, two server cabinets and cable bundles run along the party wall. The screens are blank emissive panels: nothing here displays anything, so you put your own content on them.","asset":"cyberpunk-apartment-and-neon-block-desk-with-multi-scr-cd5fab7a"},{"position":[4.2,0,-0.9],"title":"The workshop flat","text":"Benches with a soldering station, parts trays, a prosthetic arm on its stand, a drone on a charge pad and two gun lockers, one open and empty, one shut. The bench drawers and the shut locker both open.","asset":"cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910"},{"position":[0,0,5],"title":"The street face","text":"Neon strip runs, blank sign frames and paper lanterns light the front of the block. All of it is emissive looking material rather than lights, so it reads at night and you drop your own lights in behind it.","asset":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc"},{"position":[18,0,0.4],"title":"The entrance lobby","text":"The security door off the street, two lift door pairs, the stair core behind and the landlord intercom. The lift leaves part, the security door slides and the stair core is the one piece you cannot walk up here.","asset":"cyberpunk-apartment-and-neon-block-lift-door-pair-16b5484f"},{"position":[0,0,-11.2],"title":"The service yard","text":"Behind the block: ducting runs, extract fans, condenser boxes, pipe risers, scrubbers, water tanks, dishes and masts, all at ground level so you can see them. Bins and puddles fill the rest of the yard.","asset":"cyberpunk-apartment-and-neon-block-rooftop-water-tank-06290dbf"}],"poster":{"position":[-17.5,5,4.6],"lookAt":[-11.3,0.6,-3]}},"bounds":{"min":[-23.779999995231627,-0.000016419455455891907,-15.27402783341413],"max":[23.14000000357628,6.3200002288818355,11.739385370312226]},"assets":[{"id":"37785","slug":"cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","title":"Apartment Block Floor Tile (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 m square screed floor tile, 56 mm thick, with a rubber expansion joint let into two edges. Ports on all four edge midpoints tile a cell, a corridor or a whole landing in either direction.","description":"A 1.2 m square screed floor tile, 56 mm thick, with a rubber expansion joint let into two edges. Ports on all four edge midpoints tile a cell, a corridor or a whole landing in either direction. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","cdnUrl":"https://cdn.3dassets.dev/assets/37785/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-block-floor-tile-770c4a14","thumbnailUrl":"https://cdn.3dassets.dev/assets/37785/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37785/v1/poster.webp","blurhash":"U7C6.H%M00WT-;aeRjof00M{~qWE9Fozt7RQ","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10080,"triangles":192,"vertices":431,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5979999899864197,0.000033906854617040544,-0.5979999899864197],"max":[0.5979999899864197,0.058028442876209785,0.5979999899864197]},"sizeMeters":[1.196,0.058,1.196],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:12.103Z","updatedAt":"2026-09-12T05:49:12.212Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37785/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApartmentBlockFloorTileCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37785/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37785/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37785/v1/model.glb\" alt=\"Apartment Block Floor Tile (Cyberpunk Apartment and Neon Block)\" 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/37785/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/37785/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37786","slug":"cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","title":"Apartment Block Floor Tile, Drain Grate (Cyberpunk Apartment and Neon Block)","summary":"The same 1.2 m floor tile with a 780 mm steel drain grate set into it on nine bars in a recessed frame, for the wet cell, the laundry and the yard. Same four ports as the plain tile.","description":"The same 1.2 m floor tile with a 780 mm steel drain grate set into it on nine bars in a recessed frame, for the wet cell, the laundry and the yard. Same four ports as the plain tile. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","cdnUrl":"https://cdn.3dassets.dev/assets/37786/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-block-floor-tile-gr-80ddb3aa","thumbnailUrl":"https://cdn.3dassets.dev/assets/37786/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37786/v1/poster.webp","blurhash":"U8CP^n%M00Rj%MWBV@of00M{~qkCDit7ogRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42352,"triangles":928,"vertices":2068,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5979999899864197,-0.000016419455455891907,-0.5979999899864197],"max":[0.5979999899864197,0.05999743455972803,0.5979999899864197]},"sizeMeters":[1.196,0.06,1.196],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:12.264Z","updatedAt":"2026-09-12T05:49:12.451Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37786/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApartmentBlockFloorTileDrainGrateCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37786/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37786/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37786/v1/model.glb\" alt=\"Apartment Block Floor Tile, Drain Grate (Cyberpunk Apartment and Neon Block)\" 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/37786/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/37786/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37782","slug":"cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","title":"Apartment Block Wall Module (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 by 2.7 m partition module for a subdivided apartment block, 120 mm over a concrete core and dressed on both faces with a dark polymer skin, a steel kick strip and a single trim line.","description":"A 1.2 by 2.7 m partition module for a subdivided apartment block, 120 mm over a concrete core and dressed on both faces with a dark polymer skin, a steel kick strip and a single trim line. Its wall-left and wall-right ports butt module to module, so a cell of any size closes on the same grid. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","cdnUrl":"https://cdn.3dassets.dev/assets/37782/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-block-wall-module-4faa42cb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37782/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37782/v1/poster.webp","blurhash":"U26kYNNL00%J_3xu4nD%-oxtE1D*?bxu9FD%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20212,"triangles":416,"vertices":931,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999130328428387,0,-0.0740278334141316],"max":[0.5999130328428387,2.700000047683716,0.0740278334141316]},"sizeMeters":[1.2,2.7,0.148],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:11.473Z","updatedAt":"2026-09-12T05:49:11.575Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37782/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApartmentBlockWallModuleCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37782/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37782/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37782/v1/model.glb\" alt=\"Apartment Block Wall Module (Cyberpunk Apartment and Neon Block)\" 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/37782/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/37782/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37790","slug":"cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","title":"Window Wall Module with Blinds (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 by 2.7 m external wall module with a 940 by 1500 mm two pane window over a 620 mm sill: a steel frame with a transom, glazing, an outside sill tray, and slatted blinds hung inside on a headrail at a fixed 24 degree tilt.","description":"A 1.2 by 2.7 m external wall module with a 940 by 1500 mm two pane window over a 620 mm sill: a steel frame with a transom, glazing, an outside sill tray, and slatted blinds hung inside on a headrail at a fixed 24 degree tilt. The blinds do not move, because a working blind is a slat per node and a cord that no rigid transform can follow. Standard wall ports. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","cdnUrl":"https://cdn.3dassets.dev/assets/37790/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-window-wall-module--7e0d5d2c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37790/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37790/v1/poster.webp","blurhash":"U48z[YNH00%0%gt8IAIU00oe~qWExuofM{Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":125796,"triangles":2968,"vertices":6455,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999130328428387,0,-0.15992477209771025],"max":[0.5999130328428387,2.700000047683716,0.09001190513496343]},"sizeMeters":[1.2,2.7,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:14.044Z","updatedAt":"2026-09-12T05:49:14.139Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37790/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindowWallModuleWithBlindsCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37790/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37790/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37790/v1/model.glb\" alt=\"Window Wall Module with Blinds (Cyberpunk Apartment and Neon Block)\" 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/37790/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/37790/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37791","slug":"cyberpunk-apartment-and-neon-block-wall-vending-panel--5c0aff3d","title":"Vending Panel Set into a Wall (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 by 2.7 m wall module with a vending machine built into it rather than standing in front of it: a 920 mm face with a lit blank sign field, a glazed column of abstract capsule stock, a blank keypad and readout, a coin slot and a rubber lined delivery void with its flap.","description":"A 1.2 by 2.7 m wall module with a vending machine built into it rather than standing in front of it: a 920 mm face with a lit blank sign field, a glazed column of abstract capsule stock, a blank keypad and readout, a coin slot and a rubber lined delivery void with its flap. Nothing on the machine carries a brand, a price or a legible word. Standard wall ports. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-wall-vending-panel--5c0aff3d","cdnUrl":"https://cdn.3dassets.dev/assets/37791/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-wall-vending-panel--5c0aff3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37791/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37791/v1/poster.webp","blurhash":"U48|n+w500Be^,xv4.9Y1DOS}J+*X*oyifZ*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":164972,"triangles":3904,"vertices":8575,"meshes":9,"materials":9,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999130328428387,0,-0.09992523409411887],"max":[0.5999130328428387,2.700000047683716,0.12317795384674468]},"sizeMeters":[1.2,2.7,0.223],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:15.102Z","updatedAt":"2026-09-12T05:49:15.205Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37791/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VendingPanelSetIntoAWallCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37791/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37791/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37791/v1/model.glb\" alt=\"Vending Panel Set into a Wall (Cyberpunk Apartment and Neon Block)\" 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/37791/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/37791/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37783","slug":"cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","title":"Apartment Block Wall Module, Tiled (Cyberpunk Apartment and Neon Block)","summary":"The same 1.2 by 2.7 m module tiled in small squares with a grout relief on both faces, for wet cells, the laundry and the shared wash room. Same ports as the plain module.","description":"The same 1.2 by 2.7 m module tiled in small squares with a grout relief on both faces, for wet cells, the laundry and the shared wash room. Same ports as the plain module. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","cdnUrl":"https://cdn.3dassets.dev/assets/37783/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-block-wall-module-t-86d7847d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37783/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37783/v1/poster.webp","blurhash":"U4Am-u%g009F_3%M9F9F00V@_4oz-;t8E1IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":339348,"triangles":7968,"vertices":18041,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999130328428387,0,-0.07396831849920384],"max":[0.5999130328428387,2.700000047683716,0.07396831849920384]},"sizeMeters":[1.2,2.7,0.148],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:11.591Z","updatedAt":"2026-09-12T05:49:11.709Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37783/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApartmentBlockWallModuleTiledCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37783/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37783/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37783/v1/model.glb\" alt=\"Apartment Block Wall Module, Tiled (Cyberpunk Apartment and Neon Block)\" 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/37783/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/37783/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37789","slug":"cyberpunk-apartment-and-neon-block-security-door-modul-3f5704d5","title":"Security Door Module with Keypad (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 by 2.7 m module with a 920 by 2100 mm powered sliding door: a plated leaf hung from a head track on two bogies, with a lit vision slot, a keypad and card reader on the jamb and a warning lamp over the head.","description":"A 1.2 by 2.7 m module with a 920 by 2100 mm powered sliding door: a plated leaf hung from a head track on two bogies, with a lit vision slot, a keypad and card reader on the jamb and a warning lamp over the head. The leaf slides 860 mm to the right along its own track and the keypad carries no legend of any kind. Standard wall ports. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: slider. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-security-door-modul-3f5704d5","cdnUrl":"https://cdn.3dassets.dev/assets/37789/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-security-door-modul-3f5704d5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37789/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37789/v1/poster.webp","blurhash":"U27-c,9G00~p~qxu4UDi9E%M%g4o4n?b%M00","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":160780,"triangles":3680,"vertices":8192,"meshes":9,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5999130328428387,0,-0.08004272721597996],"max":[0.5999130328428387,3.049999952316284,0.12004272632191029]},"sizeMeters":[1.2,3.05,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:13.893Z","updatedAt":"2026-09-12T05:49:14.076Z","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/37789/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 SecurityDoorModuleWithKeypadCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37789/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/37789/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37789/v1/model.glb\" alt=\"Security Door Module with Keypad (Cyberpunk Apartment and Neon Block)\" 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/37789/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/37789/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37781","slug":"cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","title":"Apartment Block Wall Module, Service Panelled (Cyberpunk Apartment and Neon Block)","summary":"The same 1.2 by 2.7 m module dressed as a serviced wall: two rows of bolted access panels either side of a steel cable tray line, with rivet heads above, on both faces. Use it where a cell backs onto plant without changing the grid.","description":"The same 1.2 by 2.7 m module dressed as a serviced wall: two rows of bolted access panels either side of a steel cable tray line, with rivet heads above, on both faces. Use it where a cell backs onto plant without changing the grid. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","cdnUrl":"https://cdn.3dassets.dev/assets/37781/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-block-wall-module-p-61e57fe0","thumbnailUrl":"https://cdn.3dassets.dev/assets/37781/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37781/v1/poster.webp","blurhash":"U69aNx9Z00~p?vtR9EIUD%%M%M9F%Mt7IUM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39224,"triangles":864,"vertices":1895,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5999130328428387,0,-0.07996068957028989],"max":[0.5999130328428387,3.049999952316284,0.07996068957028989]},"sizeMeters":[1.2,3.05,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:10.432Z","updatedAt":"2026-09-12T05:49:10.536Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37781/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApartmentBlockWallModuleServicePanelledCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37781/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37781/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37781/v1/model.glb\" alt=\"Apartment Block Wall Module, Service Panelled (Cyberpunk Apartment and Neon Block)\" 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/37781/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/37781/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37784","slug":"cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","title":"Corridor Wall Run with Pipes (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 by 2.7 m corridor module: bare concrete with a painted dado band and an amber trim line, carrying a 96 mm service main, a 68 mm riser, a conduit tray on two brackets and a junction box with its drop.","description":"A 1.2 by 2.7 m corridor module: bare concrete with a painted dado band and an amber trim line, carrying a 96 mm service main, a 68 mm riser, a conduit tray on two brackets and a junction box with its drop. Dressed on both faces, same wall ports as the plain module, so a landing runs as far as it needs to. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","cdnUrl":"https://cdn.3dassets.dev/assets/37784/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-corridor-wall-run-w-435a3bec","thumbnailUrl":"https://cdn.3dassets.dev/assets/37784/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37784/v1/poster.webp","blurhash":"U4BDc+kB00V[~Wxu4.D%00j]~qj=?vt7DiIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":53440,"triangles":1184,"vertices":2606,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000204383899459,0,-0.10084447837306665],"max":[0.6000204383899459,2.700000047683716,0.19154969430400537]},"sizeMeters":[1.2,2.7,0.292],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:10.572Z","updatedAt":"2026-09-12T05:49:10.674Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37784/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CorridorWallRunWithPipesCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37784/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37784/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37784/v1/model.glb\" alt=\"Corridor Wall Run with Pipes (Cyberpunk Apartment and Neon Block)\" 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/37784/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/37784/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37788","slug":"cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","title":"Apartment Door Module with Blank Number Plate (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 by 2.7 m wall module with an 860 by 2060 mm apartment doorway in it: a ribbed steel leaf on a lever handle with a spy hole, a kick plate, a letter slot and a lit number plate whose field is deliberately blank, so a developer sets the number themselves.","description":"A 1.2 by 2.7 m wall module with an 860 by 2060 mm apartment doorway in it: a ribbed steel leaf on a lever handle with a spy hole, a kick plate, a letter slot and a lit number plate whose field is deliberately blank, so a developer sets the number themselves. The leaf swings on its left stile and the module keeps the standard wall ports. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","cdnUrl":"https://cdn.3dassets.dev/assets/37788/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-apartment-door-modu-a8b18125","thumbnailUrl":"https://cdn.3dassets.dev/assets/37788/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37788/v1/poster.webp","blurhash":"U78gy.Rj00xu~qof4nM{%MofIVM{xut7M{M{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":104516,"triangles":2348,"vertices":5226,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6269963588808317,0,-0.10092715080210705],"max":[0.6269963588808317,2.700000047683716,0.10092715080210705]},"sizeMeters":[1.254,2.7,0.202],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:13.307Z","updatedAt":"2026-09-12T05:49:13.496Z","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/37788/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 ApartmentDoorModuleWithBlankNumberPlateCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37788/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/37788/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37788/v1/model.glb\" alt=\"Apartment Door Module with Blank Number Plate (Cyberpunk Apartment and Neon Block)\" 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/37788/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/37788/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37793","slug":"cyberpunk-apartment-and-neon-block-lift-door-pair-16b5484f","title":"Lift Door Pair (Cyberpunk Apartment and Neon Block)","summary":"A centre opening lift entrance, 1.46 m wide over its surround and 2.5 m to the top of the indicator: brushed steel jambs and head, two 540 mm leaves meeting on the centre line, a call panel with blank keys and a blank lit floor indicator above.","description":"A centre opening lift entrance, 1.46 m wide over its surround and 2.5 m to the top of the indicator: brushed steel jambs and head, two 540 mm leaves meeting on the centre line, a call panel with blank keys and a blank lit floor indicator above. Each leaf parts 520 mm along its own track, so the pair opens and closes together. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: leaf-left, leaf-right. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-lift-door-pair-16b5484f","cdnUrl":"https://cdn.3dassets.dev/assets/37793/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-lift-door-pair-16b5484f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37793/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37793/v1/poster.webp","blurhash":"U26a;n?b0000?c%MIT9GDjt6%fRl%NxuRiIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":74632,"triangles":1760,"vertices":3934,"meshes":8,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.7311983744940658,0,-0.12001719326781343],"max":[0.8950186673637407,2.5199999809265137,0.07901719958590578]},"sizeMeters":[1.626,2.52,0.199],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:15.698Z","updatedAt":"2026-09-12T05:49:15.799Z","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/37793/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 LiftDoorPairCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37793/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/37793/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37793/v1/model.glb\" alt=\"Lift Door Pair (Cyberpunk Apartment and Neon Block)\" 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/37793/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/37793/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37802","slug":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","title":"Capsule Bed Pod (Cyberpunk Apartment and Neon Block)","summary":"A single sleeping capsule for a subdivided block: a 1.12 by 2.24 m moulded shell 1.36 m tall with a mattress on a slatted deck, a pillow and a folded blanket, a lit head panel, a blank control pad, a handset shelf, a vent grille and an amber strip under the roof.","description":"A single sleeping capsule for a subdivided block: a 1.12 by 2.24 m moulded shell 1.36 m tall with a mattress on a slatted deck, a pillow and a folded blanket, a lit head panel, a blank control pad, a handset shelf, a vent grille and an amber strip under the roof. The tinted visor is hinged on the head of the mouth and lifts clear. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: flap. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","cdnUrl":"https://cdn.3dassets.dev/assets/37802/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-capsule-bed-pod-1cc86838","thumbnailUrl":"https://cdn.3dassets.dev/assets/37802/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37802/v1/poster.webp","blurhash":"UCB:{bRP00oz_NM_M_xu4TRjj[t7IAM{jtxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":74768,"triangles":1728,"vertices":3685,"meshes":10,"materials":8,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5900591960791378,-0.00004865593893776943,-1.1200000047683716],"max":[0.5900591960791378,1.3599914648649505,1.2400000095367432]},"sizeMeters":[1.18,1.36,2.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:19.438Z","updatedAt":"2026-09-12T05:49:19.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37802/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 CapsuleBedPodCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37802/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/37802/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37802/v1/model.glb\" alt=\"Capsule Bed Pod (Cyberpunk Apartment and Neon Block)\" 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/37802/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/37802/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37803","slug":"cyberpunk-apartment-and-neon-block-capsule-bed-pod-ope-6179a1b8","title":"Capsule Bed Pod, Visor Raised (Cyberpunk Apartment and Neon Block)","summary":"The same capsule with its visor already raised and held there, for a stack where one pod is occupied and the rest are shut. The visor is posed in the geometry and carries no clip of its own.","description":"The same capsule with its visor already raised and held there, for a stack where one pod is occupied and the rest are shut. The visor is posed in the geometry and carries no clip of its own. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: flap. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-capsule-bed-pod-ope-6179a1b8","cdnUrl":"https://cdn.3dassets.dev/assets/37803/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-capsule-bed-pod-ope-6179a1b8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37803/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37803/v1/poster.webp","blurhash":"UDB|Z{sA4mNZ_NM{M{t700D%xu-;8_M{kCx]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":74164,"triangles":1728,"vertices":3669,"meshes":10,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.5900591960791378,-0.00004865593893776943,-1.1200000047683716],"max":[0.5900591960791378,1.3599914648649505,2.1118337856034017]},"sizeMeters":[1.18,1.36,3.232],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:20.218Z","updatedAt":"2026-09-12T05:49:20.358Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37803/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CapsuleBedPodVisorRaisedCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37803/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37803/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37803/v1/model.glb\" alt=\"Capsule Bed Pod, Visor Raised (Cyberpunk Apartment and Neon Block)\" 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/37803/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/37803/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37821","slug":"cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","title":"Shoe Rack by the Door (Cyberpunk Apartment and Neon Block)","summary":"An 800 mm three deck steel rack 760 mm tall with six pairs of boots and shoes on it and a bag slung from the top deck. The clutter a cell door collects.","description":"An 800 mm three deck steel rack 760 mm tall with six pairs of boots and shoes on it and a bag slung from the top deck. The clutter a cell door collects. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","cdnUrl":"https://cdn.3dassets.dev/assets/37821/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-shoe-rack-8462f3d7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37821/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37821/v1/poster.webp","blurhash":"U5A^IA%g00D%?c-pR%D%00RP~DtSXSx]MxIA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":68144,"triangles":1572,"vertices":3491,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,0.000020131785741450692,-0.1500167874156361],"max":[0.41999998688697815,0.800000011920929,0.26001601374460015]},"sizeMeters":[0.82,0.8,0.41],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:28.771Z","updatedAt":"2026-09-12T05:49:28.879Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37821/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShoeRackByTheDoorCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37821/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37821/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37821/v1/model.glb\" alt=\"Shoe Rack by the Door (Cyberpunk Apartment and Neon Block)\" 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/37821/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/37821/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37818","slug":"cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","title":"Storage Crate Wall Bay (Cyberpunk Apartment and Neon Block)","summary":"One 880 mm bay of a crate wall: a steel rack with two ribbed tubs, each with a lidded top on a back edge hinge. Its crate-left and crate-right ports butt bay to bay, so a wall of storage runs the length of a cell. Both lids open on one pair of clips.","description":"One 880 mm bay of a crate wall: a steel rack with two ribbed tubs, each with a lidded top on a back edge hinge. Its crate-left and crate-right ports butt bay to bay, so a wall of storage runs the length of a cell. Both lids open on one pair of clips. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: lid-0, lid-1. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","cdnUrl":"https://cdn.3dassets.dev/assets/37818/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-storage-crate-wall-7efec280","thumbnailUrl":"https://cdn.3dassets.dev/assets/37818/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37818/v1/poster.webp","blurhash":"U5A,@0_40000_3V[9FxtMxM_S0%M%gt8IUM_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":48244,"triangles":1152,"vertices":2556,"meshes":7,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.47997985778374586,0,-0.2799996948149052],"max":[0.47997985778374586,1.5,0.2799996948149052]},"sizeMeters":[0.96,1.5,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:27.198Z","updatedAt":"2026-09-12T05:49:27.315Z","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/37818/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 StorageCrateWallBayCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37818/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/37818/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37818/v1/model.glb\" alt=\"Storage Crate Wall Bay (Cyberpunk Apartment and Neon Block)\" 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/37818/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/37818/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37819","slug":"cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","title":"Storage Crate Wall Bay, Loaded (Cyberpunk Apartment and Neon Block)","summary":"The same bay in mismatched colours with a strapped bundle and a rolled mat on the top rail. Same ports, so it drops into a run of plain bays.","description":"The same bay in mismatched colours with a strapped bundle and a rolled mat on the top rail. Same ports, so it drops into a run of plain bays. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: lid-0, lid-1. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","cdnUrl":"https://cdn.3dassets.dev/assets/37819/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-storage-crate-wall--fd42e208","thumbnailUrl":"https://cdn.3dassets.dev/assets/37819/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37819/v1/poster.webp","blurhash":"U8Aw0S?a0001icnipIXS02Iq~T?EEMR.$%xU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":53380,"triangles":1328,"vertices":2940,"meshes":10,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.47997985778374586,0,-0.2799996948149052],"max":[0.47997985778374586,1.909989925315194,0.2799996948149052]},"sizeMeters":[0.96,1.91,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:27.331Z","updatedAt":"2026-09-12T05:49:27.451Z","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/37819/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 StorageCrateWallBayLoadedCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37819/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/37819/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37819/v1/model.glb\" alt=\"Storage Crate Wall Bay, Loaded (Cyberpunk Apartment and Neon Block)\" 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/37819/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/37819/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37832","slug":"cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","title":"Air Scrubber Unit (Cyberpunk Apartment and Neon Block)","summary":"A 680 by 440 mm air handling unit 1.05 m tall: a louvred inlet, a filter drawer with a bar pull, a blank control plate with three knobs, a guarded impeller on the right flank and an outlet spigot on the roof.","description":"A 680 by 440 mm air handling unit 1.05 m tall: a louvred inlet, a filter drawer with a bar pull, a blank control plate with three knobs, a guarded impeller on the right flank and an outlet spigot on the roof. The impeller is its own node and spins about its shaft; the filter drawer is fixed, because a scrubber is opened with a tool. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: impeller. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","cdnUrl":"https://cdn.3dassets.dev/assets/37832/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-air-scrubber-unit-5544e0ee","thumbnailUrl":"https://cdn.3dassets.dev/assets/37832/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37832/v1/poster.webp","blurhash":"U4AdQ9~q004nn-oyov%300IU.8%NtRWARPai","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":84888,"triangles":2000,"vertices":4246,"meshes":5,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.3400067140720847,0,-0.21999267555772575],"max":[0.3704173725791769,1.149999976158142,0.2459665734947199]},"sizeMeters":[0.71,1.15,0.466],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:33.963Z","updatedAt":"2026-09-12T05:49:34.081Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37832/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 AirScrubberUnitCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37832/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/37832/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37832/v1/model.glb\" alt=\"Air Scrubber Unit (Cyberpunk Apartment and Neon Block)\" 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/37832/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/37832/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37827","slug":"cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","title":"Parts Tray Stack (Cyberpunk Apartment and Neon Block)","summary":"A 660 mm steel frame holding six open parts trays in three tiers, 440 mm tall, each with seven abstract components loose in it. Blank: the components are plain blocks, not modelled devices.","description":"A 660 mm steel frame holding six open parts trays in three tiers, 440 mm tall, each with seven abstract components loose in it. Blank: the components are plain blocks, not modelled devices. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","cdnUrl":"https://cdn.3dassets.dev/assets/37827/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-parts-tray-stack-7e38adf8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37827/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37827/v1/poster.webp","blurhash":"UHF6C4-:00M|_4%MRiM{4qbK$|e,jX%gRoIT","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":135392,"triangles":3304,"vertices":6990,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.33000001311302185,-0.000013438078810490417,-0.12400537162267006],"max":[0.33000001311302185,0.4400134356946247,0.12400537162267006]},"sizeMeters":[0.66,0.44,0.248],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:31.891Z","updatedAt":"2026-09-12T05:49:32.008Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37827/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PartsTrayStackCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37827/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37827/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37827/v1/model.glb\" alt=\"Parts Tray Stack (Cyberpunk Apartment and Neon Block)\" 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/37827/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/37827/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37820","slug":"cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","title":"Woven Floor Mat (Cyberpunk Apartment and Neon Block)","summary":"A 1.4 by 900 mm rubber edged mat with a woven field and five magenta bars across it, 22 mm thick. The pattern is geometric with nothing legible in it.","description":"A 1.4 by 900 mm rubber edged mat with a woven field and five magenta bars across it, 22 mm thick. The pattern is geometric with nothing legible in it. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","cdnUrl":"https://cdn.3dassets.dev/assets/37820/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-floor-mat-b166a62c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37820/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37820/v1/poster.webp","blurhash":"U89~~oS}0JV[$lj[O9az00rs}^ofATae#=oe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":19444,"triangles":400,"vertices":889,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,0.000027557979426407267,-0.7599810766781581],"max":[0.699999988079071,0.02698736569883722,0.4500320367709498]},"sizeMeters":[1.4,0.027,1.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:28.787Z","updatedAt":"2026-09-12T05:49:28.895Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37820/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WovenFloorMatCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37820/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37820/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37820/v1/model.glb\" alt=\"Woven Floor Mat (Cyberpunk Apartment and Neon Block)\" 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/37820/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/37820/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37837","slug":"cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","title":"Neon Strip Run, Cyan (Cyberpunk Apartment and Neon Block)","summary":"The same 1.2 m raceway with a cyan tube, so a run alternates colour along a face. Same ports.","description":"The same 1.2 m raceway with a cyan tube, so a run alternates colour along a face. Same ports. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","cdnUrl":"https://cdn.3dassets.dev/assets/37837/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-neon-strip-run-cyan-9e882f74","thumbnailUrl":"https://cdn.3dassets.dev/assets/37837/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37837/v1/poster.webp","blurhash":"U36*t3.89E%M%N_Nx[M_00RQ_NW9I900IB.8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":23632,"triangles":512,"vertices":1103,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.000013884636829150643,-0.07000920061758416],"max":[0.6000000238418579,0.13998718468420235,0.06593244408062356]},"sizeMeters":[1.2,0.14,0.136],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:37.776Z","updatedAt":"2026-09-12T05:49:37.878Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37837/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonStripRunCyanCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37837/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37837/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37837/v1/model.glb\" alt=\"Neon Strip Run, Cyan (Cyberpunk Apartment and Neon Block)\" 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/37837/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/37837/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37835","slug":"cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","title":"Security Camera on a Wall Mount (Cyberpunk Apartment and Neon Block)","summary":"A bullet camera on a 300 mm wall arm: a plate, a tubular arm and a spindle carrying the head, with a lens hood, a glass front, an emitter ring and a status lamp. The head sweeps 62 degrees either side on its spindle; the arm and plate are fixed.","description":"A bullet camera on a 300 mm wall arm: a plate, a tubular arm and a spindle carrying the head, with a lens hood, a glass front, an emitter ring and a status lamp. The head sweeps 62 degrees either side on its spindle; the arm and plate are fixed. Wall mounted with the plate back at z=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: head. Rigid node-transform clips: tilt. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","cdnUrl":"https://cdn.3dassets.dev/assets/37835/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-camera-on-mount-df549d71","thumbnailUrl":"https://cdn.3dassets.dev/assets/37835/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37835/v1/poster.webp","blurhash":"U97_H1-;008__4t7DiMy00Mx%gx]4TWA-=xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":40648,"triangles":780,"vertices":1780,"meshes":8,"materials":7,"textures":0,"animations":["tilt"],"boundingBox":{"min":[-0.07000190648343366,0,-0.2895690763329013],"max":[0.07000190648343366,0.2978446951220533,0.20000083268630106]},"sizeMeters":[0.14,0.298,0.49],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:36.391Z","updatedAt":"2026-09-12T05:49:36.582Z","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/37835/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 SecurityCameraOnAWallMountCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37835/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/37835/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37835/v1/model.glb\" alt=\"Security Camera on a Wall Mount (Cyberpunk Apartment and Neon Block)\" 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/37835/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/37835/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37814","slug":"cyberpunk-apartment-and-neon-block-compact-kitchen-uni-13ec4723","title":"Compact Kitchen Unit (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 m single run kitchen at 900 mm: a carcass on a recessed plinth with two doors and a drawer, a postformed worktop with a pressed sink and swan neck tap, a steel splashback with a utensil rail, a bottle and a cloth. The doors swing and the drawer runs out; the tap is fixed.","description":"A 1.2 m single run kitchen at 900 mm: a carcass on a recessed plinth with two doors and a drawer, a postformed worktop with a pressed sink and swan neck tap, a steel splashback with a utensil rail, a bottle and a cloth. The doors swing and the drawer runs out; the tap is fixed. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door-left, door-right, drawer. Rigid node-transform clips: door-open, door-close, drawer-open and drawer-close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-compact-kitchen-uni-13ec4723","cdnUrl":"https://cdn.3dassets.dev/assets/37814/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-compact-kitchen-uni-13ec4723","thumbnailUrl":"https://cdn.3dassets.dev/assets/37814/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37814/v1/poster.webp","blurhash":"U5A^d%bb00Sh~qt79FM_00Vs?Iai4-M{-;xv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":72260,"triangles":1736,"vertices":3645,"meshes":11,"materials":5,"textures":0,"animations":["door-open","door-close","drawer-open","drawer-close"],"boundingBox":{"min":[-0.6200000047683716,0.00003194990045884971,-0.3100473060742374],"max":[0.6200000047683716,1.3599668873016,0.32900417457605136]},"sizeMeters":[1.24,1.36,0.639],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:25.430Z","updatedAt":"2026-09-12T05:49:25.741Z","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/37814/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 CompactKitchenUnitCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37814/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/37814/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37814/v1/model.glb\" alt=\"Compact Kitchen Unit (Cyberpunk Apartment and Neon Block)\" 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/37814/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/37814/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37813","slug":"cyberpunk-apartment-and-neon-block-counter-hot-plate-3e63f246","title":"Counter Hot Plate (Cyberpunk Apartment and Neon Block)","summary":"A two ring counter hot plate, 460 by 340 mm and 100 mm tall: a dark body with two steel rings over amber elements, two control knobs, a status lamp and a trailing lead. Static: the knobs are 22 mm and a clip on them would read as nothing at card size.","description":"A two ring counter hot plate, 460 by 340 mm and 100 mm tall: a dark body with two steel rings over amber elements, two control knobs, a status lamp and a trailing lead. Static: the knobs are 22 mm and a clip on them would read as nothing at card size. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-counter-hot-plate-3e63f246","cdnUrl":"https://cdn.3dassets.dev/assets/37813/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-counter-hot-plate-3e63f246","thumbnailUrl":"https://cdn.3dassets.dev/assets/37813/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37813/v1/poster.webp","blurhash":"U77d%o%M00IVt6ofWCRk00My~pxtIVM|xa%K","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":32204,"triangles":700,"vertices":1463,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3083190085335047,0.000007538460703254701,-0.3080335557460785],"max":[0.23000000417232513,0.10598767120744139,0.1799978656414558]},"sizeMeters":[0.538,0.106,0.488],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:25.267Z","updatedAt":"2026-09-12T05:49:25.398Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37813/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CounterHotPlateCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37813/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37813/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37813/v1/model.glb\" alt=\"Counter Hot Plate (Cyberpunk Apartment and Neon Block)\" 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/37813/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/37813/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37815","slug":"cyberpunk-apartment-and-neon-block-drinks-fridge-f6a188b6","title":"Glass Front Drinks Fridge (Cyberpunk Apartment and Neon Block)","summary":"A 550 mm under counter drinks cabinet 1.36 m tall: a lit interior with three shelves of plain coloured cans, a glazed door on its right stile with a bar pull, and a cooling deck on top. The cans carry no label, mark or word.","description":"A 550 mm under counter drinks cabinet 1.36 m tall: a lit interior with three shelves of plain coloured cans, a glazed door on its right stile with a bar pull, and a cooling deck on top. The cans carry no label, mark or word. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-drinks-fridge-f6a188b6","cdnUrl":"https://cdn.3dassets.dev/assets/37815/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-drinks-fridge-f6a188b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37815/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37815/v1/poster.webp","blurhash":"U47nUd-;009F_4Ri4n%NRjITM{?c-;WAD%t8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":68840,"triangles":1952,"vertices":4116,"meshes":9,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.274985811007988,0,-0.2799810806774375],"max":[0.2761580450567813,1.3600000143051147,0.33199742800650234]},"sizeMeters":[0.551,1.36,0.612],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:25.453Z","updatedAt":"2026-09-12T05:49:25.635Z","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/37815/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 GlassFrontDrinksFridgeCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37815/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/37815/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37815/v1/model.glb\" alt=\"Glass Front Drinks Fridge (Cyberpunk Apartment and Neon Block)\" 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/37815/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/37815/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37812","slug":"cyberpunk-apartment-and-neon-block-noodle-cup-shelf-79a0515f","title":"Ramen and Noodle Cup Shelf (Cyberpunk Apartment and Neon Block)","summary":"A 920 mm steel shelving bay 1.5 m tall with four decks, stocked with twenty four lidded noodle pots in three colourways, a kettle and a boxed pack. No pot carries a label, a mark or a word: the lids are plain coloured discs.","description":"A 920 mm steel shelving bay 1.5 m tall with four decks, stocked with twenty four lidded noodle pots in three colourways, a kettle and a boxed pack. No pot carries a label, a mark or a word: the lids are plain coloured discs. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-noodle-cup-shelf-79a0515f","cdnUrl":"https://cdn.3dassets.dev/assets/37812/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-noodle-cup-shelf-79a0515f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37812/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37812/v1/poster.webp","blurhash":"U4ATl|.80000_4xu9EIT00Rj_3xu-;xvIUD$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":145808,"triangles":4112,"vertices":8384,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.46002290425099923,0,-0.1600329653367709],"max":[0.46002290425099923,1.5700000524520874,0.1600329653367709]},"sizeMeters":[0.92,1.57,0.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:25.287Z","updatedAt":"2026-09-12T05:49:25.413Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37812/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RamenAndNoodleCupShelfCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37812/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37812/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37812/v1/model.glb\" alt=\"Ramen and Noodle Cup Shelf (Cyberpunk Apartment and Neon Block)\" 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/37812/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/37812/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37817","slug":"cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","title":"Stacked Washer and Dryer (Cyberpunk Apartment and Neon Block)","summary":"A 620 mm washer with a dryer stacked on it, 1.72 m to the deck: pressed bodies with dark control fascias, blank readouts and knobs, glazed drum doors on their left stiles, a basket of washing on top and a hose dropping behind. Both doors open together on one pair of clips.","description":"A 620 mm washer with a dryer stacked on it, 1.72 m to the deck: pressed bodies with dark control fascias, blank readouts and knobs, glazed drum doors on their left stiles, a basket of washing on top and a hose dropping behind. Both doors open together on one pair of clips. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door-0, door-1. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","cdnUrl":"https://cdn.3dassets.dev/assets/37817/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-laundry-stack-b7165e26","thumbnailUrl":"https://cdn.3dassets.dev/assets/37817/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37817/v1/poster.webp","blurhash":"U59tZI?w0000MJRjpcxu4TRO.RyDrrjZS#az","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":71408,"triangles":1852,"vertices":3745,"meshes":10,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.309965827963694,0,-0.40798991210637037],"max":[0.309965827963694,2.0200100762488025,0.3399967972756741]},"sizeMeters":[0.62,2.02,0.748],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:27.148Z","updatedAt":"2026-09-12T05:49:27.247Z","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/37817/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 StackedWasherAndDryerCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37817/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/37817/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37817/v1/model.glb\" alt=\"Stacked Washer and Dryer (Cyberpunk Apartment and Neon Block)\" 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/37817/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/37817/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37816","slug":"cyberpunk-apartment-and-neon-block-wet-room-pod-40137ae9","title":"Wet Room Shower Pod (Cyberpunk Apartment and Neon Block)","summary":"A 1.0 m square moulded wash pod 2.24 m tall: a shallow tray with a steel grate, solid flanks and back, a roof with an extract grille, a riser rail with a head and mixer, a shelf with a bottle, a folded towel and a framed acrylic door on the right jamb.","description":"A 1.0 m square moulded wash pod 2.24 m tall: a shallow tray with a steel grate, solid flanks and back, a roof with an extract grille, a riser rail with a head and mixer, a shelf with a bottle, a folded towel and a framed acrylic door on the right jamb. Steam and water are not modelled, because both are shader work rather than geometry. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-wet-room-pod-40137ae9","cdnUrl":"https://cdn.3dassets.dev/assets/37816/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-wet-room-pod-40137ae9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37816/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37816/v1/poster.webp","blurhash":"U2A16Mr?0056DiRj?v%M00ay_3xu-qR*InoL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":59484,"triangles":1232,"vertices":2757,"meshes":9,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.5,0,-0.5],"max":[0.5,2.2399792950972723,0.5319974488428683]},"sizeMeters":[1,2.24,1.032],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:27.006Z","updatedAt":"2026-09-12T05:49:27.183Z","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/37816/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 WetRoomShowerPodCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37816/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/37816/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37816/v1/model.glb\" alt=\"Wet Room Shower Pod (Cyberpunk Apartment and Neon Block)\" 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/37816/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/37816/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37806","slug":"cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","title":"Modular Sofa Unit (Cyberpunk Apartment and Neon Block)","summary":"One 1.1 by 820 mm bay of a modular sofa on a dark plinth with steel feet, a crowned seat cushion with a piped seam, a raked back and a scatter cushion. Its sofa-left and sofa-right ports butt bay to bay, so two or five make a run along a cell wall.","description":"One 1.1 by 820 mm bay of a modular sofa on a dark plinth with steel feet, a crowned seat cushion with a piped seam, a raked back and a scatter cushion. Its sofa-left and sofa-right ports butt bay to bay, so two or five make a run along a cell wall. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","cdnUrl":"https://cdn.3dassets.dev/assets/37806/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-modular-sofa-unit-ab34d202","thumbnailUrl":"https://cdn.3dassets.dev/assets/37806/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37806/v1/poster.webp","blurhash":"U8C~GFbv00#D}vI.9Yn50JI-t6SwD%%2cXTH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":56456,"triangles":1372,"vertices":2786,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.550000011920929,-9.155552638147324e-7,-0.44844779177077226],"max":[0.550000011920929,0.93379770686002,0.4099948207397873]},"sizeMeters":[1.1,0.934,0.858],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:22.083Z","updatedAt":"2026-09-12T05:49:22.210Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37806/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ModularSofaUnitCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37806/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37806/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37806/v1/model.glb\" alt=\"Modular Sofa Unit (Cyberpunk Apartment and Neon Block)\" 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/37806/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/37806/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37807","slug":"cyberpunk-apartment-and-neon-block-low-table-f030ca5a","title":"Low Table with Glass Top (Cyberpunk Apartment and Neon Block)","summary":"A 1.0 by 560 mm low table 400 mm high: a dark rim with a glass insert on square steel legs, a lower steel shelf, and the clutter it carries, a noodle cup, a flat blank remote and a cased object on the shelf.","description":"A 1.0 by 560 mm low table 400 mm high: a dark rim with a glass insert on square steel legs, a lower steel shelf, and the clutter it carries, a noodle cup, a flat blank remote and a cased object on the shelf. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-low-table-f030ca5a","cdnUrl":"https://cdn.3dassets.dev/assets/37807/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-low-table-f030ca5a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37807/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37807/v1/poster.webp","blurhash":"U69@YQ%N00RP%N%NofMx00Rj~qofRPIAIUxv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":35268,"triangles":744,"vertices":1648,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.00001873574380376053,-0.2800073244422742],"max":[0.5,0.47499893103607205,0.2800073244422742]},"sizeMeters":[1,0.475,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:21.941Z","updatedAt":"2026-09-12T05:49:22.062Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37807/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowTableWithGlassTopCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37807/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37807/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37807/v1/model.glb\" alt=\"Low Table with Glass Top (Cyberpunk Apartment and Neon Block)\" 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/37807/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/37807/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37808","slug":"cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","title":"Task Swivel Chair (Cyberpunk Apartment and Neon Block)","summary":"A five star task chair on rubber castors: a gas column, a 460 mm padded seat, a raked padded back on a steel spine and two fixed arms. About 620 mm across and 1.0 m tall. Static: the gas lift and the swivel are a consumer setting, not a clip.","description":"A five star task chair on rubber castors: a gas column, a 460 mm padded seat, a raked padded back on a steel spine and two fixed arms. About 620 mm across and 1.0 m tall. Static: the gas lift and the swivel are a consumer setting, not a clip. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","cdnUrl":"https://cdn.3dassets.dev/assets/37808/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-swivel-chair-7a18cb96","thumbnailUrl":"https://cdn.3dassets.dev/assets/37808/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37808/v1/poster.webp","blurhash":"U59sb*kW00a1{.I.6]-qEdInr^-qEKs:-WNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":78000,"triangles":1840,"vertices":3955,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.26499998569488525,-0.000007528768320337609,-0.31051695346832275],"max":[0.3119857622259984,1.0990304946899414,0.31051695346832275]},"sizeMeters":[0.577,1.099,0.621],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:22.497Z","updatedAt":"2026-09-12T05:49:22.609Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37808/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TaskSwivelChairCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37808/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37808/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37808/v1/model.glb\" alt=\"Task Swivel Chair (Cyberpunk Apartment and Neon Block)\" 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/37808/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/37808/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37810","slug":"cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","title":"Wall Mounted Display Panel (Cyberpunk Apartment and Neon Block)","summary":"A 1.24 by 760 mm flat display on a wall plate with a lit edge strip and a cable drop. The face is a blank emissive panel with nothing on it, so a developer supplies the content. Origin on the wall plate with the back at z=0.","description":"A 1.24 by 760 mm flat display on a wall plate with a lit edge strip and a cable drop. The face is a blank emissive panel with nothing on it, so a developer supplies the content. Origin on the wall plate with the back at z=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","cdnUrl":"https://cdn.3dassets.dev/assets/37810/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-wall-mounted-displa-9be631ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/37810/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37810/v1/poster.webp","blurhash":"UB6bcVo*DNoN%jtURQR5Hqogt.RiR2i]o#kX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":14564,"triangles":288,"vertices":646,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6200000047683716,0,-0.04999572693600478],"max":[0.6200000047683716,0.9800000075371035,0.05100604282902913]},"sizeMeters":[1.24,0.98,0.101],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:23.639Z","updatedAt":"2026-09-12T05:49:23.753Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37810/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallMountedDisplayPanelCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37810/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37810/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37810/v1/model.glb\" alt=\"Wall Mounted Display Panel (Cyberpunk Apartment and Neon Block)\" 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/37810/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/37810/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37811","slug":"cyberpunk-apartment-and-neon-block-holo-projector-plin-d399423a","title":"Holo Projector Plinth with Abstract Volume (Cyberpunk Apartment and Neon Block)","summary":"A 600 mm drum plinth 860 mm tall with a lit emitter ring, three emitter arms and a projected volume standing above it: a tapered body and two rings, entirely abstract, with no figure, mark or legible form.","description":"A 600 mm drum plinth 860 mm tall with a lit emitter ring, three emitter arms and a projected volume standing above it: a tapered body and two rings, entirely abstract, with no figure, mark or legible form. The volume is fixed geometry in an emissive material, because a projection is light and light needs a shader rather than a node transform. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-holo-projector-plin-d399423a","cdnUrl":"https://cdn.3dassets.dev/assets/37811/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-holo-projector-plin-d399423a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37811/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37811/v1/poster.webp","blurhash":"U97n:wt700IU?^j[D4WB8_WB.8t78wWB?vs:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":59272,"triangles":1416,"vertices":2937,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.30001280840713557,0,-0.30001280840713557],"max":[0.30001280840713557,1.7999999523162842,0.30001280840713557]},"sizeMeters":[0.6,1.8,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:23.761Z","updatedAt":"2026-09-12T05:49:23.877Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37811/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HoloProjectorPlinthWithAbstractVolumeCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37811/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37811/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37811/v1/model.glb\" alt=\"Holo Projector Plinth with Abstract Volume (Cyberpunk Apartment and Neon Block)\" 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/37811/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/37811/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37836","slug":"cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","title":"Neon Strip Run (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 m neon raceway on two brackets: a dark channel with a steel reflector, a magenta tube on its end caps and a transformer box behind. Its neon-left and neon-right ports butt run to run, so a whole facade or corridor lights in one line.","description":"A 1.2 m neon raceway on two brackets: a dark channel with a steel reflector, a magenta tube on its end caps and a transformer box behind. Its neon-left and neon-right ports butt run to run, so a whole facade or corridor lights in one line. The glow is an emissive material and the file embeds no light source. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","cdnUrl":"https://cdn.3dassets.dev/assets/37836/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-neon-strip-run-863a00d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37836/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37836/v1/poster.webp","blurhash":"U37m{g-r53-p%N~X%2In00O8~ER%IS00EJ^l","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":23592,"triangles":512,"vertices":1103,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.000013884636829150643,-0.07000920061758416],"max":[0.6000000238418579,0.13998718468420235,0.06593244408062356]},"sizeMeters":[1.2,0.14,0.136],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:36.659Z","updatedAt":"2026-09-12T05:49:36.765Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37836/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonStripRunCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37836/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37836/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37836/v1/model.glb\" alt=\"Neon Strip Run (Cyberpunk Apartment and Neon Block)\" 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/37836/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/37836/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37809","slug":"cyberpunk-apartment-and-neon-block-desk-with-multi-scr-cd5fab7a","title":"Desk with Multi Screen Rig (Cyberpunk Apartment and Neon Block)","summary":"A 1.6 by 720 mm steel desk at 760 mm with a modesty panel, a one drawer pedestal and a clamped monitor post carrying four displays on a cross bar, three across and one above. Every screen face is a blank lit panel: no interface, readout, logo or word is modelled anywhere.","description":"A 1.6 by 720 mm steel desk at 760 mm with a modesty panel, a one drawer pedestal and a clamped monitor post carrying four displays on a cross bar, three across and one above. Every screen face is a blank lit panel: no interface, readout, logo or word is modelled anywhere. A keyboard, a puck and a mug dress the top. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: drawer. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-desk-with-multi-scr-cd5fab7a","cdnUrl":"https://cdn.3dassets.dev/assets/37809/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-desk-with-multi-scr-cd5fab7a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37809/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37809/v1/poster.webp","blurhash":"U384*=o~00$+0jx^MbDi009F%$?F=U-:%%D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":91304,"triangles":2032,"vertices":4491,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.800920727326304,-0.000008530474801982102,-0.360020440162205],"max":[0.800920727326304,1.659999966621399,0.360020440162205]},"sizeMeters":[1.602,1.66,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:23.624Z","updatedAt":"2026-09-12T05:49:23.746Z","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/37809/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 DeskWithMultiScreenRigCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37809/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/37809/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37809/v1/model.glb\" alt=\"Desk with Multi Screen Rig (Cyberpunk Apartment and Neon Block)\" 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/37809/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/37809/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37822","slug":"cyberpunk-apartment-and-neon-block-server-cabinet-534333b8","title":"Server Cabinet (Cyberpunk Apartment and Neon Block)","summary":"A 620 by 720 mm floor standing rack 1.8 m tall: four posts on mounting rails with eleven units of blank faced kit, six status lamps a unit, two roof fans, a perforated door on its left stile and patch cabling down the back. Nothing on any fascia is legible.","description":"A 620 by 720 mm floor standing rack 1.8 m tall: four posts on mounting rails with eleven units of blank faced kit, six status lamps a unit, two roof fans, a perforated door on its left stile and patch cabling down the back. Nothing on any fascia is legible. The door swings; the cabling is a fixed run. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-server-cabinet-534333b8","cdnUrl":"https://cdn.3dassets.dev/assets/37822/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-server-cabinet-534333b8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37822/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37822/v1/poster.webp","blurhash":"U36*gu?b004m?daxDit7WGM{M_%M%NWAITt8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":271988,"triangles":7624,"vertices":17731,"meshes":9,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.3099612332817967,0,-0.3600097550109639],"max":[0.3099612332817967,1.805999994277954,0.41103917889365676]},"sizeMeters":[0.62,1.806,0.771],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:28.912Z","updatedAt":"2026-09-12T05:49:29.038Z","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/37822/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 ServerCabinetCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37822/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/37822/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37822/v1/model.glb\" alt=\"Server Cabinet (Cyberpunk Apartment and Neon Block)\" 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/37822/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/37822/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37823","slug":"cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","title":"Cable Spaghetti Bundle (Cyberpunk Apartment and Neon Block)","summary":"The cabling a subdivided cell really carries: a 900 mm wall tray on two brackets with sixteen cables in it, three drops sagging to the floor, two ties, a loose coil and a four way adaptor block. Roughly 900 by 400 mm on plan and 1.5 m tall.","description":"The cabling a subdivided cell really carries: a 900 mm wall tray on two brackets with sixteen cables in it, three drops sagging to the floor, two ties, a loose coil and a four way adaptor block. Roughly 900 by 400 mm on plan and 1.5 m tall. Entirely static, because a flexible run needs a joint per node and no rigid transform can follow one. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","cdnUrl":"https://cdn.3dassets.dev/assets/37823/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-cable-spaghetti-bun-9ff6eda4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37823/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37823/v1/poster.webp","blurhash":"U99HLbD+00~U.8RjMdxtDl%0%e9bRPxtXSIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":118620,"triangles":2472,"vertices":6137,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.44999998807907104,0,-0.1800260351934468],"max":[0.44999998807907104,1.4321606159210205,0.35033290315375437]},"sizeMeters":[0.9,1.432,0.53],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:30.108Z","updatedAt":"2026-09-12T05:49:30.304Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37823/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CableSpaghettiBundleCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37823/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37823/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37823/v1/model.glb\" alt=\"Cable Spaghetti Bundle (Cyberpunk Apartment and Neon Block)\" 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/37823/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/37823/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37826","slug":"cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","title":"Workbench with Soldering Station (Cyberpunk Apartment and Neon Block)","summary":"A 1.5 by 680 mm steel bench at 900 mm with a rubber matted top, two drawers on runners and a pegboard behind it carrying four hung tools, a coil of solder and a lit strip.","description":"A 1.5 by 680 mm steel bench at 900 mm with a rubber matted top, two drawers on runners and a pegboard behind it carrying four hung tools, a coil of solder and a lit strip. On the top, a soldering station with a blank readout, the iron in its stand with a fume arm, its lead and a solder coil. The drawers run out; the tools and leads are fixed. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: drawer-0, drawer-1. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","cdnUrl":"https://cdn.3dassets.dev/assets/37826/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-workbench-with-sold-0aac4910","thumbnailUrl":"https://cdn.3dassets.dev/assets/37826/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37826/v1/poster.webp","blurhash":"U47x2axt00WY_Nxa8_IV00IU%3x]x]xuRQMx","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":160804,"triangles":3768,"vertices":8338,"meshes":10,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.75,0,-0.3399685659352397],"max":[0.75,1.7000000476837158,0.3399685659352397]},"sizeMeters":[1.5,1.7,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:31.666Z","updatedAt":"2026-09-12T05:49:31.869Z","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/37826/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 WorkbenchWithSolderingStationCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37826/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/37826/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37826/v1/model.glb\" alt=\"Workbench with Soldering Station (Cyberpunk Apartment and Neon Block)\" 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/37826/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/37826/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37825","slug":"cyberpunk-apartment-and-neon-block-gun-locker-f7a750d5","title":"Gun Locker, Open and Empty (Cyberpunk Apartment and Neon Block)","summary":"A 440 by 360 mm steel locker 1.57 m tall standing open and empty: a foam lined back with two cut recesses, two bare clips, a shelf with an amber lamp, and a plated door with a keypad and a lever pull swung 89 degrees clear.","description":"A 440 by 360 mm steel locker 1.57 m tall standing open and empty: a foam lined back with two cut recesses, two bare clips, a shelf with an amber lamp, and a plated door with a keypad and a lever pull swung 89 degrees clear. Nothing is stored in it and no weapon, badge or legible mark is modelled anywhere. The door is posed open in the geometry. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-gun-locker-f7a750d5","cdnUrl":"https://cdn.3dassets.dev/assets/37825/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-gun-locker-f7a750d5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37825/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37825/v1/poster.webp","blurhash":"U47nUcax00oh_4oe9Ej^M{oet6a~%NaxITog","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":79508,"triangles":1816,"vertices":3953,"meshes":7,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.27428100117109,0,-0.17999923699974985],"max":[0.22003082369457075,1.5,0.6002070893113154]},"sizeMeters":[0.494,1.5,0.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:31.515Z","updatedAt":"2026-09-12T05:49:31.631Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37825/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GunLockerOpenAndEmptyCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37825/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37825/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37825/v1/model.glb\" alt=\"Gun Locker, Open and Empty (Cyberpunk Apartment and Neon Block)\" 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/37825/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/37825/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37824","slug":"cyberpunk-apartment-and-neon-block-gun-locker-closed-60736d74","title":"Gun Locker, Closed (Cyberpunk Apartment and Neon Block)","summary":"The same locker shut on its keypad, for a row where one is open and the rest are not. The door swings on its left stile.","description":"The same locker shut on its keypad, for a row where one is open and the rest are not. The door swings on its left stile. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-gun-locker-closed-60736d74","cdnUrl":"https://cdn.3dassets.dev/assets/37824/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-gun-locker-closed-60736d74","thumbnailUrl":"https://cdn.3dassets.dev/assets/37824/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37824/v1/poster.webp","blurhash":"U171sAtP00IC_4aK9Etl.R-;Di4m%hofROWE","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":81992,"triangles":1816,"vertices":4049,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.22003082369457075,0,-0.17999923699974985],"max":[0.22003082369457075,1.5,0.22202255143271898]},"sizeMeters":[0.44,1.5,0.402],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:30.458Z","updatedAt":"2026-09-12T05:49:30.562Z","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/37824/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 GunLockerClosedCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37824/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/37824/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37824/v1/model.glb\" alt=\"Gun Locker, Closed (Cyberpunk Apartment and Neon Block)\" 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/37824/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/37824/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37829","slug":"cyberpunk-apartment-and-neon-block-prosthetic-arm-on-s-9c81e33b","title":"Prosthetic Arm on a Stand (Cyberpunk Apartment and Neon Block)","summary":"A powered prosthetic arm hung on a weighted floor stand, 1.5 m to the socket: a socket cup, an upper segment, an elbow joint, a ribbed forearm, a wrist and a four finger hand, with a lead to a blank faced controller clipped on the post.","description":"A powered prosthetic arm hung on a weighted floor stand, 1.5 m to the socket: a socket cup, an upper segment, an elbow joint, a ribbed forearm, a wrist and a four finger hand, with a lead to a blank faced controller clipped on the post. Static, because a working hand is a joint per finger and this pack is rigid node transforms only. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-prosthetic-arm-on-s-9c81e33b","cdnUrl":"https://cdn.3dassets.dev/assets/37829/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-prosthetic-arm-on-s-9c81e33b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37829/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37829/v1/poster.webp","blurhash":"U168Q,xv009Y~qxH00EK#mkWOrVYz:WBKis=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":68464,"triangles":1532,"vertices":3364,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.1899909994882118,0,-0.1871454536279979],"max":[0.1899909994882118,1.3004728555679321,0.1871454536279979]},"sizeMeters":[0.38,1.3,0.374],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:33.254Z","updatedAt":"2026-09-12T05:49:33.439Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37829/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ProstheticArmOnAStandCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37829/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37829/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37829/v1/model.glb\" alt=\"Prosthetic Arm on a Stand (Cyberpunk Apartment and Neon Block)\" 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/37829/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/37829/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37828","slug":"cyberpunk-apartment-and-neon-block-drone-on-charge-pad-a5197423","title":"Delivery Drone on a Charge Pad (Cyberpunk Apartment and Neon Block)","summary":"A 560 mm quadrotor resting on a 680 mm charge pad with a lit contact ring: a moulded body with an underslung camera gimbal, four arms on rubber ringed skids, four two blade rotors and a status strip.","description":"A 560 mm quadrotor resting on a 680 mm charge pad with a lit contact ring: a moulded body with an underslung camera gimbal, four arms on rubber ringed skids, four two blade rotors and a status strip. Each rotor is its own node and spins about its own mast; the airframe, the gimbal and the pad are fixed. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: rotor-lb, rotor-lf, rotor-rb, rotor-rf. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-drone-on-charge-pad-a5197423","cdnUrl":"https://cdn.3dassets.dev/assets/37828/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-drone-on-charge-pad-a5197423","thumbnailUrl":"https://cdn.3dassets.dev/assets/37828/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37828/v1/poster.webp","blurhash":"U57BJ?x]00Mxt6kCR+e.00RP~qtRM}aexYX9","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":89900,"triangles":2484,"vertices":5082,"meshes":11,"materials":7,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.3400000035762787,-0.000014309602557285861,-0.3400000035762787],"max":[0.3400000035762787,0.24175395681693204,0.3400000035762787]},"sizeMeters":[0.68,0.242,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:32.133Z","updatedAt":"2026-09-12T05:49:32.248Z","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/37828/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 DeliveryDroneOnAChargePadCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37828/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/37828/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37828/v1/model.glb\" alt=\"Delivery Drone on a Charge Pad (Cyberpunk Apartment and Neon Block)\" 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/37828/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/37828/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37831","slug":"cyberpunk-apartment-and-neon-block-stim-cabinet-bacb2897","title":"Stim Cabinet with Abstract Vials (Cyberpunk Apartment and Neon Block)","summary":"A 500 by 260 mm wall cabinet 1.1 m tall with two shelves and twenty one capped vials in three colourways, a lit strip at the head and a glazed lockable door on its left stile. The vials are plain tapered tubes: no label, dose, mark or word is modelled on any of them.","description":"A 500 by 260 mm wall cabinet 1.1 m tall with two shelves and twenty one capped vials in three colourways, a lit strip at the head and a glazed lockable door on its left stile. The vials are plain tapered tubes: no label, dose, mark or word is modelled on any of them. Wall mounted, origin at the carcass foot. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-stim-cabinet-bacb2897","cdnUrl":"https://cdn.3dassets.dev/assets/37831/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-stim-cabinet-bacb2897","thumbnailUrl":"https://cdn.3dassets.dev/assets/37831/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37831/v1/poster.webp","blurhash":"U4ATyRDi00?c_Nxa4mIUE0ozwOV@_3t79FMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":133256,"triangles":3832,"vertices":7772,"meshes":8,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.2511850613277088,0,-0.129988702172175],"max":[0.2499816943125216,1.100000023841858,0.13200094054285755]},"sizeMeters":[0.501,1.1,0.262],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:33.610Z","updatedAt":"2026-09-12T05:49:33.708Z","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/37831/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 StimCabinetWithAbstractVialsCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37831/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/37831/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37831/v1/model.glb\" alt=\"Stim Cabinet with Abstract Vials (Cyberpunk Apartment and Neon Block)\" 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/37831/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/37831/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37801","slug":"cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","title":"Pipe Riser Cluster (Cyberpunk Apartment and Neon Block)","summary":"Four services rising 2.6 m through a cell: a 140 mm main, a 100 mm return, a 70 mm cold feed and a 56 mm amber gas riser on three shared brackets, with a gate valve and handwheel on the main and a blank faced gauge on the return. 620 mm across on plan, stands against a wall.","description":"Four services rising 2.6 m through a cell: a 140 mm main, a 100 mm return, a 70 mm cold feed and a 56 mm amber gas riser on three shared brackets, with a gate valve and handwheel on the main and a blank faced gauge on the return. 620 mm across on plan, stands against a wall. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","cdnUrl":"https://cdn.3dassets.dev/assets/37801/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-pipe-riser-cluster-a0784d4f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37801/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37801/v1/poster.webp","blurhash":"U48gsZIw00~I-.R,D+xp9Jt3?EIaWss.n#M}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":60364,"triangles":1372,"vertices":2969,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.28202472926304867,0,-0.13999119058758897],"max":[0.339968093127266,2.5999999046325684,0.11299893088307034]},"sizeMeters":[0.622,2.6,0.253],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:19.287Z","updatedAt":"2026-09-12T05:49:19.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37801/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PipeRiserClusterCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37801/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37801/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37801/v1/model.glb\" alt=\"Pipe Riser Cluster (Cyberpunk Apartment and Neon Block)\" 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/37801/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/37801/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37805","slug":"cyberpunk-apartment-and-neon-block-fold-down-bed-3ad4fbe6","title":"Fold Down Wall Bed (Cyberpunk Apartment and Neon Block)","summary":"A 1.3 m wall bed cabinet 2.2 m tall with a lit reveal, two shelves and a cup on one.","description":"A 1.3 m wall bed cabinet 2.2 m tall with a lit reveal, two shelves and a cup on one. The bed is modelled folded up inside it, frame, mattress, pillow and a pair of folding legs, hinged on the cabinet foot: the drop clip swings it 88 degrees forward onto those legs and takes 1.9 m of the cell floor. Gas struts sit either side of the mouth. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: bed. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-fold-down-bed-3ad4fbe6","cdnUrl":"https://cdn.3dassets.dev/assets/37805/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-fold-down-bed-3ad4fbe6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37805/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37805/v1/poster.webp","blurhash":"U6973G-C00AA_4xbDiIn5$Sw=g#qE1SKxuwM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":59860,"triangles":1384,"vertices":2863,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6499893326098224,0,-0.1799469329623668],"max":[0.6499893326098224,2.200000047683716,0.23196934900761096]},"sizeMeters":[1.3,2.2,0.412],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:20.965Z","updatedAt":"2026-09-12T05:49:21.084Z","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/37805/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 FoldDownWallBedCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37805/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/37805/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37805/v1/model.glb\" alt=\"Fold Down Wall Bed (Cyberpunk Apartment and Neon Block)\" 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/37805/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/37805/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37846","slug":"cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","title":"Wheelie Bin Cluster (Cyberpunk Apartment and Neon Block)","summary":"Three wheeled bins side by side in different sizes and colours, up to 1.14 m tall, with ribbed bodies, axle bosses, front castors and hinged lids, plus two tied sacks, a tipped crate and five pieces of loose rubbish. All three lids lift together on one pair of clips.","description":"Three wheeled bins side by side in different sizes and colours, up to 1.14 m tall, with ribbed bodies, axle bosses, front castors and hinged lids, plus two tied sacks, a tipped crate and five pieces of loose rubbish. All three lids lift together on one pair of clips. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: lid-0, lid-1, lid-2. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","cdnUrl":"https://cdn.3dassets.dev/assets/37846/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-bin-cluster-cedaf2d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37846/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37846/v1/poster.webp","blurhash":"U89k80iy8x?[IB-;W.IA00OS.R8y.QDii{?u","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":116928,"triangles":2784,"vertices":5913,"meshes":11,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.3600000143051147,-0.0000036431884451494645,-0.6399999856948853],"max":[1.4118355512619019,1.221977806107616,0.6000112028647033]},"sizeMeters":[2.772,1.222,1.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:42.271Z","updatedAt":"2026-09-12T05:49:42.395Z","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/37846/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 WheelieBinClusterCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37846/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/37846/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37846/v1/model.glb\" alt=\"Wheelie Bin Cluster (Cyberpunk Apartment and Neon Block)\" 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/37846/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/37846/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37796","slug":"cyberpunk-apartment-and-neon-block-floor-hatch-cefb08f5","title":"Service Floor Hatch (Cyberpunk Apartment and Neon Block)","summary":"An 860 mm square service hatch in a recessed steel kerb: a ribbed chequer plate leaf on two back edge hinges with a recessed ring pull, over a dark void liner. The leaf lifts through 96 degrees and stands open on its hinges. Sits on the floor with its kerb resting at y=0.","description":"An 860 mm square service hatch in a recessed steel kerb: a ribbed chequer plate leaf on two back edge hinges with a recessed ring pull, over a dark void liner. The leaf lifts through 96 degrees and stands open on its hinges. Sits on the floor with its kerb resting at y=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: hatch. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-floor-hatch-cefb08f5","cdnUrl":"https://cdn.3dassets.dev/assets/37796/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-floor-hatch-cefb08f5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37796/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37796/v1/poster.webp","blurhash":"U8A0{}%M00jbD$WBxvt700M_-;WU_4t7ITM_","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":44552,"triangles":968,"vertices":2156,"meshes":4,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4300000071525574,-0.000012055244616830663,-0.4300000071525574],"max":[0.4300000071525574,0.13454853608030234,0.4300000071525574]},"sizeMeters":[0.86,0.135,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:17.356Z","updatedAt":"2026-09-12T05:49:17.476Z","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/37796/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 ServiceFloorHatchCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37796/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/37796/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37796/v1/model.glb\" alt=\"Service Floor Hatch (Cyberpunk Apartment and Neon Block)\" 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/37796/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/37796/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37799","slug":"cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","title":"Graffiti Panel, Abstract Arcs (Cyberpunk Apartment and Neon Block)","summary":"The same 1.6 by 1.5 m panel with a different invented tag: a fifteen dot field crossed by one broad diagonal band in cyan, with three drips. Again purely geometric, with nothing legible on it.","description":"The same 1.6 by 1.5 m panel with a different invented tag: a fifteen dot field crossed by one broad diagonal band in cyan, with three drips. Again purely geometric, with nothing legible on it. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","cdnUrl":"https://cdn.3dassets.dev/assets/37799/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-graffiti-panel-arcs-cfbcf008","thumbnailUrl":"https://cdn.3dassets.dev/assets/37799/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37799/v1/poster.webp","blurhash":"U7E:JCxn00D,tS_4Ri8_00N3.mxr?Y?FRj4;","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":45292,"triangles":1048,"vertices":2202,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8200000040233135,0.0000015147496256195936,-0.025000763335277298],"max":[0.800000011920929,1.4999984852503743,0.05441691479579019]},"sizeMeters":[1.62,1.5,0.079],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:18.456Z","updatedAt":"2026-09-12T05:49:18.562Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37799/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GraffitiPanelAbstractArcsCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37799/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37799/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37799/v1/model.glb\" alt=\"Graffiti Panel, Abstract Arcs (Cyberpunk Apartment and Neon Block)\" 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/37799/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/37799/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37804","slug":"cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","title":"Two Tier Bunk Stack (Cyberpunk Apartment and Neon Block)","summary":"A welded steel two tier bunk, 980 by 2060 mm and 2.2 m tall: decks at 420 and 1480 mm with mattresses and pillows, a guard rail and ladder to the upper bunk, a curtain drawn along the lower one and a small shelf. Static: the curtain is soft goods and a rigid node cannot draw it.","description":"A welded steel two tier bunk, 980 by 2060 mm and 2.2 m tall: decks at 420 and 1480 mm with mattresses and pillows, a guard rail and ladder to the upper bunk, a curtain drawn along the lower one and a small shelf. Static: the curtain is soft goods and a rigid node cannot draw it. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","cdnUrl":"https://cdn.3dassets.dev/assets/37804/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-bunk-stack-84bb4f60","thumbnailUrl":"https://cdn.3dassets.dev/assets/37804/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37804/v1/poster.webp","blurhash":"U49sxb=N00K}~XIA9Z?b009@}^#rEKa#%2i{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":86348,"triangles":2144,"vertices":4366,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.48596718594662436,0,-1.0246681334185317],"max":[0.7699671654426266,2.200000047683716,1.0246681334185317]},"sizeMeters":[1.256,2.2,2.049],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:20.854Z","updatedAt":"2026-09-12T05:49:20.952Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37804/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TwoTierBunkStackCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37804/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37804/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37804/v1/model.glb\" alt=\"Two Tier Bunk Stack (Cyberpunk Apartment and Neon Block)\" 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/37804/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/37804/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37800","slug":"cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","title":"Utility Meter Bank (Cyberpunk Apartment and Neon Block)","summary":"The landlord meter board on a corridor wall: six cased meters in two rows with blank dark faces on a 1.1 m back board, five insulated tails dropping into a steel trunking and an isolator with an amber lever. No reading, tariff or serial is modelled. 1.12 by 1.9 m, back at z=0.","description":"The landlord meter board on a corridor wall: six cased meters in two rows with blank dark faces on a 1.1 m back board, five insulated tails dropping into a steel trunking and an isolator with an amber lever. No reading, tariff or serial is modelled. 1.12 by 1.9 m, back at z=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","cdnUrl":"https://cdn.3dassets.dev/assets/37800/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-utility-meter-bank-fecf038e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37800/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37800/v1/poster.webp","blurhash":"U27nd%xa00IU%$.8Dg00%MRPR*xu8^-;.99F","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":69604,"triangles":1528,"vertices":3437,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.5600231735256734,0,-0.08996856788525588],"max":[0.5600231735256734,1.8100359508946275,0.15500285749143722]},"sizeMeters":[1.12,1.81,0.245],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:19.080Z","updatedAt":"2026-09-12T05:49:19.272Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37800/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UtilityMeterBankCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37800/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37800/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37800/v1/model.glb\" alt=\"Utility Meter Bank (Cyberpunk Apartment and Neon Block)\" 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/37800/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/37800/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37833","slug":"cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","title":"Ducting Run Section (Cyberpunk Apartment and Neon Block)","summary":"A 1.2 m length of 300 by 260 mm rectangular ducting: flanged ends, three stiffening ribs, a take off spigot with a damper plate, a hanger rail on two threaded rods and an amber patch of tape on the flank.","description":"A 1.2 m length of 300 by 260 mm rectangular ducting: flanged ends, three stiffening ribs, a take off spigot with a damper plate, a hanger rail on two threaded rods and an amber patch of tape on the flank. Its duct-left and duct-right ports butt section to section, so a run crosses a whole ceiling. Static: ducting is fixed plant. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","cdnUrl":"https://cdn.3dassets.dev/assets/37833/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-ducting-run-0f93e4fa","thumbnailUrl":"https://cdn.3dassets.dev/assets/37833/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37833/v1/poster.webp","blurhash":"U697kd-:00Ip4.xv%MIn00D*_4%L^+M^NG%N","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32868,"triangles":720,"vertices":1606,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0.000019616448497628003,-0.150022894843481],"max":[0.6000000238418579,0.8399844104264669,0.150022894843481]},"sizeMeters":[1.2,0.84,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:35.069Z","updatedAt":"2026-09-12T05:49:35.165Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37833/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DuctingRunSectionCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37833/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37833/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37833/v1/model.glb\" alt=\"Ducting Run Section (Cyberpunk Apartment and Neon Block)\" 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/37833/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/37833/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37834","slug":"cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","title":"Extract Fan and Grille (Cyberpunk Apartment and Neon Block)","summary":"A 680 mm square extract fan plate with a 600 mm throat: a five blade impeller on its hub behind a wire guard of three rings and six spokes, on four mounting bosses. The blades are one node and spin about the shaft; the guard and plate are fixed.","description":"A 680 mm square extract fan plate with a 600 mm throat: a five blade impeller on its hub behind a wire guard of three rings and six spokes, on four mounting bosses. The blades are one node and spin about the shaft; the guard and plate are fixed. Wall mounted with the plate back at z=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: fan. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","cdnUrl":"https://cdn.3dassets.dev/assets/37834/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-fan-grille-0c64ed5b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37834/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37834/v1/poster.webp","blurhash":"U26khm.8009F_4%NROH?4-of?Hs:kW%ge.IA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":71088,"triangles":1760,"vertices":3580,"meshes":3,"materials":2,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.3400000035762787,0,-0.089975361120661],"max":[0.3400000035762787,0.6800000071525574,0.08999559826038189]},"sizeMeters":[0.68,0.68,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:36.113Z","updatedAt":"2026-09-12T05:49:36.215Z","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/37834/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 ExtractFanAndGrilleCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37834/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/37834/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37834/v1/model.glb\" alt=\"Extract Fan and Grille (Cyberpunk Apartment and Neon Block)\" 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/37834/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/37834/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37830","slug":"cyberpunk-apartment-and-neon-block-medical-kit-box-75d03d97","title":"Medical Kit Box (Cyberpunk Apartment and Neon Block)","summary":"A 420 by 300 mm hard medical case 320 mm to the handle: a moulded body with a steel cross field on the front, two catches and a crowned lid on a back edge hinge. The cross is two plain crossed bars, not an emblem or a trademark, and the case carries no text.","description":"A 420 by 300 mm hard medical case 320 mm to the handle: a moulded body with a steel cross field on the front, two catches and a crowned lid on a back edge hinge. The cross is two plain crossed bars, not an emblem or a trademark, and the case carries no text. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: lid. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-medical-kit-box-75d03d97","cdnUrl":"https://cdn.3dassets.dev/assets/37830/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-medical-kit-box-75d03d97","thumbnailUrl":"https://cdn.3dassets.dev/assets/37830/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37830/v1/poster.webp","blurhash":"U8Cs?a_N00NGWBt7ozV@00IAxuV@IAkWt7S4","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":31716,"triangles":640,"vertices":1385,"meshes":6,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.2150000035762787,-0.000012816709211063704,-0.15499526927553386],"max":[0.2150000035762787,0.338002322059075,0.15799053262570273]},"sizeMeters":[0.43,0.338,0.313],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:33.457Z","updatedAt":"2026-09-12T05:49:33.571Z","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/37830/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 MedicalKitBoxCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37830/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/37830/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37830/v1/model.glb\" alt=\"Medical Kit Box (Cyberpunk Apartment and Neon Block)\" 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/37830/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/37830/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37794","slug":"cyberpunk-apartment-and-neon-block-rubbish-chute-db7fec7e","title":"Rubbish Chute and Hopper (Cyberpunk Apartment and Neon Block)","summary":"A 600 mm steel refuse chute rising 2.5 m through a floor collar, with bolted joint collars and a 560 mm hopper surround at waist height. The hopper flap is hinged on its top edge and swings up on a bar handle; the lit strip above it is a blank field.","description":"A 600 mm steel refuse chute rising 2.5 m through a floor collar, with bolted joint collars and a 560 mm hopper surround at waist height. The hopper flap is hinged on its top edge and swings up on a bar handle; the lit strip above it is a blank field. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: flap. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-rubbish-chute-db7fec7e","cdnUrl":"https://cdn.3dassets.dev/assets/37794/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-rubbish-chute-db7fec7e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37794/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37794/v1/poster.webp","blurhash":"U57-f]xu00IAR.RjV?xu~qt64nIVg3WUV@t7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37800,"triangles":800,"vertices":1695,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.41999998688697815,-0.00001815727080785312,-0.41999998688697815],"max":[0.41999998688697815,2.4600000381469727,0.41999998688697815]},"sizeMeters":[0.84,2.46,0.84],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:15.922Z","updatedAt":"2026-09-12T05:49:16.120Z","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/37794/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 RubbishChuteAndHopperCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37794/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/37794/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37794/v1/model.glb\" alt=\"Rubbish Chute and Hopper (Cyberpunk Apartment and Neon Block)\" 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/37794/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/37794/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37797","slug":"cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","title":"Landlord Intercom Panel (Cyberpunk Apartment and Neon Block)","summary":"A 300 by 490 mm entry intercom for a subdivided block: a brushed plate on a dark back box with twelve blank call buttons, a drilled speaker grille, a camera eye and a lit strip along the foot. Every button field is blank, so a developer labels the tenants themselves.","description":"A 300 by 490 mm entry intercom for a subdivided block: a brushed plate on a dark back box with twelve blank call buttons, a drilled speaker grille, a camera eye and a lit strip along the foot. Every button field is blank, so a developer labels the tenants themselves. Wall mounted with its back at z=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","cdnUrl":"https://cdn.3dassets.dev/assets/37797/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-landlord-intercom-p-77fe0f0e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37797/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37797/v1/poster.webp","blurhash":"U17ng:~q0000mqoL%{R+00IU_2.8_4%g9E8w","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":72640,"triangles":1640,"vertices":3580,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.14999206480710117,0,-0.03000701918107064],"max":[0.14999206480710117,0.4699999988079071,0.04700503506240025]},"sizeMeters":[0.3,0.47,0.077],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:17.417Z","updatedAt":"2026-09-12T05:49:17.512Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37797/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LandlordIntercomPanelCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37797/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37797/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37797/v1/model.glb\" alt=\"Landlord Intercom Panel (Cyberpunk Apartment and Neon Block)\" 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/37797/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/37797/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37795","slug":"cyberpunk-apartment-and-neon-block-mag-lock-2075250a","title":"Magnetic Door Lock and Armature (Cyberpunk Apartment and Neon Block)","summary":"A 280 mm electromagnetic door lock: the head bracket, the magnet body bolted under it with a status lamp and a cable gland, and the armature plate that meets it on the leaf. Roughly 320 by 190 by 90 mm, static: the lock holds a door, it does not move itself.","description":"A 280 mm electromagnetic door lock: the head bracket, the magnet body bolted under it with a status lamp and a cable gland, and the armature plate that meets it on the leaf. Roughly 320 by 190 by 90 mm, static: the lock holds a door, it does not move itself. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-mag-lock-2075250a","cdnUrl":"https://cdn.3dassets.dev/assets/37795/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-mag-lock-2075250a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37795/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37795/v1/poster.webp","blurhash":"U67-mA_300IA?w%MV?WB00M{-;ofD$M{WCRi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"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":17600,"triangles":352,"vertices":787,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.1599999964237213,8.452251323010085e-7,-0.07499649146453291],"max":[0.2199999988079071,0.18619914766999404,0.0419999388810192]},"sizeMeters":[0.38,0.186,0.117],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:16.726Z","updatedAt":"2026-09-12T05:49:16.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37795/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MagneticDoorLockAndArmatureCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37795/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37795/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37795/v1/model.glb\" alt=\"Magnetic Door Lock and Armature (Cyberpunk Apartment and Neon Block)\" 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/37795/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/37795/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37798","slug":"cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","title":"Graffiti Panel, Abstract Tag (Cyberpunk Apartment and Neon Block)","summary":"A 1.6 by 1.5 m concrete panel painted over and tagged again: three concentric rings, a scatter of dots and three drips in magenta over an amber patch.","description":"A 1.6 by 1.5 m concrete panel painted over and tagged again: three concentric rings, a scatter of dots and three drips in magenta over an amber patch. The tag is an invented arrangement of rings and dots with no letter, numeral, signature or mark of any kind, so it carries no crew, brand or franchise. Stands against a wall with its back at z=0. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","cdnUrl":"https://cdn.3dassets.dev/assets/37798/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-graffiti-panel-65ca0681","thumbnailUrl":"https://cdn.3dassets.dev/assets/37798/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37798/v1/poster.webp","blurhash":"UAFrVJ,:005j-;?bIU9F00OZ}w,s%JxsaOIC","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":55448,"triangles":1296,"vertices":2746,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8200000151991844,0.00003781221382026523,-0.025000763335277298],"max":[0.800000011920929,1.539998465729853,0.07888460891298223]},"sizeMeters":[1.62,1.54,0.104],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:17.716Z","updatedAt":"2026-09-12T05:49:17.875Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37798/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GraffitiPanelAbstractTagCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37798/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37798/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37798/v1/model.glb\" alt=\"Graffiti Panel, Abstract Tag (Cyberpunk Apartment and Neon Block)\" 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/37798/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/37798/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37792","slug":"cyberpunk-apartment-and-neon-block-stair-core-fb4dc0e3","title":"Stair Core Flight and Landing (Cyberpunk Apartment and Neon Block)","summary":"One flight of the block stair: thirteen 180 mm risers on a 270 mm going against a 160 mm spine wall, each nosing carrying an amber strip, with a half landing at the head and a steel balustrade of round posts under a handrail that follows the pitch.","description":"One flight of the block stair: thirteen 180 mm risers on a 270 mm going against a 160 mm spine wall, each nosing carrying an amber strip, with a half landing at the head and a steel balustrade of round posts under a handrail that follows the pitch. Roughly 1.5 by 3.6 m on plan and 2.5 m tall, so two flights stack into a storey. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-stair-core-fb4dc0e3","cdnUrl":"https://cdn.3dassets.dev/assets/37792/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-stair-core-fb4dc0e3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37792/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37792/v1/poster.webp","blurhash":"UDD9#N~q4nt8IU4nIU%M00D%-:Rjae?H-;WC","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":94032,"triangles":2128,"vertices":4898,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8299368196608881,-0.00012435786698694606,-2.990000009536743],"max":[0.6849771945996488,3.5038229452845897,1.4500000476837158]},"sizeMeters":[1.515,3.504,4.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:15.663Z","updatedAt":"2026-09-12T05:49:15.765Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37792/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StairCoreFlightAndLandingCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37792/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37792/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37792/v1/model.glb\" alt=\"Stair Core Flight and Landing (Cyberpunk Apartment and Neon Block)\" 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/37792/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/37792/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37841","slug":"cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","title":"Balcony Cage with Drying Rail (Cyberpunk Apartment and Neon Block)","summary":"A 2.4 by 1.0 m caged balcony on two cantilever brackets: a grated steel deck, mesh infill to 1.36 m on three sides, a drying rail with five pegged garments, a planted tub and a crate. The origin is on the deck, which hangs below the cell floor it serves.","description":"A 2.4 by 1.0 m caged balcony on two cantilever brackets: a grated steel deck, mesh infill to 1.36 m on three sides, a drying rail with five pegged garments, a planted tub and a crate. The origin is on the deck, which hangs below the cell floor it serves. Static: washing is soft goods. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","cdnUrl":"https://cdn.3dassets.dev/assets/37841/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-balcony-cage-with-d-233d2623","thumbnailUrl":"https://cdn.3dassets.dev/assets/37841/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37841/v1/poster.webp","blurhash":"U59tP]t700%g_3_3jZD%00%M_4IUR%%3xuR%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":268680,"triangles":6270,"vertices":14033,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-1.2000000476837158,-0.00004046186193118473,-0.5000030717192838],"max":[1.2000000476837158,1.850040485703789,0.5000030717192838]},"sizeMeters":[2.4,1.85,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:40.429Z","updatedAt":"2026-09-12T05:49:40.551Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37841/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalconyCageWithDryingRailCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37841/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37841/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37841/v1/model.glb\" alt=\"Balcony Cage with Drying Rail (Cyberpunk Apartment and Neon Block)\" 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/37841/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/37841/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37842","slug":"cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","title":"Air Conditioning Condenser Box (Cyberpunk Apartment and Neon Block)","summary":"An 860 by 340 mm wall hung condenser 620 mm tall on two brackets: a louvred flank, a guarded discharge grille and a four blade fan behind it, a refrigerant pair and a condensate drip. The fan is its own node and spins; everything else is fixed plant.","description":"An 860 by 340 mm wall hung condenser 620 mm tall on two brackets: a louvred flank, a guarded discharge grille and a four blade fan behind it, a refrigerant pair and a condensate drip. The fan is its own node and spins; everything else is fixed plant. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Named pivoted nodes: fan. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","cdnUrl":"https://cdn.3dassets.dev/assets/37842/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-aircon-condenser-bo-b44b253e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37842/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37842/v1/poster.webp","blurhash":"UFCs%C_N9ERjxvxutRWB00MxkDRjM{aeayWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":102744,"triangles":2464,"vertices":5183,"meshes":5,"materials":4,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.4320000112056732,-0.0000016548229056501107,-0.4893853703122249],"max":[0.5099624991416931,0.6413669731342846,0.19275151489327924]},"sizeMeters":[0.942,0.641,0.682],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:39.806Z","updatedAt":"2026-09-12T05:49:39.899Z","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/37842/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 AirConditioningCondenserBoxCyberpunkApartmentAndNeonBlock(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37842/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/37842/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37842/v1/model.glb\" alt=\"Air Conditioning Condenser Box (Cyberpunk Apartment and Neon Block)\" 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/37842/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/37842/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37843","slug":"cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","title":"Offset Satellite Dish (Cyberpunk Apartment and Neon Block)","summary":"A 700 mm offset dish on an 800 mm pole and wall clamp, aimed up and to one side, with a feed arm, a horn and a downlead. About 1.3 m tall overall. Static: the dish is aimed once and left.","description":"A 700 mm offset dish on an 800 mm pole and wall clamp, aimed up and to one side, with a feed arm, a horn and a downlead. About 1.3 m tall overall. Static: the dish is aimed once and left. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","cdnUrl":"https://cdn.3dassets.dev/assets/37843/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-satellite-dish-55e036e2","thumbnailUrl":"https://cdn.3dassets.dev/assets/37843/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37843/v1/poster.webp","blurhash":"U355XxSe00xH_NkC8_V@D%s:%MNG4Tni.8S#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":30932,"triangles":684,"vertices":1444,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3586898148059845,0,-0.27267124652717023],"max":[0.3306857723880061,1.2788231100845109,0.4441085574491845]},"sizeMeters":[0.689,1.279,0.717],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:40.446Z","updatedAt":"2026-09-12T05:49:40.566Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37843/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OffsetSatelliteDishCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37843/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37843/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37843/v1/model.glb\" alt=\"Offset Satellite Dish (Cyberpunk Apartment and Neon Block)\" 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/37843/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/37843/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37838","slug":"cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","title":"Neon Sign Frame with Blank Face (Cyberpunk Apartment and Neon Block)","summary":"A 1.5 by 1.0 m steel box sign on a wall bracket: a lit face left deliberately blank, with a zigzag of cyan tube and an amber underline across it. The figure is an invented geometric arrangement, not a character, word or mark, so a developer puts their own sign on the blank field.","description":"A 1.5 by 1.0 m steel box sign on a wall bracket: a lit face left deliberately blank, with a zigzag of cyan tube and an amber underline across it. The figure is an invented geometric arrangement, not a character, word or mark, so a developer puts their own sign on the blank field. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","cdnUrl":"https://cdn.3dassets.dev/assets/37838/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-neon-sign-frame-ea334e2a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37838/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37838/v1/poster.webp","blurhash":"UGFY1M~X00IA%f-q$lE100EK~DtRijNxJ}ww","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":67800,"triangles":1536,"vertices":3326,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.75,-0.000030518509475996325,-0.45998855847767],"max":[0.75,1.000030518509476,0.20000000298023224]},"sizeMeters":[1.5,1,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:38.832Z","updatedAt":"2026-09-12T05:49:38.931Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37838/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonSignFrameWithBlankFaceCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37838/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37838/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37838/v1/model.glb\" alt=\"Neon Sign Frame with Blank Face (Cyberpunk Apartment and Neon Block)\" 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/37838/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/37838/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37839","slug":"cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","title":"Neon Sign Frame, Tall Blade (Cyberpunk Apartment and Neon Block)","summary":"The same sign as a 780 by 2300 mm blade for a facade corner, with a hook of cyan tube and a rectangle of amber above it. The face is blank and the figures are geometric.","description":"The same sign as a 780 by 2300 mm blade for a facade corner, with a hook of cyan tube and a rectangle of amber above it. The face is blank and the figures are geometric. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","cdnUrl":"https://cdn.3dassets.dev/assets/37839/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-neon-sign-frame-tal-6047d9cc","thumbnailUrl":"https://cdn.3dassets.dev/assets/37839/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37839/v1/poster.webp","blurhash":"U7BCcb?H0000t+ohVYNE0_NG}v-p,uocJPR.","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":63372,"triangles":1472,"vertices":3168,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.39002501709175186,0,-0.45994430879213327],"max":[0.39002501709175186,2.299999952316284,0.20000000298023224]},"sizeMeters":[0.78,2.3,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:38.160Z","updatedAt":"2026-09-12T05:49:38.263Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37839/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonSignFrameTallBladeCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37839/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37839/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37839/v1/model.glb\" alt=\"Neon Sign Frame, Tall Blade (Cyberpunk Apartment and Neon Block)\" 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/37839/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/37839/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37840","slug":"cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","title":"Paper Lantern Strip (Cyberpunk Apartment and Neon Block)","summary":"A 2.6 m run of six paper lanterns in three colourways, hung from a sagging cable between two 2.4 m posts with hoop ribs and drop wires. The lanterns carry no character, mark or motif of any kind. Static: a swinging lantern is soft goods on a cable.","description":"A 2.6 m run of six paper lanterns in three colourways, hung from a sagging cable between two 2.4 m posts with hoop ribs and drop wires. The lanterns carry no character, mark or motif of any kind. Static: a swinging lantern is soft goods on a cable. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","cdnUrl":"https://cdn.3dassets.dev/assets/37840/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-paper-lantern-strip-a42f9198","thumbnailUrl":"https://cdn.3dassets.dev/assets/37840/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37840/v1/poster.webp","blurhash":"UC9ZyM$%0dNb~V%2E1E2E0xa%MIo0KkC^lV]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":187484,"triangles":4996,"vertices":10297,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.3799999952316284,-0.00003279109686138426,-0.22647603540211053],"max":[1.3799999952316284,2.400032886464293,0.22647603540211053]},"sizeMeters":[2.76,2.4,0.453],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:39.362Z","updatedAt":"2026-09-12T05:49:39.458Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37840/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PaperLanternStripCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37840/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37840/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37840/v1/model.glb\" alt=\"Paper Lantern Strip (Cyberpunk Apartment and Neon Block)\" 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/37840/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/37840/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37847","slug":"cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","title":"Puddle Plate with Reflections (Cyberpunk Apartment and Neon Block)","summary":"A 1.9 by 1.3 m dished plate of standing water, 18 mm proud of the ground at its rim: a dark wet margin round a still dark face with three coloured reflection bars across it.","description":"A 1.9 by 1.3 m dished plate of standing water, 18 mm proud of the ground at its rim: a dark wet margin round a still dark face with three coloured reflection bars across it. The reflections are painted geometry in emissive materials rather than a real mirror, because a live reflection is a render feature and not something a GLB can carry. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","cdnUrl":"https://cdn.3dassets.dev/assets/37847/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-puddle-plate-a0e6077e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37847/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37847/v1/poster.webp","blurhash":"U86[RDs;DNaxt8s;WWRj00WB%%ayM_NEoKt8","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":23112,"triangles":480,"vertices":1066,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.000030457344630712216,-0.64995574000539],"max":[0.949999988079071,0.0200102087441404,0.64995574000539]},"sizeMeters":[1.9,0.02,1.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:43.405Z","updatedAt":"2026-09-12T05:49:43.505Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37847/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PuddlePlateWithReflectionsCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37847/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37847/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37847/v1/model.glb\" alt=\"Puddle Plate with Reflections (Cyberpunk Apartment and Neon Block)\" 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/37847/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/37847/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37844","slug":"cyberpunk-apartment-and-neon-block-rooftop-water-tank-06290dbf","title":"Rooftop Water Tank (Cyberpunk Apartment and Neon Block)","summary":"A 1.44 m diameter riveted tank on a braced four leg frame, 2.4 m tall overall: two banding rings, a conical roof with an access boss, a 100 mm down pipe with an amber valve and a ladder up the flank. Static plant.","description":"A 1.44 m diameter riveted tank on a braced four leg frame, 2.4 m tall overall: two banding rings, a conical roof with an access boss, a 100 mm down pipe with an amber valve and a ladder up the flank. Static plant. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-rooftop-water-tank-06290dbf","cdnUrl":"https://cdn.3dassets.dev/assets/37844/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-rooftop-water-tank-06290dbf","thumbnailUrl":"https://cdn.3dassets.dev/assets/37844/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37844/v1/poster.webp","blurhash":"U79j+Q-;009E?bofD%WB00M{_N%M4nWB-=oe","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":52824,"triangles":1244,"vertices":2602,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7319999933242798,0,-0.7319999933242798],"max":[0.7600000109523535,2.411820933264154,0.7319999933242798]},"sizeMeters":[1.492,2.412,1.464],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:41.076Z","updatedAt":"2026-09-12T05:49:41.282Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37844/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RooftopWaterTankCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37844/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37844/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37844/v1/model.glb\" alt=\"Rooftop Water Tank (Cyberpunk Apartment and Neon Block)\" 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/37844/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/37844/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37845","slug":"cyberpunk-apartment-and-neon-block-rooftop-antenna-mas-595b8b11","title":"Rooftop Antenna Mast (Cyberpunk Apartment and Neon Block)","summary":"A 3.3 m lattice mast on a concrete pad: three legs with spiral bracing, three panel antennas on stand off arms, an obstruction lamp under a whip and a feeder cable to the foot. Static, and the lamp is an emissive material rather than a light.","description":"A 3.3 m lattice mast on a concrete pad: three legs with spiral bracing, three panel antennas on stand off arms, an obstruction lamp under a whip and a feeder cable to the foot. Static, and the lamp is an emissive material rather than a light. Metre units, +Y up, the occupant side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/cyberpunk-apartment-and-neon-block-rooftop-antenna-mas-595b8b11","cdnUrl":"https://cdn.3dassets.dev/assets/37845/v1/model.glb","downloadUrl":"https://3dassets.dev/download/cyberpunk-apartment-and-neon-block-rooftop-antenna-mas-595b8b11","thumbnailUrl":"https://cdn.3dassets.dev/assets/37845/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37845/v1/poster.webp","blurhash":"U25r3.-;000000Rj_4%MMwRjx]xv4URk_3%1","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":55788,"triangles":1232,"vertices":2738,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3965122794573456,0.000010680236977610169,-0.3604790094545116],"max":[0.32791537046432495,4.260000228881836,0.30000001192092896]},"sizeMeters":[0.724,4.26,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:49:42.149Z","updatedAt":"2026-09-12T05:49:42.361Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37845/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RooftopAntennaMastCyberpunkApartmentAndNeonBlock(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37845/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37845/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37845/v1/model.glb\" alt=\"Rooftop Antenna Mast (Cyberpunk Apartment and Neon Block)\" 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/37845/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/37845/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}