{"data":{"id":4,"slug":"runestone-conservatory","title":"Runestone Conservatory","summary":"A magical botanical workshop kit with open pavilions, rune stones, unusual plants and alchemy equipment.","description":"A botanical fantasy kit with jade architecture, pale stone, amethyst accents and mint emissive details. Open floor plans and repeatable paths support a small exploration or crafting game.","url":"https://3dassets.dev/packs/runestone-conservatory","coverUrl":"https://cdn.3dassets.dev/assets/124/v1/poster.webp","assetCount":25,"aiGenerated":true,"aiGeneratedAssetCount":25,"aiModels":["GPT-6 via Codex"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":2429848,"totalTriangles":47812,"starterScene":{"id":"124","slug":"runestone-conservatory-starter-scene","title":"Runestone Conservatory starter scene","summary":"A composed runestone conservatory scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Runestone Conservatory 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 [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/124/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/124/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/124/v1/poster.webp","blurhash":"UAC7QXt600RkDPRjX7oz00R+.8ob?]xuxuad","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":1197532,"triangles":23912,"vertices":71736,"meshes":101,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-5.674960387885619,-0.20027772106725267,-5.710000038146973],"max":[5.479861510932494,4.0499222399161265,6.025000095367432]},"sizeMeters":[11.155,4.25,11.735],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:46.973Z","updatedAt":"2026-09-06T03:41:45.655Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/124/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/124/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/124/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/124/v1/model.glb\" alt=\"Runestone Conservatory 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/124/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/124/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"100","slug":"runestone-conservatory-open-botanical-pavilion","title":"Runestone Conservatory Open Botanical Pavilion","summary":"An open jade roof pavilion with four carved pillars, glowing corner insets and a raised botanical work platform.","description":"A 4 m square pavilion on a 2 m placement grid. Open sides provide access for cameras and game characters.\n\nMeasured bounds: 4.35 × 4.05 × 4.42 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Architecture uses a 2 m placement grid; decorative roof overhangs may extend beyond the grid. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-open-botanical-pavilion","cdnUrl":"https://cdn.3dassets.dev/assets/100/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-open-botanical-pavilion","thumbnailUrl":"https://cdn.3dassets.dev/assets/100/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/100/v1/poster.webp","blurhash":"U4Ef+s.700%e004.%g-;00NIAcR64T%M_4%2","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":37776,"triangles":684,"vertices":2052,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-2.1751979500802032,-0.000006680693483751554,-2.2100000381469727],"max":[2.1751979500802032,4.0499222399161265,2.2100000381469727]},"sizeMeters":[4.35,4.05,4.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:08:58.203Z","updatedAt":"2026-09-06T03:41:45.877Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/100/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryOpenBotanicalPavilion(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/100/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/100/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/100/v1/model.glb\" alt=\"Runestone Conservatory Open Botanical Pavilion\" 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/100/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/100/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"101","slug":"runestone-conservatory-open-ribbed-growing-house","title":"Runestone Conservatory Open Ribbed Growing House","summary":"A botanical growing shelter with open arched ribs, stone planting borders and a central overhead crystal.","description":"A 2 m wide by 4 m deep greenhouse inspired shelter. Open ribs have no glass panels or transparent materials.\n\nMeasured bounds: 2.14 × 3.05 × 4.00 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Architecture uses a 2 m placement grid; decorative roof overhangs may extend beyond the grid. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-open-ribbed-growing-house","cdnUrl":"https://cdn.3dassets.dev/assets/101/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-open-ribbed-growing-house","thumbnailUrl":"https://cdn.3dassets.dev/assets/101/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/101/v1/poster.webp","blurhash":"U6EM,n~W00$+0000ng?c00XkIAIp-oXS-;~X","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":28888,"triangles":516,"vertices":1548,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.0713187309916152,0.00013961622038821675,-2],"max":[1.0713187309916152,3.049999952316284,2]},"sizeMeters":[2.143,3.05,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:00.759Z","updatedAt":"2026-09-06T03:41:45.866Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/101/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryOpenRibbedGrowingHouse(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/101/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/101/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/101/v1/model.glb\" alt=\"Runestone Conservatory Open Ribbed Growing House\" 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/101/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/101/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"102","slug":"runestone-conservatory-runic-garden-arch","title":"Runestone Conservatory Runic Garden Arch","summary":"A stone garden arch with glowing rune insets, flared feet and an amethyst crown for magical botanical courtyards.","description":"A 2 m entrance module with an open central passage. Emissive rune strips are static geometry.\n\nMeasured bounds: 2.15 × 3.15 × 0.65 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Architecture uses a 2 m placement grid; decorative roof overhangs may extend beyond the grid. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-runic-garden-arch","cdnUrl":"https://cdn.3dassets.dev/assets/102/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-runic-garden-arch","thumbnailUrl":"https://cdn.3dassets.dev/assets/102/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/102/v1/poster.webp","blurhash":"U9C%Hhx]00RQaJxuNZD%00V@~qkCDkR%-;$+","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":16100,"triangles":264,"vertices":792,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0750000476837158,-0.000023499669185245153,-0.32495728850084554],"max":[1.0750000476837158,3.1500000953674316,0.32495728850084554]},"sizeMeters":[2.15,3.15,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:02.421Z","updatedAt":"2026-09-06T03:41:45.849Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/102/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryRunicGardenArch(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/102/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/102/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/102/v1/model.glb\" alt=\"Runestone Conservatory Runic Garden Arch\" 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/102/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/102/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"103","slug":"runestone-conservatory-raised-herb-bed","title":"Runestone Conservatory Raised Herb Bed","summary":"A two metre stone growing bed with inset soil, corner crystals and six leafy herb plants for fantasy crafting gardens.","description":"A 2 m long modular herb planter. Six compact plants are combined with the container as one static object.\n\nMeasured bounds: 2.00 × 0.72 × 0.80 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Architecture uses a 2 m placement grid; decorative roof overhangs may extend beyond the grid. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-raised-herb-bed","cdnUrl":"https://cdn.3dassets.dev/assets/103/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-raised-herb-bed","thumbnailUrl":"https://cdn.3dassets.dev/assets/103/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/103/v1/poster.webp","blurhash":"UCD];y%M4Ut801?b%MIU009Fo}t7~WDiIoR%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":76532,"triangles":1532,"vertices":4596,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.0000679007033518586,-0.3999450666829432],"max":[1,0.7199931495808215,0.3999450666829432]},"sizeMeters":[2,0.72,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:04.470Z","updatedAt":"2026-09-06T03:41:45.840Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/103/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryRaisedHerbBed(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/103/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/103/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/103/v1/model.glb\" alt=\"Runestone Conservatory Raised Herb Bed\" 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/103/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/103/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"104","slug":"runestone-conservatory-botanical-mosaic-floor","title":"Runestone Conservatory Botanical Mosaic Floor","summary":"A two metre jade and pale stone floor tile with an inset diamond mosaic for magical garden paths.","description":"A 2 m square repeatable floor tile. Decorative diamond inlay is modeled slightly above the slab.\n\nMeasured bounds: 2.00 × 0.13 × 2.00 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Architecture uses a 2 m placement grid; decorative roof overhangs may extend beyond the grid. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-botanical-mosaic-floor","cdnUrl":"https://cdn.3dassets.dev/assets/104/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-botanical-mosaic-floor","thumbnailUrl":"https://cdn.3dassets.dev/assets/104/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/104/v1/poster.webp","blurhash":"U8C?[l%g00V@xuWVj[of00Mx?^WBD$s:RjRj","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":16596,"triangles":276,"vertices":828,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.0000553913927221622,-1],"max":[1,0.12739387399820523,1]},"sizeMeters":[2,0.127,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:06.076Z","updatedAt":"2026-09-06T03:41:45.832Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/104/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryBotanicalMosaicFloor(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/104/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/104/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/104/v1/model.glb\" alt=\"Runestone Conservatory Botanical Mosaic Floor\" 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/104/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/104/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"105","slug":"runestone-conservatory-woven-root-bridge","title":"Runestone Conservatory Woven Root Bridge","summary":"A two metre crossing woven from thick roots with stone landing pads and small luminous growths along the rails.","description":"A 2 m bridge along Z with a 1 m walkway. Twisted supports are represented by connected solid root segments.\n\nMeasured bounds: 1.30 × 0.84 × 2.05 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Architecture uses a 2 m placement grid; decorative roof overhangs may extend beyond the grid. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-woven-root-bridge","cdnUrl":"https://cdn.3dassets.dev/assets/105/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-woven-root-bridge","thumbnailUrl":"https://cdn.3dassets.dev/assets/105/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/105/v1/poster.webp","blurhash":"UACGiH_N4o4n4nD%V@-o00Vs%KoJ_3?a-;Iq","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":23144,"triangles":396,"vertices":1188,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6498601063929068,0.00003449158461582558,-1.024999976158142],"max":[0.6498601063929068,0.8449175643899798,1.024999976158142]},"sizeMeters":[1.3,0.845,2.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:07.888Z","updatedAt":"2026-09-06T03:41:45.822Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/105/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryWovenRootBridge(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/105/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/105/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/105/v1/model.glb\" alt=\"Runestone Conservatory Woven Root Bridge\" 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/105/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/105/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"106","slug":"runestone-conservatory-stone-garden-golem","title":"Runestone Conservatory Stone Garden Golem","summary":"A static squat stone gardener with articulated looking limbs, mossy shoulders and a glowing chest rune.","description":"An unrigged humanoid stone creature. Separate visual joint shapes are decorative and contain no skeletal rig.\n\nMeasured bounds: 1.44 × 1.70 × 0.51 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-stone-garden-golem","cdnUrl":"https://cdn.3dassets.dev/assets/106/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-stone-garden-golem","thumbnailUrl":"https://cdn.3dassets.dev/assets/106/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/106/v1/poster.webp","blurhash":"U8C71p%M00D*D%W.%Ms;00V[_NWUIUMy%L%M","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":46476,"triangles":896,"vertices":2688,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7199850661253935,0,-0.23777028758417726],"max":[0.7199850661253935,1.7000000476837158,0.2679852075258831]},"sizeMeters":[1.44,1.7,0.506],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:09.504Z","updatedAt":"2026-09-06T03:41:45.814Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/106/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryStoneGardenGolem(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/106/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/106/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/106/v1/model.glb\" alt=\"Runestone Conservatory Stone Garden Golem\" 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/106/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/106/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"107","slug":"runestone-conservatory-moon-garden-moth","title":"Runestone Conservatory Moon Garden Moth","summary":"A static jewel toned moth with four broad veined wings, curled antennae and a luminous thorax for fantasy gardens.","description":"An unrigged moth displayed with wings spread horizontally. The lowest leg tips establish the ground plane.\n\nMeasured bounds: 1.00 × 0.29 × 0.69 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-moon-garden-moth","cdnUrl":"https://cdn.3dassets.dev/assets/107/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-moon-garden-moth","thumbnailUrl":"https://cdn.3dassets.dev/assets/107/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/107/v1/poster.webp","blurhash":"U997hX%200NG-;xuV@NF00NZ~qs.4mE0o}-p","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":71768,"triangles":1408,"vertices":4224,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.0000054558409534610774,-0.3699777214040529],"max":[0.5,0.29364353983663904,0.3173352859389736]},"sizeMeters":[1,0.294,0.687],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:11.573Z","updatedAt":"2026-09-06T03:41:45.806Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/107/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryMoonGardenMoth(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/107/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/107/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/107/v1/model.glb\" alt=\"Runestone Conservatory Moon Garden Moth\" 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/107/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/107/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"108","slug":"runestone-conservatory-crystal-willow-tree","title":"Runestone Conservatory Crystal Willow Tree","summary":"A branching fantasy willow with hanging jade leaves and amethyst fruit clusters for magical garden landmarks.","description":"A sculpted tree with an exposed forked trunk and drooping leaf clusters. Hanging details are static meshes.\n\nMeasured bounds: 1.96 × 2.85 × 1.29 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-crystal-willow-tree","cdnUrl":"https://cdn.3dassets.dev/assets/108/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-crystal-willow-tree","thumbnailUrl":"https://cdn.3dassets.dev/assets/108/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/108/v1/poster.webp","blurhash":"U7857cx]00In?[kBIBt700W..8Vt8wRQ%zo0","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":71640,"triangles":1436,"vertices":4308,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9800000190734863,0,-0.8299989318886402],"max":[0.9800000190734863,2.8499593502903937,0.45999895692259096]},"sizeMeters":[1.96,2.85,1.29],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:13.485Z","updatedAt":"2026-09-06T03:41:45.798Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/108/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryCrystalWillowTree(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/108/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/108/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/108/v1/model.glb\" alt=\"Runestone Conservatory Crystal Willow Tree\" 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/108/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/108/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"109","slug":"runestone-conservatory-spiral-garden-fern","title":"Runestone Conservatory Spiral Garden Fern","summary":"A fan of five curled fern fronds with paired jade leaflets for magical forest floors and planted borders.","description":"A compact scatter plant with modeled central stems and ten leaflets per frond.\n\nMeasured bounds: 0.77 × 0.61 × 0.69 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-spiral-garden-fern","cdnUrl":"https://cdn.3dassets.dev/assets/109/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-spiral-garden-fern","thumbnailUrl":"https://cdn.3dassets.dev/assets/109/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/109/v1/poster.webp","blurhash":"UG9@nztQ8_n%_NofM_oLDPV[yCbF8_V[bZRi","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":256140,"triangles":5280,"vertices":15840,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.35115593671798706,0.000009541598194939827,-0.3469671905040741],"max":[0.4180000126361847,0.6064219968071985,0.3469671905040741]},"sizeMeters":[0.769,0.606,0.694],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:15.225Z","updatedAt":"2026-09-06T03:41:45.789Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/109/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatorySpiralGardenFern(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/109/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/109/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/109/v1/model.glb\" alt=\"Runestone Conservatory Spiral Garden Fern\" 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/109/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/109/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"110","slug":"runestone-conservatory-luminous-moon-lotus","title":"Runestone Conservatory Luminous Moon Lotus","summary":"A pale lotus flower with layered petals, broad floating leaf and softly luminous center for magical ponds.","description":"A static water surface prop with a solid pad underneath. No water shader or fluid surface is included.\n\nMeasured bounds: 0.80 × 0.27 × 0.70 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-luminous-moon-lotus","cdnUrl":"https://cdn.3dassets.dev/assets/110/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-luminous-moon-lotus","thumbnailUrl":"https://cdn.3dassets.dev/assets/110/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/110/v1/poster.webp","blurhash":"UB9tcKba00s;IBjZtQbH00jZ~qRj.RW;Myf6","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":86760,"triangles":1736,"vertices":5208,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.4000000059604645,-0.000018129037980155888,-0.3499984792899099],"max":[0.4000000059604645,0.2680000066757202,0.3499984792899099]},"sizeMeters":[0.8,0.268,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:17.584Z","updatedAt":"2026-09-06T03:41:45.779Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/110/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryLuminousMoonLotus(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/110/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/110/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/110/v1/model.glb\" alt=\"Runestone Conservatory Luminous Moon Lotus\" 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/110/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/110/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"111","slug":"runestone-conservatory-amethyst-garden-outcrop","title":"Runestone Conservatory Amethyst Garden Outcrop","summary":"A cluster of four six sided amethyst crystals on a pale stone base for magical mining nodes and garden accents.","description":"A static mineral scatter with varied crystal heights, separated points and a grounded rock footing.\n\nMeasured bounds: 1.00 × 1.09 × 0.72 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-amethyst-garden-outcrop","cdnUrl":"https://cdn.3dassets.dev/assets/111/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-amethyst-garden-outcrop","thumbnailUrl":"https://cdn.3dassets.dev/assets/111/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/111/v1/poster.webp","blurhash":"UCC6r*xb00NF4nof%MRj00M{~X%3?bofV[n,","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":16372,"triangles":284,"vertices":852,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5,0.0000012180581700216297,-0.36136967070528275],"max":[0.5,1.090000033378601,0.36136967070528275]},"sizeMeters":[1,1.09,0.723],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:19.134Z","updatedAt":"2026-09-06T03:41:45.770Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/111/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryAmethystGardenOutcrop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/111/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/111/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/111/v1/model.glb\" alt=\"Runestone Conservatory Amethyst Garden Outcrop\" 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/111/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/111/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"112","slug":"runestone-conservatory-crystal-seed-planter","title":"Runestone Conservatory Crystal Seed Planter","summary":"A faceted pale stone planter holding a glowing seed shoot surrounded by jade leaves and an amethyst rim.","description":"A decorative growing vessel with soil inset and a single luminous shoot. No growth animation.\n\nMeasured bounds: 0.61 × 1.12 × 0.61 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-crystal-seed-planter","cdnUrl":"https://cdn.3dassets.dev/assets/112/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-crystal-seed-planter","thumbnailUrl":"https://cdn.3dassets.dev/assets/112/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/112/v1/poster.webp","blurhash":"U5AwPC.700009ZRj%2xu00RQ?^xu?It6I.Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":30816,"triangles":556,"vertices":1668,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3050000071525574,-0.0000032113619048979025,-0.3050000071525574],"max":[0.3050000071525574,1.1200000047683716,0.3050000071525574]},"sizeMeters":[0.61,1.12,0.61],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:21.196Z","updatedAt":"2026-09-06T03:41:45.760Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/112/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryCrystalSeedPlanter(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/112/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/112/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/112/v1/model.glb\" alt=\"Runestone Conservatory Crystal Seed Planter\" 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/112/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/112/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"113","slug":"runestone-conservatory-botanical-seed-cabinet","title":"Runestone Conservatory Botanical Seed Cabinet","summary":"A narrow jade trimmed cabinet with six labeled drawer fronts, a display shelf and an inset rune crest.","description":"A closed six drawer cabinet with blank label plates and static pulls. Upper display shelf is open.\n\nMeasured bounds: 0.98 × 1.85 × 0.55 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-botanical-seed-cabinet","cdnUrl":"https://cdn.3dassets.dev/assets/113/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-botanical-seed-cabinet","thumbnailUrl":"https://cdn.3dassets.dev/assets/113/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/113/v1/poster.webp","blurhash":"U6B:{W~W0000?^S5HrwI0LE1$z=|^+-:E24:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":40692,"triangles":744,"vertices":2232,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.49000000953674316,0,-0.2500021411613902],"max":[0.49000000953674316,1.850005334170587,0.30163335091471]},"sizeMeters":[0.98,1.85,0.552],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:25.060Z","updatedAt":"2026-09-06T03:41:45.752Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/113/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryBotanicalSeedCabinet(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/113/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/113/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/113/v1/model.glb\" alt=\"Runestone Conservatory Botanical Seed Cabinet\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/113/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/113/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"114","slug":"runestone-conservatory-botanical-orrery","title":"Runestone Conservatory Botanical Orrery","summary":"A brass toned botanical orrery with crossed orbit rings, three seed globes and a glowing central sphere.","description":"A static tabletop instrument. Orbit rings and globes have no animation or astronomical simulation.\n\nMeasured bounds: 0.87 × 1.12 × 0.76 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-botanical-orrery","cdnUrl":"https://cdn.3dassets.dev/assets/114/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-botanical-orrery","thumbnailUrl":"https://cdn.3dassets.dev/assets/114/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/114/v1/poster.webp","blurhash":"U6C%8J^+000000WC_Mae00Rj~qtQInWB%3oN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":52432,"triangles":1004,"vertices":3012,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.41798358642866146,0.000013121390366688246,-0.3799999952316284],"max":[0.45500001311302185,1.1200000047683716,0.3799999952316284]},"sizeMeters":[0.873,1.12,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:27.139Z","updatedAt":"2026-09-06T03:41:45.737Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/114/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryBotanicalOrrery(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/114/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/114/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/114/v1/model.glb\" alt=\"Runestone Conservatory Botanical Orrery\" 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/114/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/114/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"115","slug":"runestone-conservatory-lotus-scrying-basin","title":"Runestone Conservatory Lotus Scrying Basin","summary":"A carved stone basin on a flared pedestal with jade water inset and three amethyst rim studs for magical workshops.","description":"A static pedestal basin. The water surface is opaque and emissive with no reflection or fluid simulation.\n\nMeasured bounds: 0.95 × 0.95 × 0.93 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-lotus-scrying-basin","cdnUrl":"https://cdn.3dassets.dev/assets/115/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-lotus-scrying-basin","thumbnailUrl":"https://cdn.3dassets.dev/assets/115/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/115/v1/poster.webp","blurhash":"U6ED0H_N0000PVo#v}t7DjRj?ax]rWRPS4oz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":38392,"triangles":728,"vertices":2184,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.4650000035762787,0,-0.4650000035762787],"max":[0.4850050321318762,0.9499853755320913,0.4650000035762787]},"sizeMeters":[0.95,0.95,0.93],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:28.906Z","updatedAt":"2026-09-06T03:41:45.727Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/115/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryLotusScryingBasin(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/115/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/115/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/115/v1/model.glb\" alt=\"Runestone Conservatory Lotus Scrying Basin\" 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/115/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/115/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"116","slug":"runestone-conservatory-botanical-potion-rack","title":"Runestone Conservatory Botanical Potion Rack","summary":"A compact wooden rack holding three differently shaped stoppered potion bottles for fantasy crafting benches.","description":"An opaque bottle display with three distinct container silhouettes. No liquid volume or transparency is claimed.\n\nMeasured bounds: 0.95 × 0.48 × 0.36 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-botanical-potion-rack","cdnUrl":"https://cdn.3dassets.dev/assets/116/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-botanical-potion-rack","thumbnailUrl":"https://cdn.3dassets.dev/assets/116/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/116/v1/poster.webp","blurhash":"UAF62w_34TtQIV~p?aD%00M_t,RR-njEIBWF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":25168,"triangles":452,"vertices":1356,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.4749999940395355,-0.00002960530663514982,-0.1750137311331313],"max":[0.4749999940395355,0.4800295945777991,0.18999732626592902]},"sizeMeters":[0.95,0.48,0.365],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:30.759Z","updatedAt":"2026-09-06T03:41:45.718Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/116/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryBotanicalPotionRack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/116/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/116/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/116/v1/model.glb\" alt=\"Runestone Conservatory Botanical Potion Rack\" 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/116/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/116/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"117","slug":"runestone-conservatory-rune-pruning-sickle","title":"Runestone Conservatory Rune Pruning Sickle","summary":"A small jade handled pruning sickle with a curved pale blade and amethyst grip pommel for fantasy gathering games.","description":"A static hand tool with a segmented curved blade. Intended for inventory previews and equipment placement.\n\nMeasured bounds: 0.44 × 0.92 × 0.12 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-rune-pruning-sickle","cdnUrl":"https://cdn.3dassets.dev/assets/117/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-rune-pruning-sickle","thumbnailUrl":"https://cdn.3dassets.dev/assets/117/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/117/v1/poster.webp","blurhash":"U58g?HkX00i]~pD%4n~q00M__M.84.%g?H8_","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":23412,"triangles":432,"vertices":1296,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.06001134209463775,0,-0.06001134209463775],"max":[0.3822533816838644,0.923646867275238,0.06001134209463775]},"sizeMeters":[0.442,0.924,0.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:32.444Z","updatedAt":"2026-09-06T03:41:45.711Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/117/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryRunePruningSickle(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/117/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/117/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/117/v1/model.glb\" alt=\"Runestone Conservatory Rune Pruning Sickle\" 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/117/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/117/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"118","slug":"runestone-conservatory-seedkeeper-crystal-staff","title":"Runestone Conservatory Seedkeeper Crystal Staff","summary":"A branching wooden staff cradling a mint crystal in a jade ring for fantasy gardeners and spellcasting characters.","description":"A static upright staff with solid branches and a luminous crystal head. No spell behavior or animation.\n\nMeasured bounds: 0.45 × 1.82 × 0.12 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-seedkeeper-crystal-staff","cdnUrl":"https://cdn.3dassets.dev/assets/118/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-seedkeeper-crystal-staff","thumbnailUrl":"https://cdn.3dassets.dev/assets/118/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/118/v1/poster.webp","blurhash":"U67d?_xu00IA_Noy4nRQ?bof9FRkspbGR*jG","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":48952,"triangles":932,"vertices":2796,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.2256960878312673,0,-0.06061189535441468],"max":[0.2256960878312673,1.8220000267028809,0.06061189535441468]},"sizeMeters":[0.451,1.822,0.121],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:34.506Z","updatedAt":"2026-09-06T03:41:45.702Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/118/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatorySeedkeeperCrystalStaff(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/118/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/118/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/118/v1/model.glb\" alt=\"Runestone Conservatory Seedkeeper Crystal Staff\" 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/118/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/118/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"119","slug":"runestone-conservatory-moonfruit-cluster","title":"Runestone Conservatory Moonfruit Cluster","summary":"Three pale fantasy fruits with amethyst ridges and jade leaves for magical garden harvests and crafting ingredients.","description":"A cluster of three fictional botanical fruits with a shared stem. Static food pickup geometry.\n\nMeasured bounds: 0.73 × 0.50 × 0.41 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-moonfruit-cluster","cdnUrl":"https://cdn.3dassets.dev/assets/119/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-moonfruit-cluster","thumbnailUrl":"https://cdn.3dassets.dev/assets/119/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/119/v1/poster.webp","blurhash":"U9C74y-p00tlEKs:wzIV00E1_Msp=}flOUxt","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":49396,"triangles":972,"vertices":2916,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,-0.000009307707218630945,-0.14264900636988762],"max":[0.3799999952316284,0.5022423571897633,0.2626490111382592]},"sizeMeters":[0.73,0.502,0.405],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:35.905Z","updatedAt":"2026-09-06T03:41:45.693Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/119/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryMoonfruitCluster(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/119/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/119/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/119/v1/model.glb\" alt=\"Runestone Conservatory Moonfruit Cluster\" 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/119/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/119/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"120","slug":"runestone-conservatory-star-seed-pod","title":"Runestone Conservatory Star Seed Pod","summary":"An opened five chamber seed pod with pale shell petals and five glowing seeds for fantasy gardening inventories.","description":"A fictional harvestable seed pod shown already open. Shell and seeds are combined in one static object.\n\nMeasured bounds: 0.47 × 0.28 × 0.49 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-star-seed-pod","cdnUrl":"https://cdn.3dassets.dev/assets/120/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-star-seed-pod","thumbnailUrl":"https://cdn.3dassets.dev/assets/120/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/120/v1/poster.webp","blurhash":"UCA^anoz00jZ_3fkD%jb00V@_Nay00ay?bWB","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":63764,"triangles":1256,"vertices":3768,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.22324905153788577,0,-0.24314790964126587],"max":[0.24998666700400363,0.27500482237097634,0.24314790964126587]},"sizeMeters":[0.473,0.275,0.486],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:37.861Z","updatedAt":"2026-09-06T03:41:45.685Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/120/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryStarSeedPod(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/120/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/120/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/120/v1/model.glb\" alt=\"Runestone Conservatory Star Seed Pod\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/120/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/120/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"121","slug":"runestone-conservatory-conservatory-key-icon","title":"Runestone Conservatory Conservatory Key Icon","summary":"A thick ornamental key with a leaf shaped bow, amethyst center and two stepped teeth for fantasy garden quests.","description":"A static 3D key icon standing upright. Bow opening and stepped bit are modeled geometry.\n\nMeasured bounds: 0.45 × 0.81 × 0.08 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-conservatory-key-icon","cdnUrl":"https://cdn.3dassets.dev/assets/121/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-conservatory-key-icon","thumbnailUrl":"https://cdn.3dassets.dev/assets/121/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/121/v1/poster.webp","blurhash":"U7BDc*xu00IU_M%fDj8{9YR*%Mxb00Rj?us:","category":{"slug":"icons","title":"3D Icons & UI"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":31444,"triangles":584,"vertices":1752,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.22499999403953552,0,-0.03895413198167507],"max":[0.22499999403953552,0.8100000023841858,0.03895413198167507]},"sizeMeters":[0.45,0.81,0.078],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:39.342Z","updatedAt":"2026-09-06T03:41:45.678Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/121/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryConservatoryKeyIcon(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/121/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/121/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/121/v1/model.glb\" alt=\"Runestone Conservatory Conservatory Key Icon\" 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/121/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/121/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"122","slug":"runestone-conservatory-botanical-ritual-circle","title":"Runestone Conservatory Botanical Ritual Circle","summary":"A thin static spell circle with two luminous rings, six directional glyphs and a central leaf motif.","description":"An opaque raised spell marker that sits above a floor. Static emissive geometry without particles or decal blending.\n\nMeasured bounds: 1.44 × 0.05 × 1.44 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-botanical-ritual-circle","cdnUrl":"https://cdn.3dassets.dev/assets/122/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-botanical-ritual-circle","thumbnailUrl":"https://cdn.3dassets.dev/assets/122/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/122/v1/poster.webp","blurhash":"U9BgC{xu00RQtRj[V@oM00Rj_NkBM{ayogR%","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":33992,"triangles":652,"vertices":1956,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7179999947547913,0.000005446817694858969,-0.7179999947547913],"max":[0.7179999947547913,0.04558300927657012,0.7179999947547913]},"sizeMeters":[1.436,0.046,1.436],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:41.492Z","updatedAt":"2026-09-06T03:41:45.670Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/122/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryBotanicalRitualCircle(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/122/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/122/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/122/v1/model.glb\" alt=\"Runestone Conservatory Botanical Ritual Circle\" 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/122/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/122/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"123","slug":"runestone-conservatory-seedlight-reward-orb","title":"Runestone Conservatory Seedlight Reward Orb","summary":"A softly luminous orb held inside three jade leaf arcs with small amethyst satellites for magical crafting rewards.","description":"A static emissive reward marker. The orb has no point light, animation or particle system.\n\nMeasured bounds: 0.52 × 0.54 × 0.59 m (width × height × depth). One unit is one metre. Grounded origin at y=0, +Y up and front +Z. Static unrigged geometry. Place freely at world scale. Materials are shared within the Runestone Conservatory kit. CC0 original procedural geometry.\n\nPart of [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-seedlight-reward-orb","cdnUrl":"https://cdn.3dassets.dev/assets/123/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-seedlight-reward-orb","thumbnailUrl":"https://cdn.3dassets.dev/assets/123/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/123/v1/poster.webp","blurhash":"UBBzk5_N004Uxvj]s:%300IA_M.7M_RjNFNF","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":45664,"triangles":880,"vertices":2640,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.18500686994315135,0,-0.2948076128959656],"max":[0.33500687590361583,0.5349806966522984,0.2948076128959656]},"sizeMeters":[0.52,0.535,0.59],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:43.191Z","updatedAt":"2026-09-06T03:41:45.662Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/123/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatorySeedlightRewardOrb(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/123/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/123/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/123/v1/model.glb\" alt=\"Runestone Conservatory Seedlight Reward Orb\" 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/123/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/123/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"124","slug":"runestone-conservatory-starter-scene","title":"Runestone Conservatory starter scene","summary":"A composed runestone conservatory scene with named objects. Use it as a starting layout for a web or mobile game.","description":"A composed example built from the Runestone Conservatory 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 [Runestone Conservatory](/packs/runestone-conservatory).","status":"published","url":"https://3dassets.dev/assets/runestone-conservatory-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/124/v1/model.glb","downloadUrl":"https://3dassets.dev/download/runestone-conservatory-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/124/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/124/v1/poster.webp","blurhash":"UAC7QXt600RkDPRjX7oz00R+.8ob?]xuxuad","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"stylized","title":"Stylized"},{"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":1197532,"triangles":23912,"vertices":71736,"meshes":101,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-5.674960387885619,-0.20027772106725267,-5.710000038146973],"max":[5.479861510932494,4.0499222399161265,6.025000095367432]},"sizeMeters":[11.155,4.25,11.735],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T03:09:46.973Z","updatedAt":"2026-09-06T03:41:45.655Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/124/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunestoneConservatoryStarterScene(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/124/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/124/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/124/v1/model.glb\" alt=\"Runestone Conservatory 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/124/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/124/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}