{"data":{"id":"206","slug":"neon-dispatch","title":"Neon Dispatch: Night Courier Run","summary":"Walk a neon courier district at dusk: a marked lane with pods and scooters, locker banks, shopfronts and twin parcel hubs.","url":"https://3dassets.dev/demos/neon-dispatch","coverUrl":"https://cdn.3dassets.dev/media/neon-dispatch-demo.png","featured":false,"pack":{"slug":"neon-dispatch","title":"Neon Dispatch: Cyberpunk Courier District","url":"https://3dassets.dev/packs/neon-dispatch","summary":"A dense violet and cyan courier district with parcel infrastructure, street furniture and compact delivery vehicles.","assetCount":25,"totalBytes":1115236,"starterScene":{"slug":"neon-dispatch-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/189/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-starter-scene","fileSize":488884}},"placementCount":360,"assetCount":24,"spawn":{"position":[-20,0.1,0],"yaw":90},"publishedAt":"2026-09-23T14:50:18.120Z","updatedAt":"2026-09-23T14:50:18.120Z","description":"## What is placed\n\nA 46 m by 24 m courier district walked west to east along one marked lane. Eleven lane tiles carry the centre line, 132 pavement strips form the sidewalks, and twenty covered arcade frontages with forty four service alley walls enclose both sides of the street.\n\nThe east end closes on two stacked parcel hubs with roof vent fans. Three dispatch kiosks, eight locker banks with eight pickup terminals, six vending machines, six benches, ten neon shop signs, six route signposts, six power cabinets, six recycling stations, twelve cargo scooters on eight charging stands, eight delivery pods, twenty two bollards, four yard barriers, eight signal batons, eight completion tokens and six destination markers furnish the walk. That is every design in the 25 piece pack except the starter scene, about 330 placements of 24 models.\n\n## What moves\n\nNothing moves on arrival. The pack ships zero animation clips, so there are no ambient loops to set to always and no proximity triggers to place beside the path. Pods, scooters, fans and markers are static meshes posed as a moment between dispatches.\n\n## What does not move, and why\n\nThe ten street couriers are posed figures and are set to animate off, since a rest pose must read as a person waiting and not as a broken rig. The vent fans, pods and scooters stay static for the same reason the pack gives them no clips: a single rigid transform could spin a fan, but no clip ships to drive it.\n\n## What is not placed, and why\n\nThe starter scene is not placed. It is the library composed scene covering about 14 m by 17 m, and dropping it in whole would double the district as one sealed shell and hide the individual placements this demo exists to show.\n","scene":{"version":1,"spawn":{"position":[-20,0.1,0],"yaw":90},"bounds":{"min":[-23,0,-12],"max":[23,6,12]},"ground":{"size":60,"style":"none"},"environment":{"preset":"outdoor","sky":"#171233","horizon":"#a33fa0","floor":"#232030","light":"dusk","shadows":true},"placements":[{"asset":"neon-dispatch-marked-courier-lane","position":[-20,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[-16,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[-12,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[-8,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[-4,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[0,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[4,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[8,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[12,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[16,0,0],"rotation":0},{"asset":"neon-dispatch-marked-courier-lane","position":[20,0,0],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-21,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-19,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-17,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-15,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-13,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-11,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-9,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-7,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-5,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-3,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-1,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[1,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[3,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[5,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[7,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[9,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[11,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[13,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[15,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[17,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[19,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[21,0,3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-21,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-19,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-17,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-15,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-13,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-11,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-9,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-7,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-5,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-3,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-1,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[1,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[3,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[5,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[7,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[9,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[11,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[13,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[15,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[17,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[19,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[21,0,5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-21,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-19,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-17,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-15,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-13,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-11,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-9,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-7,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-5,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-3,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-1,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[1,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[3,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[5,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[7,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[9,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[11,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[13,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[15,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[17,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[19,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[21,0,7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-21,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-19,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-17,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-15,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-13,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-11,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-9,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-7,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-5,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-3,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-1,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[1,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[3,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[5,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[7,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[9,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[11,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[13,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[15,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[17,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[19,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[21,0,-3],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-21,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-19,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-17,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-15,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-13,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-11,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-9,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-7,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-5,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-3,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-1,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[1,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[3,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[5,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[7,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[9,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[11,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[13,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[15,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[17,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[19,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[21,0,-5],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-21,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-19,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-17,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-15,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-13,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-11,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-9,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-7,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-5,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-3,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[-1,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[1,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[3,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[5,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[7,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[9,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[11,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[13,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[15,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[17,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[19,0,-7],"rotation":0},{"asset":"neon-dispatch-raised-pavement-strip","position":[21,0,-7],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-18.9,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-18.9,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-14.7,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-14.7,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-10.5,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-10.5,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-6.3,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-6.3,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-2.1,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[-2.1,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[2.1,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[2.1,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[6.3,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[6.3,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[10.5,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[10.5,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[14.7,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[14.7,0,-8.4],"rotation":0},{"asset":"neon-dispatch-covered-arcade-frontage","position":[18.9,0,8.4],"rotation":180},{"asset":"neon-dispatch-covered-arcade-frontage","position":[18.9,0,-8.4],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-21,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-21,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-19,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-19,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-17,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-17,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-15,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-15,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-13,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-13,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-11,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-11,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-9,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-9,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-7,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-7,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-5,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-5,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-3,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-3,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-1,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[-1,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[1,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[1,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[3,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[3,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[5,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[5,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[7,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[7,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[9,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[9,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[11,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[11,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[13,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[13,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[15,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[15,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[17,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[17,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[19,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[19,0,-10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[21,0,10.6],"rotation":0},{"asset":"neon-dispatch-service-alley-wall","position":[21,0,-10.6],"rotation":0},{"asset":"neon-dispatch-stacked-parcel-hub","position":[18.5,0.19,-4.6],"rotation":0},{"asset":"neon-dispatch-stacked-parcel-hub","position":[18.5,0.19,4.6],"rotation":0},{"asset":"neon-dispatch-courier-dispatch-kiosk","position":[-17,0.19,4.2],"rotation":180},{"asset":"neon-dispatch-courier-dispatch-kiosk","position":[-5,0.19,-4.2],"rotation":0},{"asset":"neon-dispatch-courier-dispatch-kiosk","position":[9,0.19,4.2],"rotation":180},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-18,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-18,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-14,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-14,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-10,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-10,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-6,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-6,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-2,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[-2,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[2,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[2,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[6,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[6,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[10,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[10,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[14,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[14,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[18,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[18,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[22,0.1,2.3],"rotation":0},{"asset":"neon-dispatch-illuminated-security-bollard","position":[22,0.1,-2.3],"rotation":0},{"asset":"neon-dispatch-parcel-yard-barrier","position":[14,0.1,1.8],"rotation":90},{"asset":"neon-dispatch-parcel-yard-barrier","position":[14,0.1,-1.8],"rotation":90},{"asset":"neon-dispatch-parcel-yard-barrier","position":[-12,0.1,1.8],"rotation":90},{"asset":"neon-dispatch-parcel-yard-barrier","position":[-12,0.1,-1.8],"rotation":90},{"asset":"neon-dispatch-electric-cargo-scooter","position":[-19,0.19,3.4],"rotation":0},{"asset":"neon-dispatch-electric-cargo-scooter","position":[-15,0.19,5.6],"rotation":180},{"asset":"neon-dispatch-electric-cargo-scooter","position":[-11,0.19,3.4],"rotation":90},{"asset":"neon-dispatch-electric-cargo-scooter","position":[-7,0.19,5.6],"rotation":270},{"asset":"neon-dispatch-electric-cargo-scooter","position":[-3,0.19,3.4],"rotation":0},{"asset":"neon-dispatch-electric-cargo-scooter","position":[1,0.19,5.6],"rotation":180},{"asset":"neon-dispatch-electric-cargo-scooter","position":[5,0.19,-3.4],"rotation":90},{"asset":"neon-dispatch-electric-cargo-scooter","position":[9,0.19,-5.6],"rotation":270},{"asset":"neon-dispatch-electric-cargo-scooter","position":[13,0.19,-3.4],"rotation":0},{"asset":"neon-dispatch-electric-cargo-scooter","position":[17,0.19,-5.6],"rotation":180},{"asset":"neon-dispatch-electric-cargo-scooter","position":[-19,0.19,-3.4],"rotation":90},{"asset":"neon-dispatch-electric-cargo-scooter","position":[3,0.19,3.4],"rotation":270},{"asset":"neon-dispatch-scooter-charging-stand","position":[-18,0.19,3.4],"rotation":0},{"asset":"neon-dispatch-scooter-charging-stand","position":[-14,0.19,5.6],"rotation":180},{"asset":"neon-dispatch-scooter-charging-stand","position":[-6,0.19,5.6],"rotation":0},{"asset":"neon-dispatch-scooter-charging-stand","position":[-2,0.19,3.4],"rotation":180},{"asset":"neon-dispatch-scooter-charging-stand","position":[6,0.19,-3.4],"rotation":0},{"asset":"neon-dispatch-scooter-charging-stand","position":[10,0.19,-5.6],"rotation":180},{"asset":"neon-dispatch-scooter-charging-stand","position":[14,0.19,-3.4],"rotation":0},{"asset":"neon-dispatch-scooter-charging-stand","position":[16,0.19,-5.6],"rotation":90},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[-10,0.1,0.8],"rotation":90},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[-2,0.1,-0.8],"rotation":270},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[6,0.1,0.8],"rotation":90},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[12,0.1,-0.8],"rotation":270},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[-16,0.19,5.6],"rotation":180},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[-4,0.19,-5.6],"rotation":0},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[8,0.19,5.6],"rotation":180},{"asset":"neon-dispatch-autonomous-delivery-pod","position":[16,0.19,-5.6],"rotation":0},{"asset":"neon-dispatch-static-street-courier","position":[-17,0.19,3.2],"rotation":180,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[-13,0.19,0.8],"rotation":90,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[-5,0.19,-3.2],"rotation":0,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[-1,0.19,-0.8],"rotation":270,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[4,0.19,3.2],"rotation":180,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[9,0.19,3.2],"rotation":0,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[12,0.1,-0.8],"rotation":90,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[15,0.19,4.6],"rotation":180,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[18.5,0.1,0.5],"rotation":270,"animate":"off"},{"asset":"neon-dispatch-static-street-courier","position":[-19,0.19,-4.6],"rotation":0,"animate":"off"},{"asset":"neon-dispatch-street-vending-machine","position":[-16.8,0.19,7.3],"rotation":180},{"asset":"neon-dispatch-street-vending-machine","position":[-8.4,0.19,7.3],"rotation":180},{"asset":"neon-dispatch-street-vending-machine","position":[0,0.19,7.3],"rotation":180},{"asset":"neon-dispatch-street-vending-machine","position":[12.6,0.19,-7.3],"rotation":0},{"asset":"neon-dispatch-street-vending-machine","position":[4.2,0.19,-7.3],"rotation":0},{"asset":"neon-dispatch-street-vending-machine","position":[-12.6,0.19,-7.3],"rotation":0},{"asset":"neon-dispatch-public-parcel-lockers","position":[-19,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-public-parcel-lockers","position":[-11,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-public-parcel-lockers","position":[-1,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-public-parcel-lockers","position":[7,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-public-parcel-lockers","position":[-15,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-public-parcel-lockers","position":[-7,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-public-parcel-lockers","position":[3,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-public-parcel-lockers","position":[11,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[-17.8,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[-9.8,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[0.2,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[8.2,0.19,6.2],"rotation":180},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[-13.8,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[-3.8,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[4.2,0.19,-6.2],"rotation":0},{"asset":"neon-dispatch-parcel-pickup-terminal","position":[-5,0.19,-3.1],"rotation":0},{"asset":"neon-dispatch-cantilever-transit-bench","position":[-13,0.19,4.1],"rotation":0},{"asset":"neon-dispatch-cantilever-transit-bench","position":[-3,0.19,4.1],"rotation":0},{"asset":"neon-dispatch-cantilever-transit-bench","position":[7,0.19,4.1],"rotation":0},{"asset":"neon-dispatch-cantilever-transit-bench","position":[-9,0.19,-4.1],"rotation":180},{"asset":"neon-dispatch-cantilever-transit-bench","position":[1,0.19,-4.1],"rotation":180},{"asset":"neon-dispatch-cantilever-transit-bench","position":[11,0.19,-4.1],"rotation":180},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[-18.9,0.19,6.8],"rotation":180},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[-10.5,0.19,6.8],"rotation":180},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[-2.1,0.19,6.8],"rotation":180},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[6.3,0.19,6.8],"rotation":180},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[14.7,0.19,6.8],"rotation":180},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[-14.7,0.19,-6.8],"rotation":0},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[-6.3,0.19,-6.8],"rotation":0},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[2.1,0.19,-6.8],"rotation":0},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[10.5,0.19,-6.8],"rotation":0},{"asset":"neon-dispatch-neon-parcel-shop-sign","position":[18.9,0.19,-6.8],"rotation":0},{"asset":"neon-dispatch-courier-route-signpost","position":[-12,0.19,2.8],"rotation":0},{"asset":"neon-dispatch-courier-route-signpost","position":[-12,0.19,-2.8],"rotation":180},{"asset":"neon-dispatch-courier-route-signpost","position":[0,0.19,2.8],"rotation":90},{"asset":"neon-dispatch-courier-route-signpost","position":[0,0.19,-2.8],"rotation":270},{"asset":"neon-dispatch-courier-route-signpost","position":[14,0.19,2.8],"rotation":0},{"asset":"neon-dispatch-courier-route-signpost","position":[14,0.19,-2.8],"rotation":180},{"asset":"neon-dispatch-district-power-cabinet","position":[-20,0,9.6],"rotation":180},{"asset":"neon-dispatch-district-power-cabinet","position":[-8,0,9.6],"rotation":180},{"asset":"neon-dispatch-district-power-cabinet","position":[4,0,9.6],"rotation":180},{"asset":"neon-dispatch-district-power-cabinet","position":[-14,0,-9.6],"rotation":0},{"asset":"neon-dispatch-district-power-cabinet","position":[-2,0,-9.6],"rotation":0},{"asset":"neon-dispatch-district-power-cabinet","position":[10,0,-9.6],"rotation":0},{"asset":"neon-dispatch-street-recycling-station","position":[-18,0.19,6.9],"rotation":180},{"asset":"neon-dispatch-street-recycling-station","position":[-6,0.19,6.9],"rotation":180},{"asset":"neon-dispatch-street-recycling-station","position":[10,0.19,6.9],"rotation":180},{"asset":"neon-dispatch-street-recycling-station","position":[-12,0.19,-6.9],"rotation":0},{"asset":"neon-dispatch-street-recycling-station","position":[0,0.19,-6.9],"rotation":0},{"asset":"neon-dispatch-street-recycling-station","position":[14,0.19,-6.9],"rotation":0},{"asset":"neon-dispatch-rooftop-ventilation-fan","position":[17.6,4.88,-4.6],"rotation":0},{"asset":"neon-dispatch-rooftop-ventilation-fan","position":[19.4,4.88,-4.6],"rotation":45},{"asset":"neon-dispatch-rooftop-ventilation-fan","position":[17.6,4.88,4.6],"rotation":90},{"asset":"neon-dispatch-rooftop-ventilation-fan","position":[19.4,4.88,4.6],"rotation":135},{"asset":"neon-dispatch-rooftop-ventilation-fan","position":[-17,3.8,4.2],"rotation":0},{"asset":"neon-dispatch-rooftop-ventilation-fan","position":[-5,3.8,-4.2],"rotation":90},{"asset":"neon-dispatch-courier-signal-baton","position":[-13,1.12,4.1],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[-3,1.12,4.1],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[7,1.12,4.1],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[-9,1.12,-4.1],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[1,1.12,-4.1],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[-20,1.35,9.6],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[-2,1.35,-9.6],"rotation":0},{"asset":"neon-dispatch-courier-signal-baton","position":[-5,1.75,-3.1],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[-19,2.14,6.2],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[-1,2.14,6.2],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[-15,2.14,-6.2],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[3,2.14,-6.2],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[-13,0.19,4.5],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[5,0.19,-4.5],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[-6,0.1,1.2],"rotation":0},{"asset":"neon-dispatch-delivery-completion-token","position":[10,0.1,-1.2],"rotation":0},{"asset":"neon-dispatch-static-pickup-destination-marker","position":[-16,0.1,0],"rotation":0},{"asset":"neon-dispatch-static-pickup-destination-marker","position":[-8,0.1,0],"rotation":0},{"asset":"neon-dispatch-static-pickup-destination-marker","position":[0,0.1,0],"rotation":0},{"asset":"neon-dispatch-static-pickup-destination-marker","position":[8,0.1,0],"rotation":0},{"asset":"neon-dispatch-static-pickup-destination-marker","position":[16,0.1,0],"rotation":0},{"asset":"neon-dispatch-static-pickup-destination-marker","position":[4,0.1,0],"rotation":0}],"points":[{"position":[-17,0.1,2.5],"title":"Dispatch kiosk","text":"Sign in for a shift at the west kiosk, then follow the marked lane east through the district.","asset":"neon-dispatch-courier-dispatch-kiosk"},{"position":[-14,0.19,4.4],"title":"Scooters on charge","text":"Cargo scooters wait nose to the kerb beside their charging stands, ready for the evening round.","asset":"neon-dispatch-electric-cargo-scooter"},{"position":[-9.8,0.19,5.2],"title":"Locker bank","text":"Public lockers and a pickup terminal handle the self serve queue while couriers work the lane.","asset":"neon-dispatch-public-parcel-lockers"},{"position":[-2.1,0.19,6.4],"title":"Arcade frontage","text":"Covered shopfronts with neon parcel signs shelter the pavement shops on both sides of the street.","asset":"neon-dispatch-covered-arcade-frontage"},{"position":[6,0.1,0.8],"title":"Pods on the lane","text":"Autonomous pods roll the centre line between the bollards while scooters pass on the marked lanes.","asset":"neon-dispatch-autonomous-delivery-pod"},{"position":[11,0.19,-5.2],"title":"Benches and terminals","text":"Transit benches, recycling points and pickup terminals line the south pavement for waiting customers.","asset":"neon-dispatch-parcel-pickup-terminal"},{"position":[16,0.19,0],"title":"Parcel hubs","text":"Two stacked parcel hubs close the east end, with vent fans on the roofs and barriers metering the yard.","asset":"neon-dispatch-stacked-parcel-hub"},{"position":[14,0.19,-2.8],"title":"Signed and sorted","text":"Route signposts, floor markers and signal batons mark each handoff from hub door to street.","asset":"neon-dispatch-courier-route-signpost"}],"poster":{"position":[-19,1.7,0],"lookAt":[0,1.5,0]}},"bounds":{"min":[-23,0,-12],"max":[23,6,12]},"assets":[{"id":"169","slug":"neon-dispatch-marked-courier-lane","title":"Neon Dispatch: Marked courier lane","summary":"Four-metre lane tile with cyan edge guides, a central parcel-route marking and side drainage strips.","description":"Four-metre lane tile with cyan edge guides, a central parcel-route marking and side drainage strips.\n\nPart of Neon Dispatch. Dimensions: 4 × 0.1 × 4 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Use 2 m placement increments for modular layout. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-marked-courier-lane","cdnUrl":"https://cdn.3dassets.dev/assets/169/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-marked-courier-lane","thumbnailUrl":"https://cdn.3dassets.dev/assets/169/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/169/v1/poster.webp","blurhash":"U14.JJ%O00R.xwt8WBR*00M^?djqI8M^k8xs","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17376,"triangles":312,"vertices":936,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2,-0.00004028532657798789,-2],"max":[2,0.09990997034349768,2]},"sizeMeters":[4,0.1,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":15,"publishedAt":"2026-09-06T03:16:52.399Z","updatedAt":"2026-10-25T14:18:56.762Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/169/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchMarkedCourierLane(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/169/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/169/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/169/v1/model.glb\" alt=\"Neon Dispatch: Marked courier lane\" 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/169/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/169/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"170","slug":"neon-dispatch-raised-pavement-strip","title":"Neon Dispatch: Raised pavement strip","summary":"Two-metre sidewalk tile with kerb stones, staggered paving joints and a tactile crossing edge.","description":"Two-metre sidewalk tile with kerb stones, staggered paving joints and a tactile crossing edge.\n\nPart of Neon Dispatch. Dimensions: 2 × 0.19 × 2 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Use 2 m placement increments for modular layout. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-raised-pavement-strip","cdnUrl":"https://cdn.3dassets.dev/assets/170/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-raised-pavement-strip","thumbnailUrl":"https://cdn.3dassets.dev/assets/170/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/170/v1/poster.webp","blurhash":"U49%|_?b00IU.8RjROt700D%_4oe8_%2ofIU","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19896,"triangles":360,"vertices":1080,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00004150338474800952,-1],"max":[1,0.19001510368195837,1]},"sizeMeters":[2,0.19,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:16:54.185Z","updatedAt":"2026-10-25T13:59:02.848Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/170/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchRaisedPavementStrip(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/170/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/170/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/170/v1/model.glb\" alt=\"Neon Dispatch: Raised pavement strip\" 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/170/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/170/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"167","slug":"neon-dispatch-covered-arcade-frontage","title":"Neon Dispatch: Covered arcade frontage","summary":"Four-metre open shopfront frame with two columns, a cantilever canopy and inset luminous sign channels.","description":"Four-metre open shopfront frame with two columns, a cantilever canopy and inset luminous sign channels.\n\nPart of Neon Dispatch. Dimensions: 4.1 × 3.2 × 1.5 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Use 2 m placement increments for modular layout. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-covered-arcade-frontage","cdnUrl":"https://cdn.3dassets.dev/assets/167/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-covered-arcade-frontage","thumbnailUrl":"https://cdn.3dassets.dev/assets/167/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/167/v1/poster.webp","blurhash":"UH9@SKk8D$RQ?wxvD$RiRixukBRiITtRx]M_","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":12764,"triangles":204,"vertices":612,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.049999952316284,-0.00009063430132527639,-0.2750266972985743],"max":[2.049999952316284,3.2000854756683905,1.2300839300733841]},"sizeMeters":[4.1,3.2,1.505],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:16:49.065Z","updatedAt":"2026-10-25T12:58:43.635Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/167/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchCoveredArcadeFrontage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/167/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/167/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/167/v1/model.glb\" alt=\"Neon Dispatch: Covered arcade frontage\" 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/167/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/167/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"168","slug":"neon-dispatch-service-alley-wall","title":"Neon Dispatch: Service alley wall","summary":"Two-metre wall module with a recessed maintenance panel, exposed conduit and striped ventilation duct.","description":"Two-metre wall module with a recessed maintenance panel, exposed conduit and striped ventilation duct.\n\nPart of Neon Dispatch. Dimensions: 2 × 2.8 × 0.42 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Use 2 m placement increments for modular layout. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-service-alley-wall","cdnUrl":"https://cdn.3dassets.dev/assets/168/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-service-alley-wall","thumbnailUrl":"https://cdn.3dassets.dev/assets/168/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/168/v1/poster.webp","blurhash":"U197bZ?s00MM^-?K9W0J00M#~Xx--r%PImDz","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":45580,"triangles":884,"vertices":2652,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0000427088826402,0,-0.12497142346922441],"max":[1.0000427088826402,2.799999952316284,0.29001464367082924]},"sizeMeters":[2,2.8,0.415],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:16:50.789Z","updatedAt":"2026-10-25T11:25:29.276Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/168/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchServiceAlleyWall(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/168/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/168/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/168/v1/model.glb\" alt=\"Neon Dispatch: Service alley wall\" 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/168/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/168/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"166","slug":"neon-dispatch-stacked-parcel-hub","title":"Neon Dispatch: Stacked parcel hub","summary":"Four-metre parcel depot with layered roof machinery, shuttered loading bay and a pedestrian entrance.","description":"Four-metre parcel depot with layered roof machinery, shuttered loading bay and a pedestrian entrance.\n\nPart of Neon Dispatch. Dimensions: 4.15 × 4.5 × 4.25 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-stacked-parcel-hub","cdnUrl":"https://cdn.3dassets.dev/assets/166/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-stacked-parcel-hub","thumbnailUrl":"https://cdn.3dassets.dev/assets/166/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/166/v1/poster.webp","blurhash":"UMEU.t=~D%#Y}^a#EKjY5NJ4NFR~5jayxGo3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":20596,"triangles":352,"vertices":1056,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-2.0750843679864555,0,-2.075000047683716],"max":[2.0750843679864555,4.5,2.1700000762939453]},"sizeMeters":[4.15,4.5,4.245],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":13,"publishedAt":"2026-09-06T03:16:47.277Z","updatedAt":"2026-10-25T14:26:22.467Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/166/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStackedParcelHub(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/166/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/166/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/166/v1/model.glb\" alt=\"Neon Dispatch: Stacked parcel hub\" 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/166/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/166/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"165","slug":"neon-dispatch-courier-dispatch-kiosk","title":"Neon Dispatch: Courier dispatch kiosk","summary":"Compact dispatch booth with a projecting canopy, service window, parcel hatch and illuminated header.","description":"Compact dispatch booth with a projecting canopy, service window, parcel hatch and illuminated header.\n\nPart of Neon Dispatch. Dimensions: 3.3 × 3.42 × 2.87 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-courier-dispatch-kiosk","cdnUrl":"https://cdn.3dassets.dev/assets/165/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-courier-dispatch-kiosk","thumbnailUrl":"https://cdn.3dassets.dev/assets/165/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/165/v1/poster.webp","blurhash":"U7ATKR=~00Vr~Ew~ITou00IV-qxu0dJOxuV@","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":14796,"triangles":232,"vertices":696,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-1.649999976158142,0.00006173479002957727,-1.199938980861532],"max":[1.649999976158142,3.420006480412564,1.6699978311806185]},"sizeMeters":[3.3,3.42,2.87],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":10,"publishedAt":"2026-09-06T03:16:45.605Z","updatedAt":"2026-10-25T12:05:50.358Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/165/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchCourierDispatchKiosk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/165/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/165/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/165/v1/model.glb\" alt=\"Neon Dispatch: Courier dispatch kiosk\" 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/165/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/165/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"171","slug":"neon-dispatch-illuminated-security-bollard","title":"Neon Dispatch: Illuminated security bollard","summary":"Heavy street bollard with stepped base, inset cyan light band and removable-style cap.","description":"Heavy street bollard with stepped base, inset cyan light band and removable-style cap.\n\nPart of Neon Dispatch. Dimensions: 0.48 × 0.97 × 0.48 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-illuminated-security-bollard","cdnUrl":"https://cdn.3dassets.dev/assets/171/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-illuminated-security-bollard","thumbnailUrl":"https://cdn.3dassets.dev/assets/171/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/171/v1/poster.webp","blurhash":"U97x5qxu00IS_Nof8_RjRhWUohs;eUaybuj[","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":16992,"triangles":288,"vertices":864,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.23999999463558197,-0.000009155552638154263,-0.23999999463558197],"max":[0.23999999463558197,0.9700000286102295,0.23999999463558197]},"sizeMeters":[0.48,0.97,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:16:55.737Z","updatedAt":"2026-10-25T13:39:03.999Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/171/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchIlluminatedSecurityBollard(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/171/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/171/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/171/v1/model.glb\" alt=\"Neon Dispatch: Illuminated security bollard\" 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/171/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/171/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"172","slug":"neon-dispatch-parcel-yard-barrier","title":"Neon Dispatch: Parcel yard barrier","summary":"Two-metre raised access barrier with a control pedestal, luminous arm and mechanical hinge cover.","description":"Two-metre raised access barrier with a control pedestal, luminous arm and mechanical hinge cover.\n\nPart of Neon Dispatch. Dimensions: 1.98 × 1.19 × 0.52 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-parcel-yard-barrier","cdnUrl":"https://cdn.3dassets.dev/assets/172/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-parcel-yard-barrier","thumbnailUrl":"https://cdn.3dassets.dev/assets/172/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/172/v1/poster.webp","blurhash":"UFAl|tks9t$*~EtSELaf4-$ks;E10cxH-qIo","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":16608,"triangles":276,"vertices":828,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00001006574370904234,-0.25],"max":[0.9750000238418579,1.190000057220459,0.27000002190470695]},"sizeMeters":[1.975,1.19,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":13,"publishedAt":"2026-09-06T03:16:57.619Z","updatedAt":"2026-10-25T12:22:44.833Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/172/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchParcelYardBarrier(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/172/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/172/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/172/v1/model.glb\" alt=\"Neon Dispatch: Parcel yard barrier\" 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/172/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/172/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"173","slug":"neon-dispatch-electric-cargo-scooter","title":"Neon Dispatch: Electric cargo scooter","summary":"Two-wheel courier scooter with front fairing, rear parcel box, kickstand and a narrow turning profile.","description":"Two-wheel courier scooter with front fairing, rear parcel box, kickstand and a narrow turning profile.\n\nPart of Neon Dispatch. Dimensions: 0.66 × 1.3 × 1.98 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-electric-cargo-scooter","cdnUrl":"https://cdn.3dassets.dev/assets/173/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-electric-cargo-scooter","thumbnailUrl":"https://cdn.3dassets.dev/assets/173/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/173/v1/poster.webp","blurhash":"UBAcMpoH9Xba~E9rIn^l9X0xoN^lwH$,W=I.","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":32124,"triangles":596,"vertices":1788,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.33709660704862804,-0.000002593275908902015,-0.9900000095367432],"max":[0.32004974825350874,1.3032549738402892,0.9900000095367432]},"sizeMeters":[0.657,1.303,1.98],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:16:59.232Z","updatedAt":"2026-10-25T15:27:26.374Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/173/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchElectricCargoScooter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/173/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/173/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/173/v1/model.glb\" alt=\"Neon Dispatch: Electric cargo scooter\" 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/173/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/173/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"188","slug":"neon-dispatch-scooter-charging-stand","title":"Neon Dispatch: Scooter charging stand","summary":"Two-bay charging rail with a payment head, luminous socket markers and short cable loops.","description":"Two-bay charging rail with a payment head, luminous socket markers and short cable loops.\n\nPart of Neon Dispatch. Dimensions: 1.44 × 1.19 × 0.52 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-scooter-charging-stand","cdnUrl":"https://cdn.3dassets.dev/assets/188/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-scooter-charging-stand","thumbnailUrl":"https://cdn.3dassets.dev/assets/188/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/188/v1/poster.webp","blurhash":"UC7-mNt89Da_?dxuImM_M{t8t6M_ITs=t8Rh","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":45956,"triangles":884,"vertices":2652,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.7436406016349792,-0.000007444939738698864,-0.24999557972812936],"max":[0.699999988079071,1.1899743827011717,0.27198452923222816]},"sizeMeters":[1.444,1.19,0.522],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:17:27.529Z","updatedAt":"2026-10-25T09:40:15.587Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/188/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchScooterChargingStand(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/188/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/188/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/188/v1/model.glb\" alt=\"Neon Dispatch: Scooter charging stand\" 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/188/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/188/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"174","slug":"neon-dispatch-autonomous-delivery-pod","title":"Neon Dispatch: Autonomous delivery pod","summary":"Small four-wheel parcel robot with a rounded-style cargo shell, front sensor band and status mast.","description":"Small four-wheel parcel robot with a rounded-style cargo shell, front sensor band and status mast.\n\nPart of Neon Dispatch. Dimensions: 1.15 × 1.68 × 1.32 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-autonomous-delivery-pod","cdnUrl":"https://cdn.3dassets.dev/assets/174/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-autonomous-delivery-pod","thumbnailUrl":"https://cdn.3dassets.dev/assets/174/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/174/v1/poster.webp","blurhash":"U57dtlt800t4xsIoV[-q00In?dxues%3W.E0","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":56856,"triangles":1084,"vertices":3252,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.5749894178511086,-0.00003077575880805483,-0.625],"max":[0.5749894178511086,1.675000011920929,0.69497879359703]},"sizeMeters":[1.15,1.675,1.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":14,"publishedAt":"2026-09-06T03:17:00.956Z","updatedAt":"2026-10-06T08:51:33.383Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/174/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchAutonomousDeliveryPod(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/174/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/174/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/174/v1/model.glb\" alt=\"Neon Dispatch: Autonomous delivery pod\" 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/174/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/174/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"175","slug":"neon-dispatch-static-street-courier","title":"Neon Dispatch: Static street courier","summary":"Standing courier with a visor, delivery backpack, utility belt and reinforced street boots.","description":"Standing courier with a visor, delivery backpack, utility belt and reinforced street boots.\n\nPart of Neon Dispatch. Dimensions: 0.88 × 1.78 × 0.66 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-static-street-courier","cdnUrl":"https://cdn.3dassets.dev/assets/175/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-static-street-courier","thumbnailUrl":"https://cdn.3dassets.dev/assets/175/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/175/v1/poster.webp","blurhash":"U68N6Ibw00rV^8WBA9s:00nh^-Os5Os;=#I.","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":38196,"triangles":708,"vertices":2124,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.4399999976158142,0,-0.4510049725701572],"max":[0.4399999976158142,1.7799999713897705,0.20500693933413952]},"sizeMeters":[0.88,1.78,0.656],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:17:02.577Z","updatedAt":"2026-10-25T16:08:44.088Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/175/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStaticStreetCourier(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/175/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/175/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/175/v1/model.glb\" alt=\"Neon Dispatch: Static street courier\" 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/175/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/175/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"176","slug":"neon-dispatch-street-vending-machine","title":"Neon Dispatch: Street vending machine","summary":"Tall vending unit with a glazed product rack, payment terminal, lower delivery slot and vented base.","description":"Tall vending unit with a glazed product rack, payment terminal, lower delivery slot and vented base.\n\nPart of Neon Dispatch. Dimensions: 0.95 × 1.95 × 0.79 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-street-vending-machine","cdnUrl":"https://cdn.3dassets.dev/assets/176/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-street-vending-machine","thumbnailUrl":"https://cdn.3dassets.dev/assets/176/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/176/v1/poster.webp","blurhash":"U98|;r%400D$?dogD$RiD~NFog%2xvbERhoN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":28380,"triangles":528,"vertices":1584,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.4749999940395355,0.0000030487138227286437,-0.34998886027361803],"max":[0.4749999940395355,1.9500000476837158,0.44501541123768706]},"sizeMeters":[0.95,1.95,0.795],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":15,"publishedAt":"2026-09-06T03:17:05.497Z","updatedAt":"2026-10-25T15:47:37.787Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/176/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStreetVendingMachine(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/176/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/176/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/176/v1/model.glb\" alt=\"Neon Dispatch: Street vending machine\" 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/176/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/176/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"177","slug":"neon-dispatch-public-parcel-lockers","title":"Neon Dispatch: Public parcel lockers","summary":"Six parcel compartments in a shared frame with individual handles and a central pickup display.","description":"Six parcel compartments in a shared frame with individual handles and a central pickup display.\n\nPart of Neon Dispatch. Dimensions: 1.85 × 1.95 × 0.68 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-public-parcel-lockers","cdnUrl":"https://cdn.3dassets.dev/assets/177/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-public-parcel-lockers","thumbnailUrl":"https://cdn.3dassets.dev/assets/177/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/177/v1/poster.webp","blurhash":"UA9%-%%D00RO_4xwITM_I8a+t3a_xvt7RjRi","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":14716,"triangles":264,"vertices":792,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.9250000230967999,-0.000017408438116262026,-0.31003368678672],"max":[0.9250000230967999,1.9500000476837158,0.3724982389429249]},"sizeMeters":[1.85,1.95,0.683],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:17:07.875Z","updatedAt":"2026-10-25T15:39:44.001Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/177/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchPublicParcelLockers(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/177/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/177/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/177/v1/model.glb\" alt=\"Neon Dispatch: Public parcel lockers\" 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/177/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/177/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"184","slug":"neon-dispatch-parcel-pickup-terminal","title":"Neon Dispatch: Parcel pickup terminal","summary":"Slim public terminal with a hooded screen, keypad, contactless pad and floor fixing plate.","description":"Slim public terminal with a hooded screen, keypad, contactless pad and floor fixing plate.\n\nPart of Neon Dispatch. Dimensions: 0.67 × 1.56 × 0.55 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-parcel-pickup-terminal","cdnUrl":"https://cdn.3dassets.dev/assets/184/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-parcel-pickup-terminal","thumbnailUrl":"https://cdn.3dassets.dev/assets/184/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/184/v1/poster.webp","blurhash":"UE96|Axc0JIm}]s;5PNZ,[s:J7Na-Ds;I-NF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":42588,"triangles":816,"vertices":2448,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.33500000834465027,0,-0.249984196405166],"max":[0.33500000834465027,1.5600059281394674,0.29498275549377506]},"sizeMeters":[0.67,1.56,0.545],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:17:20.171Z","updatedAt":"2026-10-25T16:48:31.033Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/184/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchParcelPickupTerminal(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/184/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/184/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/184/v1/model.glb\" alt=\"Neon Dispatch: Parcel pickup terminal\" 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/184/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/184/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"178","slug":"neon-dispatch-cantilever-transit-bench","title":"Neon Dispatch: Cantilever transit bench","summary":"Three-seat street bench with folded metal legs, segmented cushions and a slim illuminated back rail.","description":"Three-seat street bench with folded metal legs, segmented cushions and a slim illuminated back rail.\n\nPart of Neon Dispatch. Dimensions: 1.9 × 0.93 × 0.6 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-cantilever-transit-bench","cdnUrl":"https://cdn.3dassets.dev/assets/178/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-cantilever-transit-bench","thumbnailUrl":"https://cdn.3dassets.dev/assets/178/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/178/v1/poster.webp","blurhash":"UIC6J@Nu9Yt7~ExvInNF4,-WbIIn54rrxbNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":10328,"triangles":144,"vertices":432,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.00000877335083696723,-0.29997267645082853],"max":[0.949999988079071,0.9299540673851127,0.29997267645082853]},"sizeMeters":[1.9,0.93,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:17:09.652Z","updatedAt":"2026-10-25T16:34:11.259Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/178/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchCantileverTransitBench(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/178/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/178/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/178/v1/model.glb\" alt=\"Neon Dispatch: Cantilever transit bench\" 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/178/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/178/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"179","slug":"neon-dispatch-neon-parcel-shop-sign","title":"Neon Dispatch: Neon parcel shop sign","summary":"Freestanding luminous parcel emblem with a geometric box outline, split chevrons and weighted sign stand.","description":"Freestanding luminous parcel emblem with a geometric box outline, split chevrons and weighted sign stand.\n\nPart of Neon Dispatch. Dimensions: 1.2 × 2 × 0.45 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-neon-parcel-shop-sign","cdnUrl":"https://cdn.3dassets.dev/assets/179/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-neon-parcel-shop-sign","thumbnailUrl":"https://cdn.3dassets.dev/assets/179/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/179/v1/poster.webp","blurhash":"UD7Ue$tR00Mx?wt7DhMxRiogtRRPD$az%gj?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":11016,"triangles":180,"vertices":540,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,0,-0.2249824552095511],"max":[0.6000000238418579,1.999977140919306,0.2249824552095511]},"sizeMeters":[1.2,2,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":13,"publishedAt":"2026-09-06T03:17:11.528Z","updatedAt":"2026-10-25T11:30:11.275Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/179/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchNeonParcelShopSign(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/179/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/179/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/179/v1/model.glb\" alt=\"Neon Dispatch: Neon parcel shop sign\" 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/179/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/179/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"180","slug":"neon-dispatch-courier-route-signpost","title":"Neon Dispatch: Courier route signpost","summary":"Two-way route marker with cantilever direction panels, edge lights and a protective street base.","description":"Two-way route marker with cantilever direction panels, edge lights and a protective street base.\n\nPart of Neon Dispatch. Dimensions: 1.65 × 2.7 × 0.42 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-courier-route-signpost","cdnUrl":"https://cdn.3dassets.dev/assets/180/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-courier-route-signpost","thumbnailUrl":"https://cdn.3dassets.dev/assets/180/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/180/v1/poster.webp","blurhash":"U771A@-C005P~ExH54ExIpa#xaob0wN]=}#-","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":18064,"triangles":304,"vertices":912,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.7300000190734863,0,-0.20999999344348907],"max":[0.9200000166893005,2.700000047683716,0.20999999344348907]},"sizeMeters":[1.65,2.7,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:17:13.218Z","updatedAt":"2026-10-25T14:24:03.428Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/180/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchCourierRouteSignpost(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/180/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/180/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/180/v1/model.glb\" alt=\"Neon Dispatch: Courier route signpost\" 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/180/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/180/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"181","slug":"neon-dispatch-district-power-cabinet","title":"Neon Dispatch: District power cabinet","summary":"Street utility enclosure with a side cable stack, louvred panel, hazard stripe and locked service handle.","description":"Street utility enclosure with a side cable stack, louvred panel, hazard stripe and locked service handle.\n\nPart of Neon Dispatch. Dimensions: 1.03 × 1.35 × 0.66 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-district-power-cabinet","cdnUrl":"https://cdn.3dassets.dev/assets/181/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-district-power-cabinet","thumbnailUrl":"https://cdn.3dassets.dev/assets/181/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/181/v1/poster.webp","blurhash":"UB8qKo%N00D$^-xbD$InM{bIjboIXSR+i{xG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":14696,"triangles":240,"vertices":720,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.4250245742361354,0,-0.299989039286465],"max":[0.6050007552646116,1.350000023841858,0.36249977334636674]},"sizeMeters":[1.03,1.35,0.662],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":10,"publishedAt":"2026-09-06T03:17:14.772Z","updatedAt":"2026-10-25T15:05:38.010Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/181/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchDistrictPowerCabinet(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/181/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/181/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/181/v1/model.glb\" alt=\"Neon Dispatch: District power cabinet\" 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/181/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/181/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"183","slug":"neon-dispatch-street-recycling-station","title":"Neon Dispatch: Street recycling station","summary":"Paired recycling bins in a bolted rack with separate deposit openings and removable-style lower drawers.","description":"Paired recycling bins in a bolted rack with separate deposit openings and removable-style lower drawers.\n\nPart of Neon Dispatch. Dimensions: 1.3 × 1.08 × 0.64 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-street-recycling-station","cdnUrl":"https://cdn.3dassets.dev/assets/183/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-street-recycling-station","thumbnailUrl":"https://cdn.3dassets.dev/assets/183/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/183/v1/poster.webp","blurhash":"UFDu$9BV00;-?w%3MxIo0]-Br;EJslkoRiR5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":40888,"triangles":804,"vertices":2412,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,-0.00002607498475415415,-0.29997103914623496],"max":[0.6499999761581421,1.0800286715501035,0.3424710284173989]},"sizeMeters":[1.3,1.08,0.642],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:17:18.448Z","updatedAt":"2026-10-25T15:56:27.736Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/183/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStreetRecyclingStation(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/183/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/183/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/183/v1/model.glb\" alt=\"Neon Dispatch: Street recycling station\" 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/183/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/183/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"182","slug":"neon-dispatch-rooftop-ventilation-fan","title":"Neon Dispatch: Rooftop ventilation fan","summary":"Low rooftop extractor with a cylindrical guard, eight radial grille ribs and a raised service housing.","description":"Low rooftop extractor with a cylindrical guard, eight radial grille ribs and a raised service housing.\n\nPart of Neon Dispatch. Dimensions: 1 × 0.54 × 1.03 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-rooftop-ventilation-fan","cdnUrl":"https://cdn.3dassets.dev/assets/182/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-rooftop-ventilation-fan","thumbnailUrl":"https://cdn.3dassets.dev/assets/182/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/182/v1/poster.webp","blurhash":"U39a8Zg400tA--R+D*t200V?-UW901s.~qt9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":35352,"triangles":672,"vertices":2016,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.000011291252459674772,-0.5],"max":[0.5,0.5399875007409487,0.5274999737739563]},"sizeMeters":[1,0.54,1.027],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":10,"publishedAt":"2026-09-06T03:17:16.652Z","updatedAt":"2026-10-25T16:30:29.996Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/182/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchRooftopVentilationFan(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/182/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/182/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/182/v1/model.glb\" alt=\"Neon Dispatch: Rooftop ventilation fan\" 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/182/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/182/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"185","slug":"neon-dispatch-courier-signal-baton","title":"Neon Dispatch: Courier signal baton","summary":"Handheld cyan signal wand with ribbed grip, wrist-loop eye and a protected illuminated head.","description":"Handheld cyan signal wand with ribbed grip, wrist-loop eye and a protected illuminated head.\n\nPart of Neon Dispatch. Dimensions: 0.12 × 0.65 × 0.12 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-courier-signal-baton","cdnUrl":"https://cdn.3dassets.dev/assets/185/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-courier-signal-baton","thumbnailUrl":"https://cdn.3dassets.dev/assets/185/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/185/v1/poster.webp","blurhash":"UC8h2rxu009Z?^s:DOM{9FR*-;xaMJR*t,xa","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":36700,"triangles":768,"vertices":2304,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.05999999865889549,0,-0.05999999865889549],"max":[0.05999999865889549,0.6499999761581421,0.05999999865889549]},"sizeMeters":[0.12,0.65,0.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":12,"publishedAt":"2026-09-06T03:17:22.056Z","updatedAt":"2026-10-25T16:10:16.741Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/185/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchCourierSignalBaton(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/185/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/185/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/185/v1/model.glb\" alt=\"Neon Dispatch: Courier signal baton\" 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/185/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/185/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"186","slug":"neon-dispatch-delivery-completion-token","title":"Neon Dispatch: Delivery completion token","summary":"Hexagonal parcel reward badge with a raised box symbol and three cyan completion bars.","description":"Hexagonal parcel reward badge with a raised box symbol and three cyan completion bars.\n\nPart of Neon Dispatch. Dimensions: 0.56 × 0.13 × 0.48 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-delivery-completion-token","cdnUrl":"https://cdn.3dassets.dev/assets/186/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-delivery-completion-token","thumbnailUrl":"https://cdn.3dassets.dev/assets/186/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/186/v1/poster.webp","blurhash":"UC9%o3xv00NFn5f6X7bF00M{~Et8O;f+wNnl","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":8380,"triangles":108,"vertices":324,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2800000011920929,0.000009080054884254979,-0.24250373954986434],"max":[0.2800000011920929,0.12899254872077523,0.24250373954986434]},"sizeMeters":[0.56,0.129,0.485],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":11,"publishedAt":"2026-09-06T03:17:23.765Z","updatedAt":"2026-10-25T16:37:01.945Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/186/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchDeliveryCompletionToken(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/186/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/186/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/186/v1/model.glb\" alt=\"Neon Dispatch: Delivery completion token\" 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/186/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/186/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"187","slug":"neon-dispatch-static-pickup-destination-marker","title":"Neon Dispatch: Static pickup destination marker","summary":"Layered cyan destination rings with three stepped corner fins for parcel objectives and route endpoints.","description":"Layered cyan destination rings with three stepped corner fins for parcel objectives and route endpoints.\n\nPart of Neon Dispatch. Dimensions: 1.36 × 0.14 × 1.38 m (width × height × depth). One unit equals one metre. Grounded origin, +Y up and +Z forward. Static model with named material groups. No collision meshes or animation supplied. CC0 permits commercial use without attribution.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-static-pickup-destination-marker","cdnUrl":"https://cdn.3dassets.dev/assets/187/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-static-pickup-destination-marker","thumbnailUrl":"https://cdn.3dassets.dev/assets/187/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/187/v1/poster.webp","blurhash":"UEBDj6xb00M{ozayWBoL00Rj~Xt7RPj[j[WB","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"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":27504,"triangles":520,"vertices":1560,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,-0.00001503011183841968,-0.6896999478340149],"max":[0.710041716565225,0.14499305404326365,0.6899669170379639]},"sizeMeters":[1.36,0.145,1.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":8,"publishedAt":"2026-09-06T03:17:25.589Z","updatedAt":"2026-10-05T18:52:42.444Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/187/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStaticPickupDestinationMarker(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/187/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/187/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/187/v1/model.glb\" alt=\"Neon Dispatch: Static pickup destination marker\" 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/187/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/187/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}