{"data":{"id":12,"slug":"ember-quest","title":"Ember Quest","summary":"A cohesive retro fantasy village kit with stepped silhouettes, pixel textures and game pickups.","description":"Build a warm retro adventure village using chunky architecture, extruded pixel pickups and nearest-filtered 32 x 32 textures. Shared red, blue, cream and timber materials keep the kit visually consistent. The inn courtyard connects to a rune gate, shrine and bridge with 2 m modules.","url":"https://3dassets.dev/packs/ember-quest","coverUrl":"https://cdn.3dassets.dev/assets/325/v1/poster.webp","assetCount":25,"aiGenerated":true,"aiGeneratedAssetCount":25,"aiModels":["GPT-6 via Codex"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":684972,"totalTriangles":11052,"starterScene":{"id":"325","slug":"ember-quest-starter-scene","title":"Ember Quest starter scene","summary":"A composed ember quest scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Ember Quest 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 [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/325/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/325/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/325/v1/poster.webp","blurhash":"UBCG7A$$00x]I9oebwWV00Iq-pM{.TS4v~ja","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":275100,"triangles":5532,"vertices":16596,"meshes":93,"materials":8,"textures":1,"animations":[],"boundingBox":{"min":[-8.6875,-0.2003868235977244,-7.187753685110019],"max":[8.625,4.75,6.500253685110019]},"sizeMeters":[17.313,4.95,13.688],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:36.419Z","updatedAt":"2026-09-06T03:41:43.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/325/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/325/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/325/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/325/v1/model.glb\" alt=\"Ember Quest 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/325/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/325/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"301","slug":"ember-quest-wayfarer-inn","title":"Ember Quest wayfarer inn","summary":"Chunky fantasy inn with a stepped red roof, timber framing and pixel-textured cream walls.","description":"Chunky fantasy inn with a stepped red roof, timber framing and pixel-textured cream walls.\n\nPart of the Ember Quest collection. Dimensions: 4.5 m wide, 4.75 m high and 5.38 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-wayfarer-inn","cdnUrl":"https://cdn.3dassets.dev/assets/301/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-wayfarer-inn","thumbnailUrl":"https://cdn.3dassets.dev/assets/301/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/301/v1/poster.webp","blurhash":"U5F=2K0L00?uhfEfPAxb00Rj]%^j8vm--7-A","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":39092,"triangles":588,"vertices":1764,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-2.25,0,-2.6875],"max":[2.25,4.75,2.6875801110873745]},"sizeMeters":[4.5,4.75,5.375],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:24:26.997Z","updatedAt":"2026-09-06T03:41:44.219Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/301/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestWayfarerInn(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/301/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/301/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/301/v1/model.glb\" alt=\"Ember Quest wayfarer inn\" 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/301/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/301/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"302","slug":"ember-quest-rune-gate","title":"Ember Quest rune gate","summary":"Stepped stone gate with an open passage, glowing-style blue runes and capped square piers.","description":"Stepped stone gate with an open passage, glowing-style blue runes and capped square piers.\n\nPart of the Ember Quest collection. Dimensions: 4.25 m wide, 3.5 m high and 1.25 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-rune-gate","cdnUrl":"https://cdn.3dassets.dev/assets/302/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-rune-gate","thumbnailUrl":"https://cdn.3dassets.dev/assets/302/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/302/v1/poster.webp","blurhash":"U8C%Ef-;00x^~q_3D*4n8^j[NFM{kU%Ms;IT","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":14096,"triangles":168,"vertices":504,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.125,-0.00015640736106448117,-0.624977111117893],"max":[2.125,3.5001564073610645,0.6250095370342112]},"sizeMeters":[4.25,3.5,1.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:24:29.171Z","updatedAt":"2026-09-06T03:41:44.211Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/302/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestRuneGate(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/302/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/302/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/302/v1/model.glb\" alt=\"Ember Quest rune gate\" 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/302/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/302/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"303","slug":"ember-quest-watch-turret","title":"Ember Quest watch turret","summary":"Square fantasy watch turret with stepped battlements, arrow slits and a timber entry hatch.","description":"Square fantasy watch turret with stepped battlements, arrow slits and a timber entry hatch.\n\nPart of the Ember Quest collection. Dimensions: 2.25 m wide, 4.13 m high and 2.38 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-watch-turret","cdnUrl":"https://cdn.3dassets.dev/assets/303/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-watch-turret","thumbnailUrl":"https://cdn.3dassets.dev/assets/303/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/303/v1/poster.webp","blurhash":"U7C?r}-p009a?wS5ITs89ERjWYx]%KofM{og","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":13512,"triangles":168,"vertices":504,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.125068666646321,0,-1.187568666646321],"max":[1.125068666646321,4.125,1.1875]},"sizeMeters":[2.25,4.125,2.375],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:24:57.524Z","updatedAt":"2026-09-06T03:41:44.202Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/303/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestWatchTurret(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/303/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/303/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/303/v1/model.glb\" alt=\"Ember Quest watch turret\" 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/303/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/303/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"304","slug":"ember-quest-merchant-handcart","title":"Ember Quest merchant handcart","summary":"Block-built merchant cart with square ring wheels, a plank cargo bed and twin pulling handles.","description":"Block-built merchant cart with square ring wheels, a plank cargo bed and twin pulling handles.\n\nPart of the Ember Quest collection. Dimensions: 2 m wide, 1.5 m high and 3.63 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-merchant-handcart","cdnUrl":"https://cdn.3dassets.dev/assets/304/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-merchant-handcart","thumbnailUrl":"https://cdn.3dassets.dev/assets/304/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/304/v1/poster.webp","blurhash":"U99GaUE00L-;~CIoE1%L0eSh%LjY0f%1-:M{","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":16212,"triangles":204,"vertices":612,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.00007629627368999081,-1.8125],"max":[1,1.5,1.8125]},"sizeMeters":[2,1.5,3.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:24:59.845Z","updatedAt":"2026-09-06T03:41:44.194Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/304/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestMerchantHandcart(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/304/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/304/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/304/v1/model.glb\" alt=\"Ember Quest merchant handcart\" 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/304/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/304/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"305","slug":"ember-quest-moss-slime","title":"Ember Quest moss slime","summary":"Small blocky fantasy slime creature with a moss crown, readable eyes and a pale belly.","description":"Small blocky fantasy slime creature with a moss crown, readable eyes and a pale belly.\n\nPart of the Ember Quest collection. Dimensions: 1 m wide, 1.13 m high and 1 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-moss-slime","cdnUrl":"https://cdn.3dassets.dev/assets/305/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-moss-slime","thumbnailUrl":"https://cdn.3dassets.dev/assets/305/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/305/v1/poster.webp","blurhash":"U4CZ%.^,000000NXnj$,00NG.6%K_Mxb?tIU","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":8676,"triangles":108,"vertices":324,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.5000133518478957,0,-0.5000267036957915],"max":[0.5000133518478957,1.125,0.49998664815210425]},"sizeMeters":[1,1.125,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:01.579Z","updatedAt":"2026-09-06T03:41:44.185Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/305/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestMossSlime(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/305/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/305/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/305/v1/model.glb\" alt=\"Ember Quest moss slime\" 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/305/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/305/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"306","slug":"ember-quest-ember-fox","title":"Ember Quest ember fox","summary":"Chunky red fantasy fox with a cream muzzle, pointed pixel ears and a stepped broad tail.","description":"Chunky red fantasy fox with a cream muzzle, pointed pixel ears and a stepped broad tail.\n\nPart of the Ember Quest collection. Dimensions: 0.75 m wide, 1.5 m high and 2.25 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-ember-fox","cdnUrl":"https://cdn.3dassets.dev/assets/306/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-ember-fox","thumbnailUrl":"https://cdn.3dassets.dev/assets/306/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/306/v1/poster.webp","blurhash":"UED8%wso5Roy~BD%kC%20M9G=xt75mxtt7Na","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":14708,"triangles":192,"vertices":576,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3750572222052675,0,-1.125],"max":[0.3750572222052675,1.5,1.125]},"sizeMeters":[0.75,1.5,2.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:03.407Z","updatedAt":"2026-09-06T03:41:44.177Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/306/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestEmberFox(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/306/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/306/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/306/v1/model.glb\" alt=\"Ember Quest ember fox\" 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/306/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/306/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"307","slug":"ember-quest-rune-keeper","title":"Ember Quest rune keeper","summary":"Static hooded fantasy guide with a pixel face, blue robe and a squared rune staff.","description":"Static hooded fantasy guide with a pixel face, blue robe and a squared rune staff.\n\nPart of the Ember Quest collection. Dimensions: 1.38 m wide, 2.5 m high and 0.63 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-rune-keeper","cdnUrl":"https://cdn.3dassets.dev/assets/307/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-rune-keeper","thumbnailUrl":"https://cdn.3dassets.dev/assets/307/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/307/v1/poster.webp","blurhash":"UA9*S;.m008w%hnlMwSx4oR5-:yCkro}adR5","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":17804,"triangles":216,"vertices":648,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.6875267036957915,0,-0.31257629627369],"max":[0.6875,2.5,0.31257629627369]},"sizeMeters":[1.375,2.5,0.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:04.954Z","updatedAt":"2026-09-06T03:41:44.168Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/307/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestRuneKeeper(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/307/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/307/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/307/v1/model.glb\" alt=\"Ember Quest rune keeper\" 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/307/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/307/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"308","slug":"ember-quest-shield-bearer","title":"Ember Quest shield bearer","summary":"Static armoured fantasy guard with a squared helmet, ember tabard and broad blue shield.","description":"Static armoured fantasy guard with a squared helmet, ember tabard and broad blue shield.\n\nPart of the Ember Quest collection. Dimensions: 1.5 m wide, 2.38 m high and 0.75 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-shield-bearer","cdnUrl":"https://cdn.3dassets.dev/assets/308/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-shield-bearer","thumbnailUrl":"https://cdn.3dassets.dev/assets/308/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/308/v1/poster.webp","blurhash":"U5A,qLs%00tTxWR.NHs700D-~W^%Mw%1x^E2","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":12832,"triangles":168,"vertices":504,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.7500133518478957,0,-0.375038148136845],"max":[0.7499599444563128,2.375,0.37494850001525926]},"sizeMeters":[1.5,2.375,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:06.821Z","updatedAt":"2026-09-06T03:41:44.160Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/308/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestShieldBearer(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/308/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/308/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/308/v1/model.glb\" alt=\"Ember Quest shield bearer\" 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/308/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/308/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"309","slug":"ember-quest-ember-oak","title":"Ember Quest ember oak","summary":"Stepped autumn fantasy tree with an exposed trunk and warm orange pixel-textured foliage.","description":"Stepped autumn fantasy tree with an exposed trunk and warm orange pixel-textured foliage.\n\nPart of the Ember Quest collection. Dimensions: 2.38 m wide, 3.25 m high and 1.5 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-ember-oak","cdnUrl":"https://cdn.3dassets.dev/assets/309/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-ember-oak","thumbnailUrl":"https://cdn.3dassets.dev/assets/309/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/309/v1/poster.webp","blurhash":"UHC5*Q%10LIV~Bt69uRj0#ay%1WX0gNG%Kt6","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":7208,"triangles":84,"vertices":252,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.1875,0,-0.750045777764214],"max":[1.1875,3.250045777764214,0.750045777764214]},"sizeMeters":[2.375,3.25,1.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:08.519Z","updatedAt":"2026-09-06T03:41:44.152Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/309/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestEmberOak(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/309/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/309/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/309/v1/model.glb\" alt=\"Ember Quest ember oak\" 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/309/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/309/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"310","slug":"ember-quest-crystal-deposit","title":"Ember Quest crystal deposit","summary":"Mineable-looking blue crystal formation with three stepped shards on a stone base.","description":"Mineable-looking blue crystal formation with three stepped shards on a stone base.\n\nPart of the Ember Quest collection. Dimensions: 1.5 m wide, 2 m high and 1 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-crystal-deposit","cdnUrl":"https://cdn.3dassets.dev/assets/310/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-crystal-deposit","thumbnailUrl":"https://cdn.3dassets.dev/assets/310/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/310/v1/poster.webp","blurhash":"U8A^]|xv00S000M{-pxu4TRO*JtS-o%L%NM|","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":8996,"triangles":96,"vertices":288,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.75,0.000026703695791496784,-0.500030518509476],"max":[0.7500267036957915,2,0.500030518509476]},"sizeMeters":[1.5,2,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:10.146Z","updatedAt":"2026-09-06T03:41:44.142Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/310/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestCrystalDeposit(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/310/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/310/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/310/v1/model.glb\" alt=\"Ember Quest crystal deposit\" 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/310/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/310/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"311","slug":"ember-quest-stone-path-module","title":"Ember Quest stone path module","summary":"Two-metre path tile with four staggered rows of pixel-textured paving stones.","description":"Two-metre path tile with four staggered rows of pixel-textured paving stones.\n\nPart of the Ember Quest collection. Dimensions: 2 m wide, 0.25 m high and 2 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-stone-path-module","cdnUrl":"https://cdn.3dassets.dev/assets/311/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-stone-path-module","thumbnailUrl":"https://cdn.3dassets.dev/assets/311/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/311/v1/poster.webp","blurhash":"U8Bz8}%300e=~poMIVbI00M{?bR*00WUtRV@","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":15460,"triangles":204,"vertices":612,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1,-0.0000019074068422497703,-1],"max":[1,0.24998664815210425,1]},"sizeMeters":[2,0.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:11.898Z","updatedAt":"2026-09-06T03:41:44.132Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/311/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestStonePathModule(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/311/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/311/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/311/v1/model.glb\" alt=\"Ember Quest stone path module\" 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/311/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/311/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"312","slug":"ember-quest-timber-bridge-module","title":"Ember Quest timber bridge module","summary":"Two-metre timber footbridge with individual planks, square rails and capped end posts.","description":"Two-metre timber footbridge with individual planks, square rails and capped end posts.\n\nPart of the Ember Quest collection. Dimensions: 2 m wide, 1.25 m high and 2 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-timber-bridge-module","cdnUrl":"https://cdn.3dassets.dev/assets/312/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-timber-bridge-module","thumbnailUrl":"https://cdn.3dassets.dev/assets/312/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/312/v1/poster.webp","blurhash":"U3C$l-~C009arr-ptREM00W=_N9t~VM{57oe","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":13904,"triangles":192,"vertices":576,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1,0.00004196295052949495,-1],"max":[1,1.2499580370494705,1]},"sizeMeters":[2,1.25,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:13.515Z","updatedAt":"2026-09-06T03:41:44.119Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/312/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestTimberBridgeModule(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/312/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/312/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/312/v1/model.glb\" alt=\"Ember Quest timber bridge module\" 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/312/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/312/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"313","slug":"ember-quest-dungeon-wall-module","title":"Ember Quest dungeon wall module","summary":"Two-metre dungeon wall with staggered stone courses, capped top and shallow blue rune accents.","description":"Two-metre dungeon wall with staggered stone courses, capped top and shallow blue rune accents.\n\nPart of the Ember Quest collection. Dimensions: 2 m wide, 2.63 m high and 0.75 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-dungeon-wall-module","cdnUrl":"https://cdn.3dassets.dev/assets/313/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-dungeon-wall-module","thumbnailUrl":"https://cdn.3dassets.dev/assets/313/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/313/v1/poster.webp","blurhash":"U9D9*Z~q0000.8ozM{RP9FIUtRx[t7xuRiIU","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"slug":"modular","title":"Modular"},{"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":21368,"triangles":288,"vertices":864,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.000083925901059,0,-0.37493324076052126],"max":[1.0000667592394787,2.625,0.374992370372631]},"sizeMeters":[2,2.625,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:15.522Z","updatedAt":"2026-09-06T03:41:44.107Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/313/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestDungeonWallModule(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/313/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/313/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/313/v1/model.glb\" alt=\"Ember Quest dungeon wall module\" 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/313/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/313/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"314","slug":"ember-quest-treasure-coffer","title":"Ember Quest treasure coffer","summary":"Closed pixel-textured treasure coffer with a stepped lid, bronze bands and a central square lock.","description":"Closed pixel-textured treasure coffer with a stepped lid, bronze bands and a central square lock.\n\nPart of the Ember Quest collection. Dimensions: 1.25 m wide, 1 m high and 1.25 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-treasure-coffer","cdnUrl":"https://cdn.3dassets.dev/assets/314/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-treasure-coffer","thumbnailUrl":"https://cdn.3dassets.dev/assets/314/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/314/v1/poster.webp","blurhash":"UAEV1s-p00IV~VaMIoad02IVR%t5NHxtIWIo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":6824,"triangles":84,"vertices":252,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.625,-0.000026703695791496784,-0.625],"max":[0.625,1.0000267036957915,0.625]},"sizeMeters":[1.25,1,1.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:17.560Z","updatedAt":"2026-09-06T03:41:44.098Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/314/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestTreasureCoffer(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/314/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/314/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/314/v1/model.glb\" alt=\"Ember Quest treasure coffer\" 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/314/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/314/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"315","slug":"ember-quest-potion-shelf","title":"Ember Quest potion shelf","summary":"Three-tier timber shelf carrying red and blue squared potion bottles with cork stoppers.","description":"Three-tier timber shelf carrying red and blue squared potion bottles with cork stoppers.\n\nPart of the Ember Quest collection. Dimensions: 1.5 m wide, 2 m high and 0.63 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-potion-shelf","cdnUrl":"https://cdn.3dassets.dev/assets/315/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-potion-shelf","thumbnailUrl":"https://cdn.3dassets.dev/assets/315/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/315/v1/poster.webp","blurhash":"U6CY:l~p009Z-.-VM|EL0dM_tRoNJ-xt-9M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":14868,"triangles":192,"vertices":576,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.749961851863155,0,-0.31254005554368725],"max":[0.749961851863155,2,0.31254005554368725]},"sizeMeters":[1.5,2,0.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:19.369Z","updatedAt":"2026-09-06T03:41:44.089Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/315/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestPotionShelf(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/315/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/315/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/315/v1/model.glb\" alt=\"Ember Quest potion shelf\" 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/315/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/315/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"316","slug":"ember-quest-save-shrine","title":"Ember Quest save shrine","summary":"Tiered stone shrine with a blue pixel rune above its altar for checkpoints and quest locations.","description":"Tiered stone shrine with a blue pixel rune above its altar for checkpoints and quest locations.\n\nPart of the Ember Quest collection. Dimensions: 1.5 m wide, 2.25 m high and 1.25 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-save-shrine","cdnUrl":"https://cdn.3dassets.dev/assets/316/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-save-shrine","thumbnailUrl":"https://cdn.3dassets.dev/assets/316/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/316/v1/poster.webp","blurhash":"U7Csmu_300004nWBxsRiDifm%gRh~V%LE4D*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":17736,"triangles":228,"vertices":684,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.750045777764214,0,-0.6250724814600055],"max":[0.750045777764214,2.25,0.6250724814600055]},"sizeMeters":[1.5,2.25,1.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:21.124Z","updatedAt":"2026-09-06T03:41:44.079Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/316/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestSaveShrine(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/316/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/316/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/316/v1/model.glb\" alt=\"Ember Quest save shrine\" 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/316/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/316/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"317","slug":"ember-quest-hanging-lantern-stand","title":"Ember Quest hanging lantern stand","summary":"Freestanding timber lantern stand with a chunky bronze cage and warm pixel-textured chamber.","description":"Freestanding timber lantern stand with a chunky bronze cage and warm pixel-textured chamber.\n\nPart of the Ember Quest collection. Dimensions: 1.38 m wide, 2.38 m high and 0.75 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-hanging-lantern-stand","cdnUrl":"https://cdn.3dassets.dev/assets/317/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-hanging-lantern-stand","thumbnailUrl":"https://cdn.3dassets.dev/assets/317/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/317/v1/poster.webp","blurhash":"U59Z+Wt900D~==D%9v?b01%M~V9G9H-p-:4.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":11144,"triangles":132,"vertices":396,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.6875,-0.000009537034211248852,-0.37501335184789575],"max":[0.6875133518478957,2.375,0.375]},"sizeMeters":[1.375,2.375,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:22.794Z","updatedAt":"2026-09-06T03:41:44.068Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/317/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestHangingLanternStand(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/317/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/317/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/317/v1/model.glb\" alt=\"Ember Quest hanging lantern 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/317/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/317/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"318","slug":"ember-quest-rune-sword","title":"Ember Quest rune sword","summary":"Broad pixel sword with a stepped silver blade, blue central rune and bronze crossguard.","description":"Broad pixel sword with a stepped silver blade, blue central rune and bronze crossguard.\n\nPart of the Ember Quest collection. Dimensions: 0.5 m wide, 1.1 m high and 0.13 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-rune-sword","cdnUrl":"https://cdn.3dassets.dev/assets/318/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-rune-sword","thumbnailUrl":"https://cdn.3dassets.dev/assets/318/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/318/v1/poster.webp","blurhash":"U6Ci?Z-;004n.AogH=RP00Rj_NtRH=f4%hkE","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"}],"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":25072,"triangles":348,"vertices":1044,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.25,-0.000010678498084365495,-0.06250953703421125],"max":[0.25,1.100000023841858,0.06250953703421125]},"sizeMeters":[0.5,1.1,0.125],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:24.415Z","updatedAt":"2026-09-06T03:41:44.056Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/318/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestRuneSword(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/318/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/318/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/318/v1/model.glb\" alt=\"Ember Quest rune sword\" 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/318/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/318/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"319","slug":"ember-quest-woodcutting-axe","title":"Ember Quest woodcutting axe","summary":"Chunky retro woodcutting axe with a broad stepped head and long wrapped timber handle.","description":"Chunky retro woodcutting axe with a broad stepped head and long wrapped timber handle.\n\nPart of the Ember Quest collection. Dimensions: 0.6 m wide, 1.1 m high and 0.18 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-woodcutting-axe","cdnUrl":"https://cdn.3dassets.dev/assets/319/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-woodcutting-axe","thumbnailUrl":"https://cdn.3dassets.dev/assets/319/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/319/v1/poster.webp","blurhash":"UDAc}Exu00IV~qah4nk8D*of%1RQ9Zx[-:D*","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"}],"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":27284,"triangles":384,"vertices":1152,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.3000076396860507,0,-0.09000671407208471],"max":[0.30000001192092896,1.100000023841858,0.09000671407208471]},"sizeMeters":[0.6,1.1,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:26.213Z","updatedAt":"2026-09-06T03:41:44.046Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/319/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestWoodcuttingAxe(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/319/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/319/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/319/v1/model.glb\" alt=\"Ember Quest woodcutting axe\" 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/319/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/319/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"320","slug":"ember-quest-hearth-stew","title":"Ember Quest hearth stew","summary":"Squared cooking pot holding a colourful pixel stew with a wooden serving spoon.","description":"Squared cooking pot holding a colourful pixel stew with a wooden serving spoon.\n\nPart of the Ember Quest collection. Dimensions: 1.25 m wide, 1.25 m high and 0.75 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-hearth-stew","cdnUrl":"https://cdn.3dassets.dev/assets/320/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-hearth-stew","thumbnailUrl":"https://cdn.3dassets.dev/assets/320/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/320/v1/poster.webp","blurhash":"U37A}N?b000KMas%XoIv00NI~Wsj%%NLrY-n","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":10788,"triangles":144,"vertices":432,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-0.625,0.000034333323160495866,-0.3750343333231605],"max":[0.625,1.25,0.3750343333231605]},"sizeMeters":[1.25,1.25,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:27.756Z","updatedAt":"2026-09-06T03:41:44.036Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/320/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestHearthStew(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/320/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/320/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/320/v1/model.glb\" alt=\"Ember Quest hearth stew\" 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/320/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/320/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"321","slug":"ember-quest-orchard-pie","title":"Ember Quest orchard pie","summary":"Square lattice-topped fruit pie on a cream plate for tavern counters and healing pickups.","description":"Square lattice-topped fruit pie on a cream plate for tavern counters and healing pickups.\n\nPart of the Ember Quest collection. Dimensions: 1 m wide, 0.75 m high and 1 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-orchard-pie","cdnUrl":"https://cdn.3dassets.dev/assets/321/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-orchard-pie","thumbnailUrl":"https://cdn.3dassets.dev/assets/321/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/321/v1/poster.webp","blurhash":"U9HUwX?b00M{00IURjoJ00M{$ce.?b-:~qo#","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"}],"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":10408,"triangles":120,"vertices":360,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,0.000019074068422497703,-0.5],"max":[0.5,0.7499809259315775,0.5]},"sizeMeters":[1,0.75,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:29.647Z","updatedAt":"2026-09-06T03:41:44.022Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/321/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestOrchardPie(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/321/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/321/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/321/v1/model.glb\" alt=\"Ember Quest orchard pie\" 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/321/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/321/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"322","slug":"ember-quest-heart-pickup","title":"Ember Quest heart pickup","summary":"Extruded pixel heart with a dark outline, warm red fill and a bright corner highlight.","description":"Extruded pixel heart with a dark outline, warm red fill and a bright corner highlight.\n\nPart of the Ember Quest collection. Dimensions: 0.7 m wide, 0.7 m high and 0.2 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-heart-pickup","cdnUrl":"https://cdn.3dassets.dev/assets/322/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-heart-pickup","thumbnailUrl":"https://cdn.3dassets.dev/assets/322/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/322/v1/poster.webp","blurhash":"UA9%J0=|000z%NxaV?M|0fNd}?-6IoNHWUs+","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"}],"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":27888,"triangles":408,"vertices":1224,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0,-0.10000000149011612],"max":[0.3499999940395355,0.699999988079071,0.10000000149011612]},"sizeMeters":[0.7,0.7,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:31.192Z","updatedAt":"2026-09-06T03:41:44.009Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/322/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestHeartPickup(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/322/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/322/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/322/v1/model.glb\" alt=\"Ember Quest heart pickup\" 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/322/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/322/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"323","slug":"ember-quest-rune-key-pickup","title":"Ember Quest rune key pickup","summary":"Squared gold dungeon key with an open ring, blue inset and stepped teeth.","description":"Squared gold dungeon key with an open ring, blue inset and stepped teeth.\n\nPart of the Ember Quest collection. Dimensions: 0.7 m wide, 0.9 m high and 0.16 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-rune-key-pickup","cdnUrl":"https://cdn.3dassets.dev/assets/323/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-rune-key-pickup","thumbnailUrl":"https://cdn.3dassets.dev/assets/323/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/323/v1/poster.webp","blurhash":"UDF5yutR00r=~V-.Rj9a9GxtxtIpD%aeNINI","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"}],"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":24116,"triangles":360,"vertices":1080,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.35002135368423365,0,-0.08001037947254855],"max":[0.35002135368423365,0.8999999761581421,0.08001037947254855]},"sizeMeters":[0.7,0.9,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:33.198Z","updatedAt":"2026-09-06T03:41:43.999Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/323/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestRuneKeyPickup(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/323/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/323/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/323/v1/model.glb\" alt=\"Ember Quest rune key pickup\" 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/323/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/323/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"324","slug":"ember-quest-ember-burst-mesh","title":"Ember Quest ember burst mesh","summary":"Static extruded pixel flame burst with layered gold and red cells for scripted spells and impacts.","description":"Static extruded pixel flame burst with layered gold and red cells for scripted spells and impacts.\n\nPart of the Ember Quest collection. Dimensions: 0.88 m wide, 1 m high and 0.2 m deep. Uses metres with +Y up and +Z forward. The origin sits on the ground at the horizontal centre. Static mesh with no rig, animation or collision mesh. Shared collection colours support a consistent game environment. CC0 licensed for commercial and personal projects.\n\nPart of [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-ember-burst-mesh","cdnUrl":"https://cdn.3dassets.dev/assets/324/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-ember-burst-mesh","thumbnailUrl":"https://cdn.3dassets.dev/assets/324/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/324/v1/poster.webp","blurhash":"UBEn#2=|004:wf-UtQEM01V[~Uo|o}SgR6rr","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"}],"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":29876,"triangles":444,"vertices":1332,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.43749809259315775,0,-0.1000053407391583],"max":[0.43749809259315775,1,0.1000053407391583]},"sizeMeters":[0.875,1,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:34.631Z","updatedAt":"2026-09-06T03:41:43.986Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/324/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestEmberBurstMesh(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/324/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/324/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/324/v1/model.glb\" alt=\"Ember Quest ember burst mesh\" 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/324/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/324/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"325","slug":"ember-quest-starter-scene","title":"Ember Quest starter scene","summary":"A composed ember quest scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Ember Quest 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 [Ember Quest](/packs/ember-quest).","status":"published","url":"https://3dassets.dev/assets/ember-quest-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/325/v1/model.glb","downloadUrl":"https://3dassets.dev/download/ember-quest-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/325/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/325/v1/poster.webp","blurhash":"UBCG7A$$00x]I9oebwWV00Iq-pM{.TS4v~ja","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"pixel","title":"Pixel / Retro"},{"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":275100,"triangles":5532,"vertices":16596,"meshes":93,"materials":8,"textures":1,"animations":[],"boundingBox":{"min":[-8.6875,-0.2003868235977244,-7.187753685110019],"max":[8.625,4.75,6.500253685110019]},"sizeMeters":[17.313,4.95,13.688],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:25:36.419Z","updatedAt":"2026-09-06T03:41:43.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/325/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EmberQuestStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/325/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/325/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/325/v1/model.glb\" alt=\"Ember Quest 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/325/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/325/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}