{"data":{"id":6,"slug":"neon-dispatch","title":"Neon Dispatch","summary":"A dense violet and cyan courier district with parcel infrastructure, street furniture and compact delivery vehicles.","description":"A dense violet and cyan courier district with parcel infrastructure, street furniture and compact delivery vehicles. Individually reusable GLB models share a coordinated material palette, metre scale and grounded origins. The assembled sample scene demonstrates placement and a navigable layout. Static meshes only; collision meshes, scripts and animation are not included. CC0.","url":"https://3dassets.dev/packs/neon-dispatch","coverUrl":"https://cdn.3dassets.dev/assets/189/v1/poster.webp","assetCount":25,"aiGenerated":true,"aiGeneratedAssetCount":25,"aiModels":["GPT-6 via Codex"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":1115236,"totalTriangles":20792,"starterScene":{"id":"189","slug":"neon-dispatch-starter-scene","title":"Neon Dispatch starter scene","summary":"A composed neon dispatch scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Neon Dispatch kit. Each placed object has a named parent node for editing in three.js or Blender.\n\nUses metres, Y up and the pack's shared palette. This is a static environment layout. Individual models are also included in the pack. Collision meshes, navigation meshes, scripts and lighting are not included.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/189/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/189/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/189/v1/poster.webp","blurhash":"U47^=JEK00rv%2NFRjs;00-W?dJ50x-q%MNZ","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":488884,"triangles":9264,"vertices":27792,"meshes":97,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-6.700092699972533,-0.19961241641977095,-8.5],"max":[7.575092699972533,4.539987500740948,8.5]},"sizeMeters":[14.275,4.74,17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:17:29.829Z","updatedAt":"2026-09-06T03:41:45.148Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/189/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/189/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/189/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/189/v1/model.glb\" alt=\"Neon Dispatch starter scene\" 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/189/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/189/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"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":0,"publishedAt":"2026-09-06T03:16:45.605Z","updatedAt":"2026-09-06T03:41:45.327Z","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":"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":0,"publishedAt":"2026-09-06T03:16:47.277Z","updatedAt":"2026-09-06T03:41:45.319Z","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":"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":0,"publishedAt":"2026-09-06T03:16:49.065Z","updatedAt":"2026-09-06T03:41:45.312Z","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":0,"publishedAt":"2026-09-06T03:16:50.789Z","updatedAt":"2026-09-06T03:41:45.304Z","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":"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":0,"publishedAt":"2026-09-06T03:16:52.399Z","updatedAt":"2026-09-06T03:41:45.296Z","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":0,"publishedAt":"2026-09-06T03:16:54.185Z","updatedAt":"2026-09-06T03:41:45.288Z","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":"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":0,"publishedAt":"2026-09-06T03:16:55.737Z","updatedAt":"2026-09-06T03:41:45.281Z","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":0,"publishedAt":"2026-09-06T03:16:57.619Z","updatedAt":"2026-09-06T03:41:45.274Z","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":0,"publishedAt":"2026-09-06T03:16:59.232Z","updatedAt":"2026-09-06T03:41:45.266Z","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":"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":0,"publishedAt":"2026-09-06T03:17:00.956Z","updatedAt":"2026-09-06T03:41:45.258Z","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":0,"publishedAt":"2026-09-06T03:17:02.577Z","updatedAt":"2026-09-06T03:41:45.250Z","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":0,"publishedAt":"2026-09-06T03:17:05.497Z","updatedAt":"2026-09-06T03:41:45.242Z","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":0,"publishedAt":"2026-09-06T03:17:07.875Z","updatedAt":"2026-09-06T03:41:45.234Z","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":"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":0,"publishedAt":"2026-09-06T03:17:09.652Z","updatedAt":"2026-09-06T03:41:45.227Z","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":0,"publishedAt":"2026-09-06T03:17:11.528Z","updatedAt":"2026-09-06T03:41:45.221Z","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":0,"publishedAt":"2026-09-06T03:17:13.218Z","updatedAt":"2026-09-06T03:41:45.213Z","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":0,"publishedAt":"2026-09-06T03:17:14.772Z","updatedAt":"2026-09-06T03:41:45.205Z","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":"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":0,"publishedAt":"2026-09-06T03:17:16.652Z","updatedAt":"2026-09-06T03:41:45.198Z","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":"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":0,"publishedAt":"2026-09-06T03:17:18.448Z","updatedAt":"2026-09-06T03:41:45.191Z","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":"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":0,"publishedAt":"2026-09-06T03:17:20.171Z","updatedAt":"2026-09-06T03:41:45.184Z","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":"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":0,"publishedAt":"2026-09-06T03:17:22.056Z","updatedAt":"2026-09-06T03:41:45.176Z","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":0,"publishedAt":"2026-09-06T03:17:23.765Z","updatedAt":"2026-09-06T03:41:45.169Z","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":0,"publishedAt":"2026-09-06T03:17:25.589Z","updatedAt":"2026-09-06T03:41:45.163Z","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);"}},{"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":0,"publishedAt":"2026-09-06T03:17:27.529Z","updatedAt":"2026-09-06T03:41:45.155Z","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":"189","slug":"neon-dispatch-starter-scene","title":"Neon Dispatch starter scene","summary":"A composed neon dispatch scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Neon Dispatch kit. Each placed object has a named parent node for editing in three.js or Blender.\n\nUses metres, Y up and the pack's shared palette. This is a static environment layout. Individual models are also included in the pack. Collision meshes, navigation meshes, scripts and lighting are not included.\n\nPart of [Neon Dispatch](/packs/neon-dispatch).","status":"published","url":"https://3dassets.dev/assets/neon-dispatch-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/189/v1/model.glb","downloadUrl":"https://3dassets.dev/download/neon-dispatch-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/189/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/189/v1/poster.webp","blurhash":"U47^=JEK00rv%2NFRjs;00-W?dJ50x-q%MNZ","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"cyberpunk","title":"Cyberpunk"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":488884,"triangles":9264,"vertices":27792,"meshes":97,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-6.700092699972533,-0.19961241641977095,-8.5],"max":[7.575092699972533,4.539987500740948,8.5]},"sizeMeters":[14.275,4.74,17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:17:29.829Z","updatedAt":"2026-09-06T03:41:45.148Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/189/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NeonDispatchStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/189/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/189/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/189/v1/model.glb\" alt=\"Neon Dispatch starter scene\" 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/189/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/189/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}