{"data":{"id":29,"slug":"primitive-crafting-workshop","title":"Primitive Crafting Workshop","summary":"Stone-age crafting tools and stations: flint axes, arrowheads and scrapers, bone needles and hooks, spindles and looms, rope and netting jigs, hide frames and leatherworking gear.","description":"Primitive Crafting Workshop: individually specified survival equipment, honest static construction, metre scale. CC0, AI-generated. ","url":"https://3dassets.dev/packs/primitive-crafting-workshop","coverUrl":"https://cdn.3dassets.dev/assets/21589/v1/poster.webp","assetCount":62,"aiGenerated":true,"aiGeneratedAssetCount":62,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":4695000,"totalTriangles":101340,"starterScene":{"id":"21589","slug":"primitive-crafting-workshop-fibre-and-hi-c00b3e7e-starter-scene","title":"Fibre and Hide Workshop (Primitive Crafting Workshop)","summary":"Composed fibre and hide workshop with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed fibre and hide workshop with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-fibre-and-hi-c00b3e7e-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/21589/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-fibre-and-hi-c00b3e7e-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/21589/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21589/v1/poster.webp","blurhash":"U26Q-eM}019t%Ls.IUIp00%L~BweIBWC?a%K","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":304068,"triangles":15632,"vertices":11108,"meshes":18,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.6040033843844315,-0.00002035097428726429,-1.2999864200282278],"max":[2.8794775345969628,1.8700000047683716,1.570330262184143]},"sizeMeters":[5.483,1.87,2.87],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T17:27:10.325Z","updatedAt":"2026-10-12T09:39:07.549Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21589/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FibreAndHideWorkshopPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21589/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21589/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21589/v1/model.glb\" alt=\"Fibre and Hide Workshop (Primitive Crafting Workshop)\" 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/21589/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/21589/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"21532","slug":"primitive-crafting-workshop-flint-handaxe-08cecb49","title":"Flint Handaxe (Primitive Crafting Workshop)","summary":"Flint Handaxe: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Flint Handaxe. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.18 × 0.31 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-flint-handaxe-08cecb49","cdnUrl":"https://cdn.3dassets.dev/assets/21532/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-flint-handaxe-08cecb49","thumbnailUrl":"https://cdn.3dassets.dev/assets/21532/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21532/v1/poster.webp","blurhash":"UDDS,dx]00D%%MRkIVxu00Rj~pxbV[oyoyRk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":3172,"triangles":44,"vertices":132,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.09072360909537765,0,-0.03299724424122185],"max":[0.09072360909537765,0.3082157075405121,0.03299724424122185]},"sizeMeters":[0.181,0.308,0.066],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:46.157Z","updatedAt":"2026-10-06T06:18:40.181Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21532/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlintHandaxePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21532/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21532/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21532/v1/model.glb\" alt=\"Flint Handaxe (Primitive Crafting Workshop)\" 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/21532/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/21532/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21534","slug":"primitive-crafting-workshop-hafted-stone-axe-861169c1","title":"Hafted Stone Axe (Primitive Crafting Workshop)","summary":"Hafted Stone Axe: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Hafted Stone Axe. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.24 × 0.60 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-hafted-stone-axe-861169c1","cdnUrl":"https://cdn.3dassets.dev/assets/21534/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-hafted-stone-axe-861169c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/21534/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21534/v1/poster.webp","blurhash":"UA7nH~%L009Z~pxt4oIUj[ofj[V@8{Rk.7t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":69180,"triangles":1260,"vertices":3780,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.11807408183813095,0,-0.05350000038743019],"max":[0.11807408183813095,0.6000000238418579,0.05349674536665668]},"sizeMeters":[0.236,0.6,0.107],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:46.198Z","updatedAt":"2026-10-06T04:21:28.685Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21534/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HaftedStoneAxePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21534/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21534/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21534/v1/model.glb\" alt=\"Hafted Stone Axe (Primitive Crafting Workshop)\" 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/21534/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/21534/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21535","slug":"primitive-crafting-workshop-stone-adze-f83eb715","title":"Stone Adze (Primitive Crafting Workshop)","summary":"Stone Adze: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stone Adze. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.25 × 0.58 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-stone-adze-f83eb715","cdnUrl":"https://cdn.3dassets.dev/assets/21535/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-stone-adze-f83eb715","thumbnailUrl":"https://cdn.3dassets.dev/assets/21535/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21535/v1/poster.webp","blurhash":"UB7w$s%M019F~px[4oD%tRt7V@M{D%WB%Mt6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21276,"triangles":264,"vertices":792,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.12341273576021194,0,-0.07904224107699369],"max":[0.12341273576021194,0.5829967761734973,0.07903545111751792]},"sizeMeters":[0.247,0.583,0.158],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:46.214Z","updatedAt":"2026-10-06T06:18:40.101Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21535/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneAdzePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21535/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21535/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21535/v1/model.glb\" alt=\"Stone Adze (Primitive Crafting Workshop)\" 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/21535/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/21535/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21531","slug":"primitive-crafting-workshop-flint-scraper-58f5fcd3","title":"Flint Scraper (Primitive Crafting Workshop)","summary":"Flint Scraper: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Flint Scraper. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.19 × 0.13 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-flint-scraper-58f5fcd3","cdnUrl":"https://cdn.3dassets.dev/assets/21531/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-flint-scraper-58f5fcd3","thumbnailUrl":"https://cdn.3dassets.dev/assets/21531/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21531/v1/poster.webp","blurhash":"UFHxvd~q00%Mx[^+xuIV00IU%MM{R*IUWBM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2788,"triangles":36,"vertices":108,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.0932161808013916,0.0000027268367807364857,-0.02049407533473388],"max":[0.0932161808013916,0.12621027238788204,0.02049407533473388]},"sizeMeters":[0.186,0.126,0.041],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:46.183Z","updatedAt":"2026-10-06T06:18:42.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21531/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlintScraperPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21531/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21531/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21531/v1/model.glb\" alt=\"Flint Scraper (Primitive Crafting Workshop)\" 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/21531/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/21531/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21530","slug":"primitive-crafting-workshop-leaf-spearhead-e2a68a15","title":"Leaf Spearhead (Primitive Crafting Workshop)","summary":"Leaf Spearhead: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Leaf Spearhead. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.15 × 0.41 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-leaf-spearhead-e2a68a15","cdnUrl":"https://cdn.3dassets.dev/assets/21530/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-leaf-spearhead-e2a68a15","thumbnailUrl":"https://cdn.3dassets.dev/assets/21530/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21530/v1/poster.webp","blurhash":"U9A,zfxu00D%-;ayIUof00Rk~qt7IUj]%LRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":3176,"triangles":44,"vertices":132,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.07320870724842206,0,-0.015508153566119546],"max":[0.07320870724842206,0.4084852635860443,0.015508153566119546]},"sizeMeters":[0.146,0.408,0.031],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:46.171Z","updatedAt":"2026-10-06T06:18:42.970Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21530/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeafSpearheadPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21530/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21530/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21530/v1/model.glb\" alt=\"Leaf Spearhead (Primitive Crafting Workshop)\" 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/21530/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/21530/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21537","slug":"primitive-crafting-workshop-notched-arrowhead-aed15f40","title":"Notched Arrowhead (Primitive Crafting Workshop)","summary":"Notched Arrowhead: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Notched Arrowhead. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.09 × 0.13 × 0.02 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-notched-arrowhead-aed15f40","cdnUrl":"https://cdn.3dassets.dev/assets/21537/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-notched-arrowhead-aed15f40","thumbnailUrl":"https://cdn.3dassets.dev/assets/21537/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21537/v1/poster.webp","blurhash":"UCC?oyxu00IUIUt6t7M|00Ri~pxuxuRjWBxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":3572,"triangles":52,"vertices":156,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.04355847923446117,0,-0.009001386722428546],"max":[0.04355847923446117,0.12724263966083527,0.009001386722428546]},"sizeMeters":[0.087,0.127,0.018],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T17:26:46.325Z","updatedAt":"2026-10-06T06:18:43.571Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21537/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NotchedArrowheadPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21537/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21537/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21537/v1/model.glb\" alt=\"Notched Arrowhead (Primitive Crafting Workshop)\" 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/21537/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/21537/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21533","slug":"primitive-crafting-workshop-stone-chisel-6f3ad718","title":"Stone Chisel (Primitive Crafting Workshop)","summary":"Stone Chisel: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stone Chisel. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.09 × 0.23 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-stone-chisel-6f3ad718","cdnUrl":"https://cdn.3dassets.dev/assets/21533/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-stone-chisel-6f3ad718","thumbnailUrl":"https://cdn.3dassets.dev/assets/21533/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21533/v1/poster.webp","blurhash":"U7ECtP~q0000?bxuD%IU00ax?aa~xuxuRiD*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2400,"triangles":28,"vertices":84,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.045586817449035325,0,-0.02299912853022245],"max":[0.045586817449035325,0.22658221423625946,0.02299912853022245]},"sizeMeters":[0.091,0.227,0.046],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:46.160Z","updatedAt":"2026-10-06T06:18:43.896Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21533/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneChiselPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21533/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21533/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21533/v1/model.glb\" alt=\"Stone Chisel (Primitive Crafting Workshop)\" 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/21533/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/21533/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21536","slug":"primitive-crafting-workshop-grooved-hammerstone-e48d64e2","title":"Grooved Hammerstone (Primitive Crafting Workshop)","summary":"Grooved Hammerstone: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Grooved Hammerstone. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.15 × 0.10 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-grooved-hammerstone-e48d64e2","cdnUrl":"https://cdn.3dassets.dev/assets/21536/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-grooved-hammerstone-e48d64e2","thumbnailUrl":"https://cdn.3dassets.dev/assets/21536/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21536/v1/poster.webp","blurhash":"UCDS:j%M00IUxtWARjog00M|~pt7IVt7xuRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":50256,"triangles":1008,"vertices":3024,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07699999958276749,0.000002358860251856776,-0.07763572037220001],"max":[0.07699999958276749,0.09805815219235664,0.07763572037220001]},"sizeMeters":[0.154,0.098,0.155],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:46.236Z","updatedAt":"2026-10-06T06:18:47.529Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21536/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GroovedHammerstonePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21536/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21536/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21536/v1/model.glb\" alt=\"Grooved Hammerstone (Primitive Crafting Workshop)\" 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/21536/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/21536/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21539","slug":"primitive-crafting-workshop-knapping-billet-367d0245","title":"Knapping Billet (Primitive Crafting Workshop)","summary":"Knapping Billet: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Knapping Billet. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.11 × 0.32 × 0.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-knapping-billet-367d0245","cdnUrl":"https://cdn.3dassets.dev/assets/21539/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-knapping-billet-367d0245","thumbnailUrl":"https://cdn.3dassets.dev/assets/21539/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21539/v1/poster.webp","blurhash":"UF8|w^t701Io~qof8{Rj-;j[IUaeM|WCt6of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15576,"triangles":160,"vertices":480,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.054999999701976776,-5.9604643443123e-10,-0.054999999701976776],"max":[0.054999999701976776,0.3199970969756857,0.054999999701976776]},"sizeMeters":[0.11,0.32,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:49.549Z","updatedAt":"2026-10-06T06:18:46.962Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21539/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KnappingBilletPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21539/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21539/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21539/v1/model.glb\" alt=\"Knapping Billet (Primitive Crafting Workshop)\" 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/21539/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/21539/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21541","slug":"primitive-crafting-workshop-stone-auger-2127d169","title":"Stone Auger (Primitive Crafting Workshop)","summary":"Stone Auger: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Stone Auger. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.24 × 0.47 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-stone-auger-2127d169","cdnUrl":"https://cdn.3dassets.dev/assets/21541/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-stone-auger-2127d169","thumbnailUrl":"https://cdn.3dassets.dev/assets/21541/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21541/v1/poster.webp","blurhash":"U56HT7$%009v_MkC4nRit,S4Mdw]sDoJW-Wr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20108,"triangles":228,"vertices":684,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.1199945051625617,0,-0.025003204129746114],"max":[0.1199945051625617,0.4699999988079071,0.025003204129746114]},"sizeMeters":[0.24,0.47,0.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:49.619Z","updatedAt":"2026-10-06T06:18:48.589Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21541/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneAugerPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21541/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21541/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21541/v1/model.glb\" alt=\"Stone Auger (Primitive Crafting Workshop)\" 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/21541/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/21541/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21542","slug":"primitive-crafting-workshop-bone-awl-a683c4bd","title":"Bone Awl (Primitive Crafting Workshop)","summary":"Bone Awl: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bone Awl. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.07 × 0.20 × 0.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-bone-awl-a683c4bd","cdnUrl":"https://cdn.3dassets.dev/assets/21542/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-bone-awl-a683c4bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/21542/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21542/v1/poster.webp","blurhash":"U7AJ_{-:004n4oRk?bxt00Rj~p%M-;s;IURj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16788,"triangles":328,"vertices":984,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.035001679039586835,0,-0.02450025977241286],"max":[0.035001679039586835,0.20000000298023224,0.02450025977241286]},"sizeMeters":[0.07,0.2,0.049],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:49.636Z","updatedAt":"2026-10-25T10:16:39.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21542/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoneAwlPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21542/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21542/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21542/v1/model.glb\" alt=\"Bone Awl (Primitive Crafting Workshop)\" 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/21542/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/21542/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21538","slug":"primitive-crafting-workshop-bone-needle-44ef71e9","title":"Bone Needle (Primitive Crafting Workshop)","summary":"Bone Needle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bone Needle. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.03 × 0.17 × 0.01 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-bone-needle-44ef71e9","cdnUrl":"https://cdn.3dassets.dev/assets/21538/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-bone-needle-44ef71e9","thumbnailUrl":"https://cdn.3dassets.dev/assets/21538/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21538/v1/poster.webp","blurhash":"U38|@Y-;0000~Voe4.NH-:s;E2M_-;kCD%V?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16796,"triangles":328,"vertices":984,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.017003326057390918,-2.98023217215615e-10,-0.006000549170784427],"max":[0.017003326057390918,0.17399999499320984,0.006000549170784427]},"sizeMeters":[0.034,0.174,0.012],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:49.489Z","updatedAt":"2026-10-25T09:20:51.010Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21538/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoneNeedlePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21538/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21538/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21538/v1/model.glb\" alt=\"Bone Needle (Primitive Crafting Workshop)\" 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/21538/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/21538/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21540","slug":"primitive-crafting-workshop-bone-fishhook-817fa9df","title":"Bone Fishhook (Primitive Crafting Workshop)","summary":"Bone Fishhook: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bone Fishhook. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.08 × 0.15 × 0.02 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-bone-fishhook-817fa9df","cdnUrl":"https://cdn.3dassets.dev/assets/21540/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-bone-fishhook-817fa9df","thumbnailUrl":"https://cdn.3dassets.dev/assets/21540/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21540/v1/poster.webp","blurhash":"U7BDTdWB00%LIUM{t7-;00Rj~pxt-;xuM{IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24680,"triangles":492,"vertices":1476,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.03941272558142415,0,-0.00800258387440084],"max":[0.03941272558142415,0.14567814767360687,0.00800258387440084]},"sizeMeters":[0.079,0.146,0.016],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:49.583Z","updatedAt":"2026-10-25T11:49:19.200Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21540/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoneFishhookPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21540/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21540/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21540/v1/model.glb\" alt=\"Bone Fishhook (Primitive Crafting Workshop)\" 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/21540/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/21540/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21543","slug":"primitive-crafting-workshop-antler-pressure-flaker-46491a71","title":"Antler Pressure Flaker (Primitive Crafting Workshop)","summary":"Antler Pressure Flaker: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Antler Pressure Flaker. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.13 × 0.26 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-antler-pressure-flaker-46491a71","cdnUrl":"https://cdn.3dassets.dev/assets/21543/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-antler-pressure-flaker-46491a71","thumbnailUrl":"https://cdn.3dassets.dev/assets/21543/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21543/v1/poster.webp","blurhash":"U6AJ_{%M004oxuM{WB?a01IV~p?a9FWB-:j]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13772,"triangles":264,"vertices":792,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.06727174465793873,0,-0.020992377623140306],"max":[0.06727174465793873,0.2582046687602997,0.020992377623140306]},"sizeMeters":[0.135,0.258,0.042],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:49.669Z","updatedAt":"2026-10-25T07:30:39.945Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21543/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AntlerPressureFlakerPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21543/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21543/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21543/v1/model.glb\" alt=\"Antler Pressure Flaker (Primitive Crafting Workshop)\" 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/21543/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/21543/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21545","slug":"primitive-crafting-workshop-antler-pick-2cf69044","title":"Antler Pick (Primitive Crafting Workshop)","summary":"Antler Pick: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Antler Pick. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.30 × 0.38 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-antler-pick-2cf69044","cdnUrl":"https://cdn.3dassets.dev/assets/21545/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-antler-pick-2cf69044","thumbnailUrl":"https://cdn.3dassets.dev/assets/21545/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21545/v1/poster.webp","blurhash":"U7AwF+-;0000~pM|E1-p01M|_3-:4nxt%MIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":13728,"triangles":264,"vertices":792,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.1501395808730712,0,-0.029997003232351896],"max":[0.1501395808730712,0.3751571774482727,0.029997003232351896]},"sizeMeters":[0.3,0.375,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:49.800Z","updatedAt":"2026-10-06T06:21:17.739Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21545/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AntlerPickPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21545/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21545/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21545/v1/model.glb\" alt=\"Antler Pick (Primitive Crafting Workshop)\" 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/21545/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/21545/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21544","slug":"primitive-crafting-workshop-bone-spatula-a9b7f502","title":"Bone Spatula (Primitive Crafting Workshop)","summary":"Bone Spatula: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bone Spatula. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.25 × 0.34 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-bone-spatula-a9b7f502","cdnUrl":"https://cdn.3dassets.dev/assets/21544/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-bone-spatula-a9b7f502","thumbnailUrl":"https://cdn.3dassets.dev/assets/21544/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21544/v1/poster.webp","blurhash":"UKB|EDxu00IU~pxu9FIUD*t7%MM{9FWB%MWC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41096,"triangles":692,"vertices":2076,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.12327202464239201,-2.98023217215615e-10,-0.02898808486108672],"max":[0.12327202464239201,0.34299999475479126,0.02898808486108672]},"sizeMeters":[0.247,0.343,0.058],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:49.773Z","updatedAt":"2026-10-25T10:08:45.353Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21544/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoneSpatulaPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21544/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21544/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21544/v1/model.glb\" alt=\"Bone Spatula (Primitive Crafting Workshop)\" 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/21544/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/21544/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21547","slug":"primitive-crafting-workshop-bone-comb-951bd956","title":"Bone Comb (Primitive Crafting Workshop)","summary":"Bone Comb: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bone Comb. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.16 × 0.12 × 0.02 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-bone-comb-951bd956","cdnUrl":"https://cdn.3dassets.dev/assets/21547/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-bone-comb-951bd956","thumbnailUrl":"https://cdn.3dassets.dev/assets/21547/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21547/v1/poster.webp","blurhash":"UCH2WS?b00xt_3~pkC9G00t7?bRjM|-;t7D*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":40796,"triangles":828,"vertices":2484,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,0.0000031304754578090344,-0.010000304961570521],"max":[0.07999999821186066,0.11499687161070477,0.010000304961570521]},"sizeMeters":[0.16,0.115,0.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:52.956Z","updatedAt":"2026-10-25T09:27:56.757Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21547/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoneCombPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21547/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21547/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21547/v1/model.glb\" alt=\"Bone Comb (Primitive Crafting Workshop)\" 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/21547/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/21547/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21546","slug":"primitive-crafting-workshop-bone-harpoon-head-ed126977","title":"Bone Harpoon Head (Primitive Crafting Workshop)","summary":"Bone Harpoon Head: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Bone Harpoon Head. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.06 × 0.26 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-bone-harpoon-head-ed126977","cdnUrl":"https://cdn.3dassets.dev/assets/21546/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-bone-harpoon-head-ed126977","thumbnailUrl":"https://cdn.3dassets.dev/assets/21546/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21546/v1/poster.webp","blurhash":"U7Amr8%M004nM{fkt7WB00j?~pWFxut6M|M|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":6836,"triangles":120,"vertices":360,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.031326638457867303,0,-0.014996795006425838],"max":[0.031326638457867303,0.25999999046325684,0.014996795006425838]},"sizeMeters":[0.063,0.26,0.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:52.830Z","updatedAt":"2026-10-25T11:53:14.593Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21546/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoneHarpoonHeadPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21546/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21546/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21546/v1/model.glb\" alt=\"Bone Harpoon Head (Primitive Crafting Workshop)\" 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/21546/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/21546/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21548","slug":"primitive-crafting-workshop-shell-scraper-50ae4ef1","title":"Shell Scraper (Primitive Crafting Workshop)","summary":"Shell Scraper: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Shell Scraper. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.18 × 0.06 × 0.18 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-shell-scraper-50ae4ef1","cdnUrl":"https://cdn.3dassets.dev/assets/21548/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-shell-scraper-50ae4ef1","thumbnailUrl":"https://cdn.3dassets.dev/assets/21548/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21548/v1/poster.webp","blurhash":"UEDl=*%M00RjM|WBodoe00M{~qj[%1oyWXWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":49044,"triangles":984,"vertices":2952,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09000000357627869,-0.000003433332452479343,-0.09000000357627869],"max":[0.09000000357627869,0.0625521211948753,0.09000000357627869]},"sizeMeters":[0.18,0.063,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:52.968Z","updatedAt":"2026-10-06T06:21:17.858Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21548/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShellScraperPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21548/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21548/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21548/v1/model.glb\" alt=\"Shell Scraper (Primitive Crafting Workshop)\" 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/21548/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/21548/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21549","slug":"primitive-crafting-workshop-tooth-pendant-a5d241cf","title":"Tooth Pendant (Primitive Crafting Workshop)","summary":"Tooth Pendant: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Tooth Pendant. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.06 × 0.16 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-tooth-pendant-a5d241cf","cdnUrl":"https://cdn.3dassets.dev/assets/21549/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-tooth-pendant-a5d241cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/21549/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21549/v1/poster.webp","blurhash":"U49jx~%M004.00M{~X.7o#WVoHs;-rt6E0My","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17516,"triangles":328,"vertices":984,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.028999999165534973,-7.450580707946131e-10,-0.019997253781120605],"max":[0.028999999165534973,0.15799999609589577,0.019997253781120605]},"sizeMeters":[0.058,0.158,0.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:53.052Z","updatedAt":"2026-10-06T06:21:19.623Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21549/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ToothPendantPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21549/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21549/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21549/v1/model.glb\" alt=\"Tooth Pendant (Primitive Crafting Workshop)\" 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/21549/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/21549/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21551","slug":"primitive-crafting-workshop-spindle-whorl-22bd1a8a","title":"Spindle Whorl (Primitive Crafting Workshop)","summary":"Spindle Whorl: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Spindle Whorl. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.14 × 0.05 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-spindle-whorl-22bd1a8a","cdnUrl":"https://cdn.3dassets.dev/assets/21551/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-spindle-whorl-22bd1a8a","thumbnailUrl":"https://cdn.3dassets.dev/assets/21551/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21551/v1/poster.webp","blurhash":"UDASxexa0gR*9uWCxZoe02Rk?Fof~At6IpWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15564,"triangles":160,"vertices":480,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.07000000029802322,0.0000021361413389577033,-0.07000000029802322],"max":[0.07000000029802322,0.05000000074505806,0.07000000029802322]},"sizeMeters":[0.14,0.05,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:53.106Z","updatedAt":"2026-10-06T06:21:19.380Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21551/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpindleWhorlPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21551/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21551/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21551/v1/model.glb\" alt=\"Spindle Whorl (Primitive Crafting Workshop)\" 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/21551/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/21551/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21550","slug":"primitive-crafting-workshop-drop-spindle-6f40d276","title":"Drop Spindle (Primitive Crafting Workshop)","summary":"Drop Spindle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Drop Spindle. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.13 × 0.33 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-drop-spindle-6f40d276","cdnUrl":"https://cdn.3dassets.dev/assets/21550/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-drop-spindle-6f40d276","thumbnailUrl":"https://cdn.3dassets.dev/assets/21550/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21550/v1/poster.webp","blurhash":"UB8q1#xa00IVozj[V@ay00Rj~WxuVrafo}of","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":157424,"triangles":3100,"vertices":9300,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.06499999761581421,0,-0.06499999761581421],"max":[0.06499999761581421,0.33000001311302185,0.06499999761581421]},"sizeMeters":[0.13,0.33,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:53.092Z","updatedAt":"2026-10-08T01:29:57.658Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21550/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DropSpindlePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21550/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21550/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21550/v1/model.glb\" alt=\"Drop Spindle (Primitive Crafting Workshop)\" 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/21550/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/21550/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21552","slug":"primitive-crafting-workshop-rope-twisting-jig-2553c4ea","title":"Rope Twisting Jig (Primitive Crafting Workshop)","summary":"Rope Twisting Jig: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Rope Twisting Jig. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.80 × 1.14 × 0.35 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-rope-twisting-jig-2553c4ea","cdnUrl":"https://cdn.3dassets.dev/assets/21552/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-rope-twisting-jig-2553c4ea","thumbnailUrl":"https://cdn.3dassets.dev/assets/21552/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21552/v1/poster.webp","blurhash":"U36tE=xa00Vs_MxZ9FEM7MXSv}RPE2o#-VMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":111788,"triangles":1968,"vertices":5904,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.40000466388327727,0,-0.1749829541755726],"max":[0.40000466388327727,1.140020748216261,0.1749829541755726]},"sizeMeters":[0.8,1.14,0.35],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:53.136Z","updatedAt":"2026-10-06T04:31:47.244Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21552/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RopeTwistingJigPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21552/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21552/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21552/v1/model.glb\" alt=\"Rope Twisting Jig (Primitive Crafting Workshop)\" 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/21552/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/21552/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21553","slug":"primitive-crafting-workshop-cordage-spool-8141d2dd","title":"Cordage Spool (Primitive Crafting Workshop)","summary":"Cordage Spool: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Cordage Spool. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.20 × 0.23 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-cordage-spool-8141d2dd","cdnUrl":"https://cdn.3dassets.dev/assets/21553/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-cordage-spool-8141d2dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/21553/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21553/v1/poster.webp","blurhash":"UBA]?7xu00IVMxWBxut700RQ~qxu.8ozD%M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":300740,"triangles":6060,"vertices":18180,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.10000266780319952,-1.8626451769865326e-10,-0.10000266780319952],"max":[0.10000266780319952,0.23442038893699646,0.10000266780319952]},"sizeMeters":[0.2,0.234,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:53.439Z","updatedAt":"2026-10-06T06:21:22.581Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21553/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CordageSpoolPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21553/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21553/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21553/v1/model.glb\" alt=\"Cordage Spool (Primitive Crafting Workshop)\" 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/21553/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/21553/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21554","slug":"primitive-crafting-workshop-braiding-board-4183cb9e","title":"Braiding Board (Primitive Crafting Workshop)","summary":"Braiding Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Braiding Board. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.30 × 0.13 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-braiding-board-4183cb9e","cdnUrl":"https://cdn.3dassets.dev/assets/21554/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-braiding-board-4183cb9e","thumbnailUrl":"https://cdn.3dassets.dev/assets/21554/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21554/v1/poster.webp","blurhash":"U37d2pw[00-ppI9uIU?H01M|~BXSic^j=|4.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":67340,"triangles":1132,"vertices":3396,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.1500137333292642,-0.000009537071464157942,-0.25],"max":[0.1500137333292642,0.12574811925665402,0.25]},"sizeMeters":[0.3,0.126,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:56.142Z","updatedAt":"2026-10-06T06:21:21.886Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21554/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BraidingBoardPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21554/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21554/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21554/v1/model.glb\" alt=\"Braiding Board (Primitive Crafting Workshop)\" 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/21554/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/21554/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21555","slug":"primitive-crafting-workshop-fibre-bundle-0e419ed7","title":"Fibre Bundle (Primitive Crafting Workshop)","summary":"Fibre Bundle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Fibre Bundle. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.13 × 0.35 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-fibre-bundle-0e419ed7","cdnUrl":"https://cdn.3dassets.dev/assets/21555/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-fibre-bundle-0e419ed7","thumbnailUrl":"https://cdn.3dassets.dev/assets/21555/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21555/v1/poster.webp","blurhash":"U7Ci{u%M009F~pWC9Gxt9GRi-:xvofWURjoM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":83024,"triangles":1692,"vertices":5076,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06659585257376117,0,-0.06661727119644309],"max":[0.06659585257376117,0.3509120047092438,0.06661727119644309]},"sizeMeters":[0.133,0.351,0.133],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:56.258Z","updatedAt":"2026-10-06T06:21:22.168Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21555/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FibreBundlePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21555/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21555/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21555/v1/model.glb\" alt=\"Fibre Bundle (Primitive Crafting Workshop)\" 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/21555/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/21555/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21556","slug":"primitive-crafting-workshop-cord-net-panel-8859960b","title":"Cord Net Panel (Primitive Crafting Workshop)","summary":"Cord Net Panel: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Cord Net Panel. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.87 × 1.08 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-cord-net-panel-8859960b","cdnUrl":"https://cdn.3dassets.dev/assets/21556/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-cord-net-panel-8859960b","thumbnailUrl":"https://cdn.3dassets.dev/assets/21556/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21556/v1/poster.webp","blurhash":"U8B:d6%200IVR5%1x]E100Rj~qxuMxs:xuNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":98956,"triangles":1836,"vertices":5508,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4350110004153022,0,-0.03500595221598198],"max":[0.4350110004153022,1.0739961862564087,0.03500595221598198]},"sizeMeters":[0.87,1.074,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:56.290Z","updatedAt":"2026-10-05T06:10:55.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21556/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CordNetPanelPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21556/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21556/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21556/v1/model.glb\" alt=\"Cord Net Panel (Primitive Crafting Workshop)\" 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/21556/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/21556/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21558","slug":"primitive-crafting-workshop-netting-shuttle-82747098","title":"Netting Shuttle (Primitive Crafting Workshop)","summary":"Netting Shuttle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Netting Shuttle. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.10 × 0.29 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-netting-shuttle-82747098","cdnUrl":"https://cdn.3dassets.dev/assets/21558/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-netting-shuttle-82747098","thumbnailUrl":"https://cdn.3dassets.dev/assets/21558/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21558/v1/poster.webp","blurhash":"U15q9R=x010z%0oLIqNb0LV[~Vxuv~jGS$Sz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14724,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.048060782819237806,0,-0.01399413864346719],"max":[0.048060782819237806,0.2872426211833954,0.01399893221771758]},"sizeMeters":[0.096,0.287,0.028],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:56.345Z","updatedAt":"2026-10-05T19:19:00.974Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21558/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NettingShuttlePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21558/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21558/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21558/v1/model.glb\" alt=\"Netting Shuttle (Primitive Crafting Workshop)\" 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/21558/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/21558/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21557","slug":"primitive-crafting-workshop-looped-cord-sling-2143628c","title":"Looped Cord Sling (Primitive Crafting Workshop)","summary":"Looped Cord Sling: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Looped Cord Sling. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.37 × 0.32 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-looped-cord-sling-2143628c","cdnUrl":"https://cdn.3dassets.dev/assets/21557/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-looped-cord-sling-2143628c","thumbnailUrl":"https://cdn.3dassets.dev/assets/21557/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21557/v1/poster.webp","blurhash":"U3BDZp-;00VtnE~pEH0000IVjGM_kPM{-q8{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19088,"triangles":360,"vertices":1080,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.18263833224773407,0.0000031428849822275062,-0.03750419685390902],"max":[0.18263833224773407,0.32190908978805,0.03750419685390902]},"sizeMeters":[0.365,0.322,0.075],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:26:56.306Z","updatedAt":"2026-10-12T07:58:35.825Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21557/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LoopedCordSlingPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21557/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21557/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21557/v1/model.glb\" alt=\"Looped Cord Sling (Primitive Crafting Workshop)\" 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/21557/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/21557/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21559","slug":"primitive-crafting-workshop-knotting-peg-board-48c6dacc","title":"Knotting Peg Board (Primitive Crafting Workshop)","summary":"Knotting Peg Board: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Knotting Peg Board. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.50 × 0.12 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-knotting-peg-board-48c6dacc","cdnUrl":"https://cdn.3dassets.dev/assets/21559/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-knotting-peg-board-48c6dacc","thumbnailUrl":"https://cdn.3dassets.dev/assets/21559/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21559/v1/poster.webp","blurhash":"U27c?G$|0eoytRnlRjf500NL^kM|DiS_-of+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":71012,"triangles":1128,"vertices":3384,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.25,0.0000031287432677440385,-0.25],"max":[0.25,0.11499687244882517,0.25]},"sizeMeters":[0.5,0.115,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:26:56.443Z","updatedAt":"2026-10-06T06:21:22.874Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21559/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KnottingPegBoardPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21559/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21559/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21559/v1/model.glb\" alt=\"Knotting Peg Board (Primitive Crafting Workshop)\" 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/21559/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/21559/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21561","slug":"primitive-crafting-workshop-hide-stretching-frame-d1c1d240","title":"Hide Stretching Frame (Primitive Crafting Workshop)","summary":"Hide Stretching Frame: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Hide Stretching Frame. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 1.47 × 1.77 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-hide-stretching-frame-d1c1d240","cdnUrl":"https://cdn.3dassets.dev/assets/21561/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-hide-stretching-frame-d1c1d240","thumbnailUrl":"https://cdn.3dassets.dev/assets/21561/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21561/v1/poster.webp","blurhash":"U89Z}x%100IVxaxtR%IV01WC_Loxawaea$kW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":77216,"triangles":1340,"vertices":4020,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7350466853986491,0,-0.03500350925139258],"max":[0.7350466853986491,1.7699999809265137,0.03500350925139258]},"sizeMeters":[1.47,1.77,0.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:26:56.743Z","updatedAt":"2026-10-05T19:51:14.706Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21561/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HideStretchingFramePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21561/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21561/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21561/v1/model.glb\" alt=\"Hide Stretching Frame (Primitive Crafting Workshop)\" 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/21561/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/21561/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21560","slug":"primitive-crafting-workshop-fleshing-beam-dd49a09b","title":"Fleshing Beam (Primitive Crafting Workshop)","summary":"Fleshing Beam: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Fleshing Beam. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.76 × 0.98 × 1.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-fleshing-beam-dd49a09b","cdnUrl":"https://cdn.3dassets.dev/assets/21560/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-fleshing-beam-dd49a09b","thumbnailUrl":"https://cdn.3dassets.dev/assets/21560/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21560/v1/poster.webp","blurhash":"U14A]R^41I5mAENuxFwe0$NH$%S#btfj,G$i","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25660,"triangles":324,"vertices":972,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.379477534596963,0.000015603067870018084,-0.5703302621841431],"max":[0.379477534596963,0.9758100047087719,0.5703302621841431]},"sizeMeters":[0.759,0.976,1.141],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:56.708Z","updatedAt":"2026-10-05T19:50:37.118Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21560/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FleshingBeamPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21560/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21560/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21560/v1/model.glb\" alt=\"Fleshing Beam (Primitive Crafting Workshop)\" 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/21560/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/21560/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21562","slug":"primitive-crafting-workshop-leather-punch-654d43c6","title":"Leather Punch (Primitive Crafting Workshop)","summary":"Leather Punch: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Leather Punch. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.06 × 0.23 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-leather-punch-654d43c6","cdnUrl":"https://cdn.3dassets.dev/assets/21562/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-leather-punch-654d43c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/21562/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21562/v1/poster.webp","blurhash":"U45OEIxZ00EL~qoe4nRk?wf*DOeo.8oLDiR+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19404,"triangles":240,"vertices":720,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.03000381524133742,8.940696516468449e-10,-0.03000381524133742],"max":[0.03000381524133742,0.23000000417232513,0.03000381524133742]},"sizeMeters":[0.06,0.23,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:59.445Z","updatedAt":"2026-10-06T06:21:23.815Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21562/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeatherPunchPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21562/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21562/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21562/v1/model.glb\" alt=\"Leather Punch (Primitive Crafting Workshop)\" 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/21562/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/21562/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21563","slug":"primitive-crafting-workshop-strap-cutter-f2906fa2","title":"Strap Cutter (Primitive Crafting Workshop)","summary":"Strap Cutter: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Strap Cutter. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.22 × 0.06 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-strap-cutter-f2906fa2","cdnUrl":"https://cdn.3dassets.dev/assets/21563/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-strap-cutter-f2906fa2","thumbnailUrl":"https://cdn.3dassets.dev/assets/21563/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21563/v1/poster.webp","blurhash":"U25;Hw$L0f%M]$=xT0Io0gs:^PIp1i5Sv}-p","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25128,"triangles":324,"vertices":972,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.10999999940395355,-0.00000419618327150359,-0.03749710189306885],"max":[0.10999999940395355,0.055004196108765696,0.03750000149011612]},"sizeMeters":[0.22,0.055,0.075],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:59.645Z","updatedAt":"2026-10-06T06:21:25.956Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21563/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StrapCutterPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21563/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21563/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21563/v1/model.glb\" alt=\"Strap Cutter (Primitive Crafting Workshop)\" 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/21563/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/21563/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21567","slug":"primitive-crafting-workshop-sewing-palm-6999bb28","title":"Sewing Palm (Primitive Crafting Workshop)","summary":"Sewing Palm: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Sewing Palm. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.15 × 0.10 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-sewing-palm-6999bb28","cdnUrl":"https://cdn.3dassets.dev/assets/21567/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-sewing-palm-6999bb28","thumbnailUrl":"https://cdn.3dassets.dev/assets/21567/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21567/v1/poster.webp","blurhash":"U5A^gn~o00Dj4VRkS2Sd00M{_MRU_Mxa--k8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20576,"triangles":392,"vertices":1176,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07584301382303238,-0.0000032869464033566387,-0.06500135371539104],"max":[0.07584301382303238,0.0991455927228802,0.06500135371539104]},"sizeMeters":[0.152,0.099,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T17:26:59.879Z","updatedAt":"2026-10-06T06:21:26.115Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21567/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SewingPalmPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21567/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21567/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21567/v1/model.glb\" alt=\"Sewing Palm (Primitive Crafting Workshop)\" 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/21567/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/21567/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21566","slug":"primitive-crafting-workshop-leather-lacing-c1415774","title":"Leather Lacing (Primitive Crafting Workshop)","summary":"Leather Lacing: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Leather Lacing. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.21 × 0.15 × 0.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-leather-lacing-c1415774","cdnUrl":"https://cdn.3dassets.dev/assets/21566/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-leather-lacing-c1415774","thumbnailUrl":"https://cdn.3dassets.dev/assets/21566/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21566/v1/poster.webp","blurhash":"U5A-32_K00IV?sRjIVtR00IC_1nlIWxtoMIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":188276,"triangles":3900,"vertices":11700,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.10489398158867737,-0.000005678830393596179,-0.10491959750652313],"max":[0.10489398158867737,0.14942477792287712,0.10491959750652313]},"sizeMeters":[0.21,0.149,0.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:26:59.846Z","updatedAt":"2026-10-06T06:21:27.332Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21566/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeatherLacingPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21566/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21566/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21566/v1/model.glb\" alt=\"Leather Lacing (Primitive Crafting Workshop)\" 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/21566/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/21566/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21564","slug":"primitive-crafting-workshop-hide-apron-18cd672a","title":"Hide Apron (Primitive Crafting Workshop)","summary":"Hide Apron: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Hide Apron. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.37 × 0.67 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-hide-apron-18cd672a","cdnUrl":"https://cdn.3dassets.dev/assets/21564/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-hide-apron-18cd672a","thumbnailUrl":"https://cdn.3dassets.dev/assets/21564/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21564/v1/poster.webp","blurhash":"U29@hQ?s0002^ntQ4mD*04IX%X%F#m%2cCE0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26040,"triangles":356,"vertices":1068,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.18309906794931957,0,-0.018995891852732538],"max":[0.18309906794931957,0.6744249119236394,0.018999297970668967]},"sizeMeters":[0.366,0.674,0.038],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:26:59.737Z","updatedAt":"2026-10-25T08:54:11.264Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21564/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HideApronPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21564/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21564/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21564/v1/model.glb\" alt=\"Hide Apron (Primitive Crafting Workshop)\" 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/21564/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/21564/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21565","slug":"primitive-crafting-workshop-rawhide-quiver-5f284f66","title":"Rawhide Quiver (Primitive Crafting Workshop)","summary":"Rawhide Quiver: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Rawhide Quiver. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.27 × 0.55 × 0.15 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-rawhide-quiver-5f284f66","cdnUrl":"https://cdn.3dassets.dev/assets/21565/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-rawhide-quiver-5f284f66","thumbnailUrl":"https://cdn.3dassets.dev/assets/21565/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21565/v1/poster.webp","blurhash":"U38qf=-r000J~pjc8{bD00EJ~p~E9GRix@%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25420,"triangles":492,"vertices":1476,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.134531245444286,0,-0.07698523071002351],"max":[0.13451810185205326,0.550000011920929,0.07698523071002351]},"sizeMeters":[0.269,0.55,0.154],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T17:26:59.797Z","updatedAt":"2026-10-06T06:21:28.261Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21565/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RawhideQuiverPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21565/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21565/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21565/v1/model.glb\" alt=\"Rawhide Quiver (Primitive Crafting Workshop)\" 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/21565/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/21565/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21568","slug":"primitive-crafting-workshop-hide-water-flask-32061a46","title":"Hide Water Flask (Primitive Crafting Workshop)","summary":"Hide Water Flask: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Hide Water Flask. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.22 × 0.41 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-hide-water-flask-32061a46","cdnUrl":"https://cdn.3dassets.dev/assets/21568/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-hide-water-flask-32061a46","thumbnailUrl":"https://cdn.3dassets.dev/assets/21568/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21568/v1/poster.webp","blurhash":"U78EF.%L009Gxtj@NGWV01Rk_KxtRkj@t6ay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":33760,"triangles":524,"vertices":1572,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.11200939766501988,-7.748603425561384e-10,-0.06299209456109245],"max":[0.11200939766501988,0.40866026282310486,0.06299209456109245]},"sizeMeters":[0.224,0.409,0.126],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:27:00.111Z","updatedAt":"2026-10-25T09:19:34.345Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21568/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HideWaterFlaskPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21568/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21568/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21568/v1/model.glb\" alt=\"Hide Water Flask (Primitive Crafting Workshop)\" 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/21568/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/21568/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21569","slug":"primitive-crafting-workshop-leatherworking-stump-200dd2ec","title":"Leatherworking Stump (Primitive Crafting Workshop)","summary":"Leatherworking Stump: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Leatherworking Stump. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.56 × 0.64 × 0.56 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-leatherworking-stump-200dd2ec","cdnUrl":"https://cdn.3dassets.dev/assets/21569/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-leatherworking-stump-200dd2ec","thumbnailUrl":"https://cdn.3dassets.dev/assets/21569/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21569/v1/poster.webp","blurhash":"U17TRc}?000N?]NL8yxB1INb=0#.03n+_KXk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25344,"triangles":348,"vertices":1044,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.2800167771228251,0,-0.2800167771228251],"max":[0.2800167771228251,0.6400038288702086,0.2800167771228251]},"sizeMeters":[0.56,0.64,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:27:00.189Z","updatedAt":"2026-10-06T06:21:30.459Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21569/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeatherworkingStumpPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21569/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21569/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21569/v1/model.glb\" alt=\"Leatherworking Stump (Primitive Crafting Workshop)\" 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/21569/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/21569/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21570","slug":"primitive-crafting-workshop-upright-loom-1fb169b3","title":"Upright Loom (Primitive Crafting Workshop)","summary":"Upright Loom: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Upright Loom. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 1.55 × 1.87 × 0.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-upright-loom-1fb169b3","cdnUrl":"https://cdn.3dassets.dev/assets/21570/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-upright-loom-1fb169b3","thumbnailUrl":"https://cdn.3dassets.dev/assets/21570/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21570/v1/poster.webp","blurhash":"U99Z+PxZ00M|%Mt6IUIp01R+_MoeD%jF-qoz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":139776,"triangles":2592,"vertices":7776,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.7749768079089359,0,-0.29998642002822795],"max":[0.7749768079089359,1.8700000047683716,0.29998642002822795]},"sizeMeters":[1.55,1.87,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:27:03.016Z","updatedAt":"2026-10-05T23:16:15.129Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21570/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UprightLoomPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21570/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21570/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21570/v1/model.glb\" alt=\"Upright Loom (Primitive Crafting Workshop)\" 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/21570/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/21570/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21571","slug":"primitive-crafting-workshop-backstrap-loom-c3f75e8b","title":"Backstrap Loom (Primitive Crafting Workshop)","summary":"Backstrap Loom: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Backstrap Loom. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.60 × 0.74 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-backstrap-loom-c3f75e8b","cdnUrl":"https://cdn.3dassets.dev/assets/21571/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-backstrap-loom-c3f75e8b","thumbnailUrl":"https://cdn.3dassets.dev/assets/21571/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21571/v1/poster.webp","blurhash":"UABM*$%M00IT-;xuIUIU00R$_MogD%jE%Mbw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":104876,"triangles":1944,"vertices":5832,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.29999300543922935,0,-0.035486328884516735],"max":[0.29999300543922935,0.7415692210197449,0.035486328884516735]},"sizeMeters":[0.6,0.742,0.071],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:27:03.032Z","updatedAt":"2026-10-06T06:21:31.153Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21571/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BackstrapLoomPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21571/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21571/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21571/v1/model.glb\" alt=\"Backstrap Loom (Primitive Crafting Workshop)\" 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/21571/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/21571/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21573","slug":"primitive-crafting-workshop-basket-form-f693e271","title":"Basket Form (Primitive Crafting Workshop)","summary":"Basket Form: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Basket Form. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.55 × 0.41 × 0.55 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-basket-form-f693e271","cdnUrl":"https://cdn.3dassets.dev/assets/21573/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-basket-form-f693e271","thumbnailUrl":"https://cdn.3dassets.dev/assets/21573/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21573/v1/poster.webp","blurhash":"U16GrE^50NEL}@S#9]r=0hEh^4slIp$PsoEg","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":78216,"triangles":1200,"vertices":3600,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.2752857506275177,-0.000010741869061636766,-0.2752857506275177],"max":[0.2752857506275177,0.4068479370270664,0.2752857506275177]},"sizeMeters":[0.551,0.407,0.551],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:27:03.176Z","updatedAt":"2026-10-13T03:19:29.833Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21573/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BasketFormPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21573/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21573/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21573/v1/model.glb\" alt=\"Basket Form (Primitive Crafting Workshop)\" 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/21573/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/21573/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21572","slug":"primitive-crafting-workshop-basketry-awl-49d05192","title":"Basketry Awl (Primitive Crafting Workshop)","summary":"Basketry Awl: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Basketry Awl. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.06 × 0.33 × 0.06 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-basketry-awl-49d05192","cdnUrl":"https://cdn.3dassets.dev/assets/21572/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-basketry-awl-49d05192","thumbnailUrl":"https://cdn.3dassets.dev/assets/21572/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21572/v1/poster.webp","blurhash":"U57-QUxu009Z.7j]DjV@00Rj~pxuIUax%Mog","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41288,"triangles":696,"vertices":2088,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.028990388014793367,0,-0.028990388014793367],"max":[0.028990388014793367,0.33000001311302185,0.028990388014793367]},"sizeMeters":[0.058,0.33,0.058],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:27:03.145Z","updatedAt":"2026-10-06T06:21:31.449Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21572/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BasketryAwlPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21572/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21572/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21572/v1/model.glb\" alt=\"Basketry Awl (Primitive Crafting Workshop)\" 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/21572/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/21572/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21574","slug":"primitive-crafting-workshop-weaving-comb-7c4b9c42","title":"Weaving Comb (Primitive Crafting Workshop)","summary":"Weaving Comb: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Weaving Comb. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.25 × 0.17 × 0.03 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-weaving-comb-7c4b9c42","cdnUrl":"https://cdn.3dassets.dev/assets/21574/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-weaving-comb-7c4b9c42","thumbnailUrl":"https://cdn.3dassets.dev/assets/21574/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21574/v1/poster.webp","blurhash":"U27m7^^O0#nl}=^Nnj9^1H-9-ARlSx-T$jEO","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":77460,"triangles":1188,"vertices":3564,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.125,-0.0000016776239515070568,-0.01249732963042085],"max":[0.125,0.17000167941209085,0.01249732963042085]},"sizeMeters":[0.25,0.17,0.025],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":4,"publishedAt":"2026-09-07T17:27:03.431Z","updatedAt":"2026-10-01T08:40:40.765Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21574/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeavingCombPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21574/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21574/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21574/v1/model.glb\" alt=\"Weaving Comb (Primitive Crafting Workshop)\" 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/21574/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/21574/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21575","slug":"primitive-crafting-workshop-woven-hamper-42ff737c","title":"Woven Hamper (Primitive Crafting Workshop)","summary":"Woven Hamper: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Woven Hamper. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.81 × 0.50 × 0.61 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-woven-hamper-42ff737c","cdnUrl":"https://cdn.3dassets.dev/assets/21575/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-woven-hamper-42ff737c","thumbnailUrl":"https://cdn.3dassets.dev/assets/21575/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21575/v1/poster.webp","blurhash":"U27mTw^P029u]QafK4xF00EM~B%1-os.ELI;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":156380,"triangles":2952,"vertices":8856,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.403130441904068,-0.00002035097428726429,-0.3070000112056732],"max":[0.403130441904068,0.5000203509742873,0.3070000112056732]},"sizeMeters":[0.806,0.5,0.614],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T17:27:03.461Z","updatedAt":"2026-10-06T06:22:05.706Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21575/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WovenHamperPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21575/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21575/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21575/v1/model.glb\" alt=\"Woven Hamper (Primitive Crafting Workshop)\" 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/21575/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/21575/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21576","slug":"primitive-crafting-workshop-fish-creel-a207ca81","title":"Fish Creel (Primitive Crafting Workshop)","summary":"Fish Creel: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Fish Creel. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.66 × 0.52 × 0.49 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-fish-creel-a207ca81","cdnUrl":"https://cdn.3dassets.dev/assets/21576/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-fish-creel-a207ca81","thumbnailUrl":"https://cdn.3dassets.dev/assets/21576/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21576/v1/poster.webp","blurhash":"U7ATJ]S000IW?]tPMdVv00?G?GM|8x%M%gIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":118260,"triangles":2220,"vertices":6660,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.3317222595214844,-0.000010222769123380271,-0.24300000071525574],"max":[0.3317222595214844,0.517918956998914,0.24300000071525574]},"sizeMeters":[0.663,0.518,0.486],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:27:03.704Z","updatedAt":"2026-10-06T06:21:34.247Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21576/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FishCreelPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21576/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21576/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21576/v1/model.glb\" alt=\"Fish Creel (Primitive Crafting Workshop)\" 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/21576/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/21576/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21577","slug":"primitive-crafting-workshop-reed-mat-14758b35","title":"Reed Mat (Primitive Crafting Workshop)","summary":"Reed Mat: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Reed Mat. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.80 × 0.04 × 0.84 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-reed-mat-14758b35","cdnUrl":"https://cdn.3dassets.dev/assets/21577/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-reed-mat-14758b35","thumbnailUrl":"https://cdn.3dassets.dev/assets/21577/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21577/v1/poster.webp","blurhash":"U27c~fxZ02ob-.NFIVxv00NH}saj9b-qxtE0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":152072,"triangles":2484,"vertices":7452,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4000000059604645,0.00002471762722251747,-0.41999998688697815],"max":[0.4000000059604645,0.04272072134526922,0.41999998688697815]},"sizeMeters":[0.8,0.043,0.84],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:27:03.841Z","updatedAt":"2026-10-05T20:01:37.627Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21577/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReedMatPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21577/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21577/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21577/v1/model.glb\" alt=\"Reed Mat (Primitive Crafting Workshop)\" 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/21577/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/21577/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21578","slug":"primitive-crafting-workshop-reed-bundle-a9ccd611","title":"Reed Bundle (Primitive Crafting Workshop)","summary":"Reed Bundle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Reed Bundle. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.21 × 1.16 × 0.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-reed-bundle-a9ccd611","cdnUrl":"https://cdn.3dassets.dev/assets/21578/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-reed-bundle-a9ccd611","thumbnailUrl":"https://cdn.3dassets.dev/assets/21578/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21578/v1/poster.webp","blurhash":"U154pp=d001JROWVtRoM0fNv^*$gj]bIayn$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":106604,"triangles":1776,"vertices":5328,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.10400338438443131,0,-0.10400338438443131],"max":[0.10400338438443131,1.159999966621399,0.10400338438443131]},"sizeMeters":[0.208,1.16,0.208],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:27:06.349Z","updatedAt":"2026-10-06T06:21:34.384Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21578/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReedBundlePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21578/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21578/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21578/v1/model.glb\" alt=\"Reed Bundle (Primitive Crafting Workshop)\" 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/21578/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/21578/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21580","slug":"primitive-crafting-workshop-basket-lid-fe3946d5","title":"Basket Lid (Primitive Crafting Workshop)","summary":"Basket Lid: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Basket Lid. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.56 × 0.17 × 0.56 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-basket-lid-fe3946d5","cdnUrl":"https://cdn.3dassets.dev/assets/21580/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-basket-lid-fe3946d5","thumbnailUrl":"https://cdn.3dassets.dev/assets/21580/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21580/v1/poster.webp","blurhash":"U884GAt601R*NdaysnoM00R*~Voe$fofNdWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":111928,"triangles":2096,"vertices":6288,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.2800000011920929,-0.000003311569620079169,-0.2800000011920929],"max":[0.2800000011920929,0.16900331166647764,0.2800000011920929]},"sizeMeters":[0.56,0.169,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:27:06.578Z","updatedAt":"2026-10-12T11:32:19.624Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21580/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BasketLidPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21580/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21580/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21580/v1/model.glb\" alt=\"Basket Lid (Primitive Crafting Workshop)\" 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/21580/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/21580/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21579","slug":"primitive-crafting-workshop-pinch-bowl-5a3da9b2","title":"Pinch Bowl (Primitive Crafting Workshop)","summary":"Pinch Bowl: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pinch Bowl. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.24 × 0.07 × 0.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-pinch-bowl-5a3da9b2","cdnUrl":"https://cdn.3dassets.dev/assets/21579/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-pinch-bowl-5a3da9b2","thumbnailUrl":"https://cdn.3dassets.dev/assets/21579/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21579/v1/poster.webp","blurhash":"U9CFbJ%L02Rl-oWCNGt600M|~AoJ9at6xtM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17184,"triangles":336,"vertices":1008,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.11999999731779099,-0.000004804336828596878,-0.11999999731779099],"max":[0.11999999731779099,0.07500480731706083,0.11999999731779099]},"sizeMeters":[0.24,0.075,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:27:06.565Z","updatedAt":"2026-10-06T06:21:35.609Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21579/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PinchBowlPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21579/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21579/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21579/v1/model.glb\" alt=\"Pinch Bowl (Primitive Crafting Workshop)\" 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/21579/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/21579/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21581","slug":"primitive-crafting-workshop-coil-built-jar-1ae9f813","title":"Coil Built Jar (Primitive Crafting Workshop)","summary":"Coil Built Jar: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Coil Built Jar. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.39 × 0.37 × 0.39 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-coil-built-jar-1ae9f813","cdnUrl":"https://cdn.3dassets.dev/assets/21581/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-coil-built-jar-1ae9f813","thumbnailUrl":"https://cdn.3dassets.dev/assets/21581/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21581/v1/poster.webp","blurhash":"U5DbWf~B000fE1R*ogt600E2~A%LM{nlxHf7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":127792,"triangles":2640,"vertices":7920,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.19599999487400055,0.000006202479763184332,-0.19599999487400055],"max":[0.19599999487400055,0.3699938022886084,0.19599999487400055]},"sizeMeters":[0.392,0.37,0.392],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:27:06.792Z","updatedAt":"2026-10-11T06:58:18.905Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21581/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CoilBuiltJarPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21581/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21581/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21581/v1/model.glb\" alt=\"Coil Built Jar (Primitive Crafting Workshop)\" 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/21581/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/21581/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21583","slug":"primitive-crafting-workshop-pottery-paddle-4c250bfb","title":"Pottery Paddle (Primitive Crafting Workshop)","summary":"Pottery Paddle: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pottery Paddle. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.10 × 0.37 × 0.04 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-pottery-paddle-4c250bfb","cdnUrl":"https://cdn.3dassets.dev/assets/21583/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-pottery-paddle-4c250bfb","thumbnailUrl":"https://cdn.3dassets.dev/assets/21583/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21583/v1/poster.webp","blurhash":"U154Kl-9045m}=sn59NcBjf6+zbHKeWorbo2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17500,"triangles":188,"vertices":564,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.05000595175379905,0,-0.020009155810710607],"max":[0.05000595175379905,0.3700000047683716,0.020009155810710607]},"sizeMeters":[0.1,0.37,0.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:27:06.980Z","updatedAt":"2026-10-06T06:21:35.700Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21583/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotteryPaddlePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21583/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21583/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21583/v1/model.glb\" alt=\"Pottery Paddle (Primitive Crafting Workshop)\" 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/21583/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/21583/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21582","slug":"primitive-crafting-workshop-pottery-anvil-a744045c","title":"Pottery Anvil (Primitive Crafting Workshop)","summary":"Pottery Anvil: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pottery Anvil. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.16 × 0.16 × 0.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-pottery-anvil-a744045c","cdnUrl":"https://cdn.3dassets.dev/assets/21582/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-pottery-anvil-a744045c","thumbnailUrl":"https://cdn.3dassets.dev/assets/21582/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21582/v1/poster.webp","blurhash":"UFB:mWxu00M{9FWB%Mof00Rj_2t7~qt7D%Rk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":25552,"triangles":368,"vertices":1104,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.07999999821186066,-0.0000043969004404967316,-0.07999999821186066],"max":[0.07999999821186066,0.1599999964237213,0.07999999821186066]},"sizeMeters":[0.16,0.16,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:27:06.878Z","updatedAt":"2026-10-06T06:21:35.137Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21582/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotteryAnvilPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21582/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21582/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21582/v1/model.glb\" alt=\"Pottery Anvil (Primitive Crafting Workshop)\" 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/21582/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/21582/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21584","slug":"primitive-crafting-workshop-clay-water-jug-4df4a999","title":"Clay Water Jug (Primitive Crafting Workshop)","summary":"Clay Water Jug: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Clay Water Jug. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.44 × 0.33 × 0.34 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-clay-water-jug-4df4a999","cdnUrl":"https://cdn.3dassets.dev/assets/21584/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-clay-water-jug-4df4a999","thumbnailUrl":"https://cdn.3dassets.dev/assets/21584/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21584/v1/poster.webp","blurhash":"UEC~F%~A0M9aW;WVR*WB03EM-ooyaes.s:ay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26992,"triangles":540,"vertices":1620,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.22014668583869934,-0.000005128269163989785,-0.16999943820846003],"max":[0.22014668583869934,0.32622072327610674,0.16999943820846003]},"sizeMeters":[0.44,0.326,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:27:07.174Z","updatedAt":"2026-10-25T09:52:17.038Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21584/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClayWaterJugPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21584/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21584/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21584/v1/model.glb\" alt=\"Clay Water Jug (Primitive Crafting Workshop)\" 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/21584/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/21584/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21585","slug":"primitive-crafting-workshop-pottery-wheel-de651387","title":"Pottery Wheel (Primitive Crafting Workshop)","summary":"Pottery Wheel: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pottery Wheel. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.80 × 0.78 × 0.80 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-pottery-wheel-de651387","cdnUrl":"https://cdn.3dassets.dev/assets/21585/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-pottery-wheel-de651387","thumbnailUrl":"https://cdn.3dassets.dev/assets/21585/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21585/v1/poster.webp","blurhash":"UHA,LIt701V@~qof9FWBOsbHNFWBD%WBx[j]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":65776,"triangles":996,"vertices":2988,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.4000000059604645,7.573748128097968e-7,-0.4000000059604645],"max":[0.4000000059604645,0.7799957194860527,0.4000000059604645]},"sizeMeters":[0.8,0.78,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:27:07.270Z","updatedAt":"2026-10-13T00:57:33.715Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21585/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PotteryWheelPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21585/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21585/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21585/v1/model.glb\" alt=\"Pottery Wheel (Primitive Crafting Workshop)\" 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/21585/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/21585/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21586","slug":"primitive-crafting-workshop-clay-oil-lamp-1a0cf9d4","title":"Clay Oil Lamp (Primitive Crafting Workshop)","summary":"Clay Oil Lamp: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Clay Oil Lamp. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.19 × 0.06 × 0.14 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-clay-oil-lamp-1a0cf9d4","cdnUrl":"https://cdn.3dassets.dev/assets/21586/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-clay-oil-lamp-1a0cf9d4","thumbnailUrl":"https://cdn.3dassets.dev/assets/21586/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21586/v1/poster.webp","blurhash":"U9Al,=^i029b$*j]Naj?019v~A%1ELjYxZR+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28300,"triangles":552,"vertices":1656,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09563012421131134,-7.028809452733209e-7,-0.0699965971013468],"max":[0.09563012421131134,0.05504196054582488,0.0699965971013468]},"sizeMeters":[0.191,0.055,0.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:27:09.773Z","updatedAt":"2026-10-25T11:13:23.934Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21586/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClayOilLampPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21586/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21586/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21586/v1/model.glb\" alt=\"Clay Oil Lamp (Primitive Crafting Workshop)\" 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/21586/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/21586/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21588","slug":"primitive-crafting-workshop-clay-crucible-aed78557","title":"Clay Crucible (Primitive Crafting Workshop)","summary":"Clay Crucible: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Clay Crucible. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 0.21 × 0.14 × 0.19 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-clay-crucible-aed78557","cdnUrl":"https://cdn.3dassets.dev/assets/21588/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-clay-crucible-aed78557","thumbnailUrl":"https://cdn.3dassets.dev/assets/21588/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21588/v1/poster.webp","blurhash":"U8DR+w~A01I:~AR*EMxt029u-ot6RQxGWXIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22380,"triangles":444,"vertices":1332,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.10499999672174454,-0.000004270107666376477,-0.09500213332955597],"max":[0.10499999672174454,0.14000427070371282,0.09500213332955597]},"sizeMeters":[0.21,0.14,0.19],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T17:27:10.096Z","updatedAt":"2026-10-25T15:57:20.555Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21588/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClayCruciblePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21588/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21588/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21588/v1/model.glb\" alt=\"Clay Crucible (Primitive Crafting Workshop)\" 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/21588/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/21588/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21587","slug":"primitive-crafting-workshop-pit-kiln-c45a86ad","title":"Pit Kiln (Primitive Crafting Workshop)","summary":"Pit Kiln: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Pit Kiln. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 1.47 × 0.23 × 1.48 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-pit-kiln-c45a86ad","cdnUrl":"https://cdn.3dassets.dev/assets/21587/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-pit-kiln-c45a86ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/21587/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21587/v1/poster.webp","blurhash":"U79seqxt02V]xHjIWUba00RR~BkBELbYs:i|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":452600,"triangles":9392,"vertices":28176,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7369483131370186,-0.000021716900344706525,-0.7407462000846863],"max":[0.7369483131370186,0.23002172107266983,0.7407462000846863]},"sizeMeters":[1.474,0.23,1.481],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:27:10.079Z","updatedAt":"2026-10-06T06:21:39.169Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21587/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PitKilnPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21587/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21587/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21587/v1/model.glb\" alt=\"Pit Kiln (Primitive Crafting Workshop)\" 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/21587/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/21587/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21590","slug":"primitive-crafting-workshop-clay-working-table-e7b8bd05","title":"Clay Working Table (Primitive Crafting Workshop)","summary":"Clay Working Table: original weathered survival equipment with explicit construction and metre-scale dimensions.","description":"Clay Working Table. Stone, bone and fibre construction is original and manually assembled; no crafting simulation. Dimensions 1.40 × 0.99 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette: timber, oxidised metal, canvas and natural fibres. Static geometry; no rig, animation, collision or navigation data. Separate named nodes have local pivots; mounting and fitting require application logic.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-clay-working-table-e7b8bd05","cdnUrl":"https://cdn.3dassets.dev/assets/21590/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-clay-working-table-e7b8bd05","thumbnailUrl":"https://cdn.3dassets.dev/assets/21590/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21590/v1/poster.webp","blurhash":"U88plkt60Lnh~VxZ9ZNG9[s.t7NI0Lax?HW=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":79152,"triangles":1280,"vertices":3840,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.699999988079071,0.000040075766009617375,-0.35005340143020897],"max":[0.699999988079071,0.9949911498159755,0.35005340143020897]},"sizeMeters":[1.4,0.995,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:27:10.368Z","updatedAt":"2026-10-25T10:24:28.933Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21590/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClayWorkingTablePrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21590/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21590/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21590/v1/model.glb\" alt=\"Clay Working Table (Primitive Crafting Workshop)\" 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/21590/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/21590/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21589","slug":"primitive-crafting-workshop-fibre-and-hi-c00b3e7e-starter-scene","title":"Fibre and Hide Workshop (Primitive Crafting Workshop)","summary":"Composed fibre and hide workshop with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed fibre and hide workshop with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-fibre-and-hi-c00b3e7e-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/21589/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-fibre-and-hi-c00b3e7e-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/21589/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21589/v1/poster.webp","blurhash":"U26Q-eM}019t%Ls.IUIp00%L~BweIBWC?a%K","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":304068,"triangles":15632,"vertices":11108,"meshes":18,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.6040033843844315,-0.00002035097428726429,-1.2999864200282278],"max":[2.8794775345969628,1.8700000047683716,1.570330262184143]},"sizeMeters":[5.483,1.87,2.87],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T17:27:10.325Z","updatedAt":"2026-10-12T09:39:07.549Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21589/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FibreAndHideWorkshopPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21589/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21589/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21589/v1/model.glb\" alt=\"Fibre and Hide Workshop (Primitive Crafting Workshop)\" 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/21589/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/21589/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"21591","slug":"primitive-crafting-workshop-clay-and-stone-workshop-90ac5056","title":"Clay and Stone Workshop (Primitive Crafting Workshop)","summary":"Composed clay and stone workshop with clear access paths and use-specific object placement. Static demonstration only.","description":"Composed clay and stone workshop with clear access paths and use-specific object placement. Static demonstration only.","status":"published","url":"https://3dassets.dev/assets/primitive-crafting-workshop-clay-and-stone-workshop-90ac5056","cdnUrl":"https://cdn.3dassets.dev/assets/21591/v1/model.glb","downloadUrl":"https://3dassets.dev/download/primitive-crafting-workshop-clay-and-stone-workshop-90ac5056","thumbnailUrl":"https://cdn.3dassets.dev/assets/21591/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/21591/v1/poster.webp","blurhash":"U47wWrV?00%3S5%0xDE301tR~BE1-lNdE4xB","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":601804,"triangles":16252,"vertices":29940,"meshes":13,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.699999988079071,-0.000021716900344706525,-1.4000000059604645],"max":[3.2369483131370185,1.2262207232761066,1.7407462000846863]},"sizeMeters":[4.937,1.226,3.141],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:27:10.616Z","updatedAt":"2026-10-06T01:35:34.219Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/21591/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClayAndStoneWorkshopPrimitiveCraftingWorkshop(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/21591/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/21591/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/21591/v1/model.glb\" alt=\"Clay and Stone Workshop (Primitive Crafting Workshop)\" 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/21591/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/21591/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"primitive-crafting-workshop","title":"Primitive Crafting Workshop","url":"https://3dassets.dev/demos/primitive-crafting-workshop"}}}