{"data":{"id":55,"slug":"research-and-crafting-progression","title":"Research and Crafting Progression","summary":"Research benches, measuring instruments, testing fixtures and prototype equipment spanning early and advanced crafting.","description":"Original CC0 AI-created survival equipment. Practical, detailed silhouettes, metre scale, grounded origins and matching eight-material palette. Static models, no animation, rigging, collision or gameplay. Human publication review pending.","url":"https://3dassets.dev/packs/research-and-crafting-progression","coverUrl":"https://cdn.3dassets.dev/assets/2886/v1/poster.webp","assetCount":42,"aiGenerated":true,"aiGeneratedAssetCount":42,"aiModels":["GPT-6 via Codex"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":2325340,"totalTriangles":52316,"starterScene":{"id":"2886","slug":"research-and-crafting-progression-field--cf9e39bc-starter-scene","title":"Field Analysis Corner (Research and Crafting Progression)","summary":"Composed example for Research and Crafting Progression.","description":"Field Analysis Corner assembled from canonical models in this pack. Demonstration layout only; systems are not simulated.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-field--cf9e39bc-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/2886/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-field--cf9e39bc-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/2886/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2886/v1/poster.webp","blurhash":"U99QKvrr00%f~Vs;9Goe9aX9ofM{4.R*-:M{","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":110652,"triangles":4732,"vertices":4086,"meshes":19,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-0.5000065567583154,-0.00002349144619268051,-0.8475226589688312],"max":[1.1039999923706054,1.185000011920929,0.3249742087909823]},"sizeMeters":[1.604,1.185,1.172],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:55.230Z","updatedAt":"2026-09-06T05:03:55.427Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2886/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldAnalysisCornerResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2886/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2886/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2886/v1/model.glb\" alt=\"Field Analysis Corner (Research and Crafting Progression)\" 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/2886/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/2886/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"2831","slug":"research-and-crafting-progression-rough-study-desk-111b4a65","title":"Rough Study Desk (Research and Crafting Progression)","summary":"Rough Study Desk, an original survival prop measuring 1.00 × 1.01 × 0.65 m.","description":"Rough Study Desk. Purpose-built research equipment with constructed hardware and material separation. Dimensions 1.00 × 1.01 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-rough-study-desk-111b4a65","cdnUrl":"https://cdn.3dassets.dev/assets/2831/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-rough-study-desk-111b4a65","thumbnailUrl":"https://cdn.3dassets.dev/assets/2831/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2831/v1/poster.webp","blurhash":"U370Y#ja0zxZ}=ay9]Sf5RS3t7R*5RsCxtay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":61968,"triangles":972,"vertices":2916,"meshes":3,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.5000065567583154,0,-0.3249742087909823],"max":[0.5000065567583154,1.0099999904632568,0.3249742087909823]},"sizeMeters":[1,1.01,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:30.940Z","updatedAt":"2026-09-06T05:03:31.878Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2831/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoughStudyDeskResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2831/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2831/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2831/v1/model.glb\" alt=\"Rough Study Desk (Research and Crafting Progression)\" 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/2831/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/2831/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2832","slug":"research-and-crafting-progression-drafting-station-c66ca5c5","title":"Drafting Station (Research and Crafting Progression)","summary":"Drafting Station, an original survival prop measuring 1.25 × 1.38 × 0.80 m.","description":"Drafting Station. Purpose-built research equipment with constructed hardware and material separation. Dimensions 1.25 × 1.38 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-drafting-station-c66ca5c5","cdnUrl":"https://cdn.3dassets.dev/assets/2832/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-drafting-station-c66ca5c5","thumbnailUrl":"https://cdn.3dassets.dev/assets/2832/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2832/v1/poster.webp","blurhash":"U36jtL$*00RO~q$*0KE1C7X8I9Ioo~S3Vrr?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":59384,"triangles":912,"vertices":2736,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.625,0.000004364738248385791,-0.4012332136276953],"max":[0.625,1.3794969320297241,0.4012360350991509]},"sizeMeters":[1.25,1.379,0.802],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:30.916Z","updatedAt":"2026-09-06T05:03:31.918Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2832/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DraftingStationResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2832/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2832/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2832/v1/model.glb\" alt=\"Drafting Station (Research and Crafting Progression)\" 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/2832/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/2832/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2834","slug":"research-and-crafting-progression-precision-research-b-72eeab4c","title":"Precision Research Bench (Research and Crafting Progression)","summary":"Precision Research Bench, an original survival prop measuring 1.40 × 0.83 × 0.70 m.","description":"Precision Research Bench. Purpose-built research equipment with constructed hardware and material separation. Dimensions 1.40 × 0.83 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-precision-research-b-72eeab4c","cdnUrl":"https://cdn.3dassets.dev/assets/2834/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-precision-research-b-72eeab4c","thumbnailUrl":"https://cdn.3dassets.dev/assets/2834/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2834/v1/poster.webp","blurhash":"UFAwSK-;M{aM_N%MM{M_IBa%M{M{M{t7afWC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":44744,"triangles":1080,"vertices":3240,"meshes":5,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,-0.00004058621093211423,-0.35005340143020897],"max":[0.699999988079071,0.8350197462216722,0.35005340143020897]},"sizeMeters":[1.4,0.835,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:32.828Z","updatedAt":"2026-09-06T05:03:33.892Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2834/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrecisionResearchBenchResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2834/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2834/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2834/v1/model.glb\" alt=\"Precision Research Bench (Research and Crafting Progression)\" 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/2834/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/2834/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2836","slug":"research-and-crafting-progression-component-analysis-t-d99dc1ae","title":"Component Analysis Table (Research and Crafting Progression)","summary":"Component Analysis Table, an original survival prop measuring 1.10 × 1.08 × 0.65 m.","description":"Component Analysis Table. Purpose-built research equipment with constructed hardware and material separation. Dimensions 1.10 × 1.08 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-component-analysis-t-d99dc1ae","cdnUrl":"https://cdn.3dassets.dev/assets/2836/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-component-analysis-t-d99dc1ae","thumbnailUrl":"https://cdn.3dassets.dev/assets/2836/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2836/v1/poster.webp","blurhash":"U78p+H%100R-~psl9FNb0fNG%Ms:00R._3%1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":68512,"triangles":1088,"vertices":3264,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.550000011920929,0.000009152843739201888,-0.3249946663049112],"max":[0.550000011920929,1.080002169276985,0.3249946663049112]},"sizeMeters":[1.1,1.08,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:33.599Z","updatedAt":"2026-09-06T05:03:34.334Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2836/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ComponentAnalysisTableResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2836/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2836/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2836/v1/model.glb\" alt=\"Component Analysis Table (Research and Crafting Progression)\" 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/2836/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/2836/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2837","slug":"research-and-crafting-progression-manual-test-rig-cafce2db","title":"Manual Test Rig (Research and Crafting Progression)","summary":"Manual Test Rig, an original survival prop measuring 0.65 × 0.78 × 0.40 m.","description":"Manual Test Rig. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.65 × 0.78 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-manual-test-rig-cafce2db","cdnUrl":"https://cdn.3dassets.dev/assets/2837/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-manual-test-rig-cafce2db","thumbnailUrl":"https://cdn.3dassets.dev/assets/2837/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2837/v1/poster.webp","blurhash":"U6ATs9_N004n4Txu.8IU4TIU%gxux]f+WARj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":44572,"triangles":748,"vertices":2244,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.3250138737209646,6.705522803684971e-10,-0.20002867988993775],"max":[0.3250138737209646,0.7819937854294927,0.20002867988993775]},"sizeMeters":[0.65,0.782,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:33.373Z","updatedAt":"2026-09-06T05:03:34.416Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2837/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ManualTestRigResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2837/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2837/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2837/v1/model.glb\" alt=\"Manual Test Rig (Research and Crafting Progression)\" 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/2837/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/2837/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2838","slug":"research-and-crafting-progression-electrical-test-benc-7fd74d98","title":"Electrical Test Bench (Research and Crafting Progression)","summary":"Electrical Test Bench, an original survival prop measuring 1.20 × 1.08 × 0.60 m.","description":"Electrical Test Bench. Purpose-built research equipment with constructed hardware and material separation. Dimensions 1.20 × 1.08 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-electrical-test-benc-7fd74d98","cdnUrl":"https://cdn.3dassets.dev/assets/2838/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-electrical-test-benc-7fd74d98","thumbnailUrl":"https://cdn.3dassets.dev/assets/2838/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2838/v1/poster.webp","blurhash":"UCBDpB%301%M~oxvDkM_9ERjM~IV9FjEx^V{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":71296,"triangles":1456,"vertices":4368,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.6000000238418579,-0.00002442474265845762,-0.300045789686962],"max":[0.6000000238418579,1.0800052185992781,0.300045789686962]},"sizeMeters":[1.2,1.08,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:33.427Z","updatedAt":"2026-09-06T05:03:34.436Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2838/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ElectricalTestBenchResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2838/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2838/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2838/v1/model.glb\" alt=\"Electrical Test Bench (Research and Crafting Progression)\" 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/2838/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/2838/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2840","slug":"research-and-crafting-progression-chemistry-test-stand-7be8c6ff","title":"Chemistry Test Stand (Research and Crafting Progression)","summary":"Chemistry Test Stand, an original survival prop measuring 0.90 × 1.43 × 0.60 m.","description":"Chemistry Test Stand. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.90 × 1.43 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-chemistry-test-stand-7be8c6ff","cdnUrl":"https://cdn.3dassets.dev/assets/2840/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-chemistry-test-stand-7be8c6ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/2840/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2840/v1/poster.webp","blurhash":"U26HWDVs00%hy?V?Hrk?01Rk^*$*4TW?_N#*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":74024,"triangles":1188,"vertices":3564,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.44999998807907104,-0.00001282174728334251,-0.30001830315791456],"max":[0.44999998807907104,1.4299999475479126,0.30001830315791456]},"sizeMeters":[0.9,1.43,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:35.493Z","updatedAt":"2026-09-06T05:03:36.449Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2840/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChemistryTestStandResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2840/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2840/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2840/v1/model.glb\" alt=\"Chemistry Test Stand (Research and Crafting Progression)\" 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/2840/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/2840/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2842","slug":"research-and-crafting-progression-optical-inspection-s-accfd8c0","title":"Optical Inspection Station (Research and Crafting Progression)","summary":"Optical Inspection Station, an original survival prop measuring 0.85 × 1.25 × 0.65 m.","description":"Optical Inspection Station. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.85 × 1.25 × 0.65 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-optical-inspection-s-accfd8c0","cdnUrl":"https://cdn.3dassets.dev/assets/2842/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-optical-inspection-s-accfd8c0","thumbnailUrl":"https://cdn.3dassets.dev/assets/2842/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2842/v1/poster.webp","blurhash":"U58}A5%M00Sh-;tQD%M{00M{_NjE00M{_3%2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":54840,"triangles":1088,"vertices":3264,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4249890013530118,0,-0.32502308310080513],"max":[0.4249890013530118,1.2530922889709473,0.32502308310080513]},"sizeMeters":[0.85,1.253,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:35.817Z","updatedAt":"2026-09-06T05:03:35.945Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2842/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpticalInspectionStationResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2842/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2842/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2842/v1/model.glb\" alt=\"Optical Inspection Station (Research and Crafting Progression)\" 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/2842/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/2842/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2843","slug":"research-and-crafting-progression-field-microscope-58a210bd","title":"Field Microscope (Research and Crafting Progression)","summary":"Field Microscope, an original survival prop measuring 0.19 × 0.42 × 0.25 m.","description":"Field Microscope. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.19 × 0.42 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-field-microscope-58a210bd","cdnUrl":"https://cdn.3dassets.dev/assets/2843/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-field-microscope-58a210bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/2843/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2843/v1/poster.webp","blurhash":"U56khjxv00D%t7WBM{t700M{_N%NjGj]ofWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":29080,"triangles":568,"vertices":1704,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0950014523105735,-7.450581818169155e-11,-0.12499542575151845],"max":[0.0950014523105735,0.42500001192092896,0.12499542575151845]},"sizeMeters":[0.19,0.425,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:35.844Z","updatedAt":"2026-09-06T05:03:35.971Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2843/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldMicroscopeResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2843/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2843/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2843/v1/model.glb\" alt=\"Field Microscope (Research and Crafting Progression)\" 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/2843/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/2843/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2844","slug":"research-and-crafting-progression-bench-magnifier-62c4c4ce","title":"Bench Magnifier (Research and Crafting Progression)","summary":"Bench Magnifier, an original survival prop measuring 0.20 × 0.43 × 0.21 m.","description":"Bench Magnifier. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.20 × 0.43 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-bench-magnifier-62c4c4ce","cdnUrl":"https://cdn.3dassets.dev/assets/2844/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-bench-magnifier-62c4c4ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/2844/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2844/v1/poster.webp","blurhash":"U56b0{jZ00j]_4t7DhM{tRxuRPDjxuWBRit8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":29220,"triangles":556,"vertices":1668,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.10000000149011612,0.000006790182195078043,-0.10408978264914258],"max":[0.10000000149011612,0.4250708222389221,0.10408978264914258]},"sizeMeters":[0.2,0.425,0.208],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:35.907Z","updatedAt":"2026-09-06T05:03:35.994Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2844/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BenchMagnifierResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2844/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2844/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2844/v1/model.glb\" alt=\"Bench Magnifier (Research and Crafting Progression)\" 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/2844/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/2844/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2848","slug":"research-and-crafting-progression-caliper-36d99c6b","title":"Caliper (Research and Crafting Progression)","summary":"Caliper, an original survival prop measuring 0.09 × 0.03 × 0.23 m.","description":"Caliper. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.09 × 0.03 × 0.23 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-caliper-36d99c6b","cdnUrl":"https://cdn.3dassets.dev/assets/2848/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-caliper-36d99c6b","thumbnailUrl":"https://cdn.3dassets.dev/assets/2848/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2848/v1/poster.webp","blurhash":"U57UVVMx00oMn,D%ax-;00x]_4aeRi_4WC4m","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":22516,"triangles":432,"vertices":1296,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.0437475211647089,-9.306992672895864e-7,-0.11500000208616257],"max":[0.0437475211647089,0.02499427832836386,0.11500000208616257]},"sizeMeters":[0.087,0.025,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:37.427Z","updatedAt":"2026-09-06T05:03:38.462Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2848/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CaliperResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2848/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2848/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2848/v1/model.glb\" alt=\"Caliper (Research and Crafting Progression)\" 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/2848/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/2848/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2849","slug":"research-and-crafting-progression-micrometer-edca7e7a","title":"Micrometer (Research and Crafting Progression)","summary":"Micrometer, an original survival prop measuring 0.18 × 0.02 × 0.11 m.","description":"Micrometer. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.18 × 0.02 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-micrometer-edca7e7a","cdnUrl":"https://cdn.3dassets.dev/assets/2849/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-micrometer-edca7e7a","thumbnailUrl":"https://cdn.3dassets.dev/assets/2849/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2849/v1/poster.webp","blurhash":"U35X_e00M_xvxuofIUt800~qkDM{D%V@.8IT","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":22980,"triangles":428,"vertices":1284,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.09106771647930145,-0.0000037986619015033946,-0.05600066974945553],"max":[0.09106771744787692,0.020999908332712685,0.055999780915297594]},"sizeMeters":[0.182,0.021,0.112],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:37.497Z","updatedAt":"2026-09-06T05:03:38.473Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2849/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MicrometerResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2849/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2849/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2849/v1/model.glb\" alt=\"Micrometer (Research and Crafting Progression)\" 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/2849/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/2849/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2847","slug":"research-and-crafting-progression-ruler-square-581b8ffe","title":"Ruler Square (Research and Crafting Progression)","summary":"Ruler Square, an original survival prop measuring 0.16 × 0.01 × 0.30 m.","description":"Ruler Square. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.16 × 0.01 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-ruler-square-581b8ffe","cdnUrl":"https://cdn.3dassets.dev/assets/2847/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-ruler-square-581b8ffe","thumbnailUrl":"https://cdn.3dassets.dev/assets/2847/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2847/v1/poster.webp","blurhash":"U46keb_ND$M{?bRjD$Rj004Tt8xu00%M~q%g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":9500,"triangles":216,"vertices":648,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,-0.0000030214126519215005,-0.1512503829901025],"max":[0.07999999821186066,0.011996276659970764,0.15125000476837158]},"sizeMeters":[0.16,0.012,0.303],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:37.301Z","updatedAt":"2026-09-06T05:03:37.464Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2847/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RulerSquareResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2847/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2847/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2847/v1/model.glb\" alt=\"Ruler Square (Research and Crafting Progression)\" 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/2847/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/2847/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2851","slug":"research-and-crafting-progression-divider-compass-2e7db84e","title":"Divider Compass (Research and Crafting Progression)","summary":"Divider Compass, an original survival prop measuring 0.13 × 0.11 × 0.01 m.","description":"Divider Compass. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.13 × 0.11 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-divider-compass-2e7db84e","cdnUrl":"https://cdn.3dassets.dev/assets/2851/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-divider-compass-2e7db84e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2851/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2851/v1/poster.webp","blurhash":"U46u3AIU00_38_-;WB9F00IU_Nof%MWBxu-;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":25600,"triangles":496,"vertices":1488,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.06480000168085098,0.0000018426281515951382,-0.0070001826938134275],"max":[0.06480000168085098,0.10859999805688858,0.0070001826938134275]},"sizeMeters":[0.13,0.109,0.014],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:37.762Z","updatedAt":"2026-09-06T05:03:37.935Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2851/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DividerCompassResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2851/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2851/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2851/v1/model.glb\" alt=\"Divider Compass (Research and Crafting Progression)\" 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/2851/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/2851/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2853","slug":"research-and-crafting-progression-protractor-b37be63e","title":"Protractor (Research and Crafting Progression)","summary":"Protractor, an original survival prop measuring 0.16 × 0.01 × 0.16 m.","description":"Protractor. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.16 × 0.01 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-protractor-b37be63e","cdnUrl":"https://cdn.3dassets.dev/assets/2853/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-protractor-b37be63e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2853/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2853/v1/poster.webp","blurhash":"U884rWM{00t7tRWBayj[00xu_NRjIAt7ofWC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":23912,"triangles":476,"vertices":1428,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.07999999821186066,0.0000037996865926421923,-0.07999999821186066],"max":[0.07999999821186066,0.006996200421440779,0.07999999821186066]},"sizeMeters":[0.16,0.007,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:39.281Z","updatedAt":"2026-09-06T05:03:40.025Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2853/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ProtractorResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2853/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2853/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2853/v1/model.glb\" alt=\"Protractor (Research and Crafting Progression)\" 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/2853/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/2853/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2854","slug":"research-and-crafting-progression-beam-balance-8d5b5ef4","title":"Beam Balance (Research and Crafting Progression)","summary":"Beam Balance, an original survival prop measuring 0.59 × 0.40 × 0.17 m.","description":"Beam Balance. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.59 × 0.40 × 0.17 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-beam-balance-8d5b5ef4","cdnUrl":"https://cdn.3dassets.dev/assets/2854/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-beam-balance-8d5b5ef4","thumbnailUrl":"https://cdn.3dassets.dev/assets/2854/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2854/v1/poster.webp","blurhash":"U48z_gWD00S5~q.89FD%00%M%gIADiD$-;xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":42280,"triangles":844,"vertices":2532,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.29500001668930054,-0.000003583230379213681,-0.08501022707867725],"max":[0.29500001668930054,0.3999917742969876,0.08501022707867725]},"sizeMeters":[0.59,0.4,0.17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:39.711Z","updatedAt":"2026-09-06T05:03:40.713Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2854/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BeamBalanceResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2854/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2854/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2854/v1/model.glb\" alt=\"Beam Balance (Research and Crafting Progression)\" 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/2854/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/2854/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2855","slug":"research-and-crafting-progression-spring-scale-9dce97b5","title":"Spring Scale (Research and Crafting Progression)","summary":"Spring Scale, an original survival prop measuring 0.05 × 0.32 × 0.03 m.","description":"Spring Scale. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.05 × 0.32 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-spring-scale-9dce97b5","cdnUrl":"https://cdn.3dassets.dev/assets/2855/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-spring-scale-9dce97b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/2855/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2855/v1/poster.webp","blurhash":"U6A0?s-:0002_2oe9FWB00M|~p?Zt8WCRit6","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":28688,"triangles":600,"vertices":1800,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.02617104742632249,0,-0.015001601632465616],"max":[0.026162029090438497,0.31517404317855835,0.014999465870157066]},"sizeMeters":[0.052,0.315,0.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:39.893Z","updatedAt":"2026-09-06T05:03:39.991Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2855/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpringScaleResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2855/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2855/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2855/v1/model.glb\" alt=\"Spring Scale (Research and Crafting Progression)\" 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/2855/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/2855/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2856","slug":"research-and-crafting-progression-test-weight-set-65f5b35e","title":"Test Weight Set (Research and Crafting Progression)","summary":"Test Weight Set, an original survival prop measuring 0.29 × 0.10 × 0.10 m.","description":"Test Weight Set. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.29 × 0.10 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-test-weight-set-65f5b35e","cdnUrl":"https://cdn.3dassets.dev/assets/2856/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-test-weight-set-65f5b35e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2856/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2856/v1/poster.webp","blurhash":"U58;PuDh00%gXnt7s9M{00yE_NRODNVso}%g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":44184,"triangles":748,"vertices":2244,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.14499999582767487,-0.0000026705691596427827,-0.049993591325856485],"max":[0.14499999582767487,0.10399507058564772,0.049993591325856485]},"sizeMeters":[0.29,0.104,0.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:40.261Z","updatedAt":"2026-09-06T05:03:41.049Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2856/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TestWeightSetResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2856/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2856/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2856/v1/model.glb\" alt=\"Test Weight Set (Research and Crafting Progression)\" 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/2856/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/2856/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2860","slug":"research-and-crafting-progression-sample-divider-5115982e","title":"Sample Divider (Research and Crafting Progression)","summary":"Sample Divider, an original survival prop measuring 0.34 × 0.27 × 0.34 m.","description":"Sample Divider. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.34 × 0.27 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-sample-divider-5115982e","cdnUrl":"https://cdn.3dassets.dev/assets/2860/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-sample-divider-5115982e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2860/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2860/v1/poster.webp","blurhash":"U6AKHz%N00IU%Mj]RPf500RP-ptR_NofMxWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":28536,"triangles":572,"vertices":1716,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.17000000178813934,-0.000011135348903790199,-0.17000000178813934],"max":[0.17000000178813934,0.270011146003234,0.17000000178813934]},"sizeMeters":[0.34,0.27,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:41.495Z","updatedAt":"2026-09-06T05:03:42.534Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2860/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SampleDividerResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2860/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2860/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2860/v1/model.glb\" alt=\"Sample Divider (Research and Crafting Progression)\" 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/2860/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/2860/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2859","slug":"research-and-crafting-progression-sample-tray-8e10682e","title":"Sample Tray (Research and Crafting Progression)","summary":"Sample Tray, an original survival prop measuring 0.32 × 0.05 × 0.22 m.","description":"Sample Tray. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.32 × 0.05 × 0.22 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-sample-tray-8e10682e","cdnUrl":"https://cdn.3dassets.dev/assets/2859/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-sample-tray-8e10682e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2859/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2859/v1/poster.webp","blurhash":"U6E.|X?b00j[?b-;M{IV00IU~qIU4n9FWBaf","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":42532,"triangles":864,"vertices":2592,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.1599999964237213,0.000003188878695156022,-0.1099935886544617],"max":[0.1599999964237213,0.04699680945982537,0.1099935886544617]},"sizeMeters":[0.32,0.047,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:41.464Z","updatedAt":"2026-09-06T05:03:42.464Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2859/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SampleTrayResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2859/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2859/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2859/v1/model.glb\" alt=\"Sample Tray (Research and Crafting Progression)\" 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/2859/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/2859/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2861","slug":"research-and-crafting-progression-specimen-cabinet-b486ad0c","title":"Specimen Cabinet (Research and Crafting Progression)","summary":"Specimen Cabinet, an original survival prop measuring 0.85 × 1.25 × 0.42 m.","description":"Specimen Cabinet. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.85 × 1.25 × 0.42 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-specimen-cabinet-b486ad0c","cdnUrl":"https://cdn.3dassets.dev/assets/2861/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-specimen-cabinet-b486ad0c","thumbnailUrl":"https://cdn.3dassets.dev/assets/2861/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2861/v1/poster.webp","blurhash":"U68|*D~W00Q8z;r?X-XS4TE1Yju4smf6S3X8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":80144,"triangles":1296,"vertices":3888,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4224906155583361,0,-0.20872382709986886],"max":[0.4224906155583361,1.25,0.2087478594045056]},"sizeMeters":[0.845,1.25,0.417],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:42.294Z","updatedAt":"2026-09-06T05:03:43.222Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2861/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpecimenCabinetResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2861/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2861/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2861/v1/model.glb\" alt=\"Specimen Cabinet (Research and Crafting Progression)\" 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/2861/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/2861/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2862","slug":"research-and-crafting-progression-component-drawer-ban-c7bbc6b8","title":"Component Drawer Bank (Research and Crafting Progression)","summary":"Component Drawer Bank, an original survival prop measuring 0.60 × 0.50 × 0.32 m.","description":"Component Drawer Bank. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.60 × 0.50 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-component-drawer-ban-c7bbc6b8","cdnUrl":"https://cdn.3dassets.dev/assets/2862/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-component-drawer-ban-c7bbc6b8","thumbnailUrl":"https://cdn.3dassets.dev/assets/2862/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2862/v1/poster.webp","blurhash":"UDC?=V?a00RV_4x]M_Rj8}N1R$Rifit8RkIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":77428,"triangles":2700,"vertices":8100,"meshes":13,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,-0.000010691412848484738,-0.15851924821921334],"max":[0.30000001192092896,0.5000106914128485,0.15851924821921334]},"sizeMeters":[0.6,0.5,0.317],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:42.645Z","updatedAt":"2026-09-06T05:03:43.617Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2862/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ComponentDrawerBankResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2862/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2862/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2862/v1/model.glb\" alt=\"Component Drawer Bank (Research and Crafting Progression)\" 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/2862/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/2862/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2865","slug":"research-and-crafting-progression-blueprint-roll-rack-b0abc7a1","title":"Blueprint Roll Rack (Research and Crafting Progression)","summary":"Blueprint Roll Rack, an original survival prop measuring 0.70 × 1.05 × 0.45 m.","description":"Blueprint Roll Rack. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.70 × 1.05 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-blueprint-roll-rack-b0abc7a1","cdnUrl":"https://cdn.3dassets.dev/assets/2865/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-blueprint-roll-rack-b0abc7a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/2865/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2865/v1/poster.webp","blurhash":"U17J;2%f00,[~C-B9tEy9FSzx]R5H@xG%gK1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":72628,"triangles":1152,"vertices":3456,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.3475218812485153,0,-0.22246847953599058],"max":[0.3475218812485153,1.0499999523162842,0.22246847953599058]},"sizeMeters":[0.695,1.05,0.445],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:43.904Z","updatedAt":"2026-09-06T05:03:43.980Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2865/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BlueprintRollRackResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2865/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2865/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2865/v1/model.glb\" alt=\"Blueprint Roll Rack (Research and Crafting Progression)\" 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/2865/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/2865/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2866","slug":"research-and-crafting-progression-schematic-board-b6f698d4","title":"Schematic Board (Research and Crafting Progression)","summary":"Schematic Board, an original survival prop measuring 1.00 × 1.15 × 0.10 m.","description":"Schematic Board. Purpose-built research equipment with constructed hardware and material separation. Dimensions 1.00 × 1.15 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-schematic-board-b6f698d4","cdnUrl":"https://cdn.3dassets.dev/assets/2866/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-schematic-board-b6f698d4","thumbnailUrl":"https://cdn.3dassets.dev/assets/2866/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2866/v1/poster.webp","blurhash":"UBAc}Bxu00RP~Vxu4.IU0Koe?bM{01t7_3Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":37868,"triangles":684,"vertices":2052,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-0.5,-0.00002349144619268051,-0.047522658968831094],"max":[0.5,1.1499915954889652,0.04750328014364889]},"sizeMeters":[1,1.15,0.095],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:44.054Z","updatedAt":"2026-09-06T05:03:44.998Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2866/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SchematicBoardResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2866/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2866/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2866/v1/model.glb\" alt=\"Schematic Board (Research and Crafting Progression)\" 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/2866/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/2866/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2867","slug":"research-and-crafting-progression-pinboard-108bb42e","title":"Pinboard (Research and Crafting Progression)","summary":"Pinboard, an original survival prop measuring 0.65 × 0.45 × 0.05 m.","description":"Pinboard. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.65 × 0.45 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-pinboard-108bb42e","cdnUrl":"https://cdn.3dassets.dev/assets/2867/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-pinboard-108bb42e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2867/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2867/v1/poster.webp","blurhash":"U7AcJ9}[02I9=y^jt69G01E1.7yDEJD%RR.S","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":47524,"triangles":900,"vertices":2700,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.32499998807907104,-0.000011442148147383646,-0.023496794769869905],"max":[0.32499998807907104,0.45001143022721846,0.023490783040265594]},"sizeMeters":[0.65,0.45,0.047],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:44.854Z","updatedAt":"2026-09-06T05:03:45.674Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2867/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PinboardResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2867/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2867/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2867/v1/model.glb\" alt=\"Pinboard (Research and Crafting Progression)\" 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/2867/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/2867/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2868","slug":"research-and-crafting-progression-reference-book-stand-968bd21e","title":"Reference Book Stand (Research and Crafting Progression)","summary":"Reference Book Stand, an original survival prop measuring 0.40 × 0.21 × 0.32 m.","description":"Reference Book Stand. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.40 × 0.21 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-reference-book-stand-968bd21e","cdnUrl":"https://cdn.3dassets.dev/assets/2868/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-reference-book-stand-968bd21e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2868/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2868/v1/poster.webp","blurhash":"U170b-}=0g;|1M$j-9,p035m-VJA,;Eft6Fw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":26420,"triangles":336,"vertices":1008,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.20000000298023224,0.000002050569542638714,-0.16249885797731628],"max":[0.20000000298023224,0.21385135335635305,0.16249885797731628]},"sizeMeters":[0.4,0.214,0.325],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:45.606Z","updatedAt":"2026-09-06T05:03:46.174Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2868/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReferenceBookStandResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2868/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2868/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2868/v1/model.glb\" alt=\"Reference Book Stand (Research and Crafting Progression)\" 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/2868/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/2868/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2869","slug":"research-and-crafting-progression-experiment-logbook-a95b363f","title":"Experiment Logbook (Research and Crafting Progression)","summary":"Experiment Logbook, an original survival prop measuring 0.22 × 0.04 × 0.29 m.","description":"Experiment Logbook. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.22 × 0.04 × 0.29 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-experiment-logbook-a95b363f","cdnUrl":"https://cdn.3dassets.dev/assets/2869/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-experiment-logbook-a95b363f","thumbnailUrl":"https://cdn.3dassets.dev/assets/2869/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2869/v1/poster.webp","blurhash":"U6Bg6n?b00t6tKIVRl%L00D%~pM|Vg-:xtIB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":25092,"triangles":468,"vertices":1404,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.11249466000587702,0.000009444982352779796,-0.1469999998807907],"max":[0.11249999701976776,0.04400402745968415,0.14700402757889344]},"sizeMeters":[0.225,0.044,0.294],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:45.621Z","updatedAt":"2026-09-06T05:03:46.513Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2869/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExperimentLogbookResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2869/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2869/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2869/v1/model.glb\" alt=\"Experiment Logbook (Research and Crafting Progression)\" 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/2869/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/2869/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2872","slug":"research-and-crafting-progression-abacus-e3dcba23","title":"Abacus (Research and Crafting Progression)","summary":"Abacus, an original survival prop measuring 0.40 × 0.04 × 0.34 m.","description":"Abacus. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.40 × 0.04 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-abacus-e3dcba23","cdnUrl":"https://cdn.3dassets.dev/assets/2872/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-abacus-e3dcba23","thumbnailUrl":"https://cdn.3dassets.dev/assets/2872/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2872/v1/poster.webp","blurhash":"U483*3$+01V?-Ut7R+Rj00NZ~VS$0zInxYx]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":393812,"triangles":7992,"vertices":23976,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.20000000298023224,-0.000005417259030124355,-0.16999420401631057],"max":[0.20000000298023224,0.03500541733353593,0.16999420401631057]},"sizeMeters":[0.4,0.035,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:47.095Z","updatedAt":"2026-09-06T05:03:47.832Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2872/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AbacusResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2872/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2872/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2872/v1/model.glb\" alt=\"Abacus (Research and Crafting Progression)\" 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/2872/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/2872/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2873","slug":"research-and-crafting-progression-mechanical-counter-7d48deda","title":"Mechanical Counter (Research and Crafting Progression)","summary":"Mechanical Counter, an original survival prop measuring 0.17 × 0.09 × 0.09 m.","description":"Mechanical Counter. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.17 × 0.09 × 0.09 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-mechanical-counter-7d48deda","cdnUrl":"https://cdn.3dassets.dev/assets/2873/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-mechanical-counter-7d48deda","thumbnailUrl":"https://cdn.3dassets.dev/assets/2873/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2873/v1/poster.webp","blurhash":"UCAwSL~q4T9F.8xuRjWA009F%N%29ERjt8Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":17200,"triangles":360,"vertices":1080,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.08445366472005844,1.535238665431593e-7,-0.045002439543552555],"max":[0.0844548223293962,0.09000048145651818,0.04500097592176553]},"sizeMeters":[0.169,0.09,0.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:47.067Z","updatedAt":"2026-09-06T05:03:47.141Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2873/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MechanicalCounterResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2873/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2873/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2873/v1/model.glb\" alt=\"Mechanical Counter (Research and Crafting Progression)\" 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/2873/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/2873/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2874","slug":"research-and-crafting-progression-signal-oscilloscope-39a102c3","title":"Signal Oscilloscope (Research and Crafting Progression)","summary":"Signal Oscilloscope, an original survival prop measuring 0.36 × 0.25 × 0.25 m.","description":"Signal Oscilloscope. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.36 × 0.25 × 0.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-signal-oscilloscope-39a102c3","cdnUrl":"https://cdn.3dassets.dev/assets/2874/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-signal-oscilloscope-39a102c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/2874/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2874/v1/poster.webp","blurhash":"UFBzkBpJ9Fo#_NxvIURjMJn4MxRiD$s.xaMx","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":33868,"triangles":692,"vertices":2076,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.18000000715255737,0.000004725402103014642,-0.12350946266553034],"max":[0.18000000715255737,0.249995274597897,0.12349713112777283]},"sizeMeters":[0.36,0.25,0.247],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:47.799Z","updatedAt":"2026-09-06T05:03:50.835Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2874/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SignalOscilloscopeResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2874/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2874/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2874/v1/model.glb\" alt=\"Signal Oscilloscope (Research and Crafting Progression)\" 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/2874/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/2874/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2875","slug":"research-and-crafting-progression-multimeter-33ad11d6","title":"Multimeter (Research and Crafting Progression)","summary":"Multimeter, an original survival prop measuring 0.13 × 0.16 × 0.18 m.","description":"Multimeter. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.13 × 0.16 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-multimeter-33ad11d6","cdnUrl":"https://cdn.3dassets.dev/assets/2875/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-multimeter-33ad11d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/2875/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2875/v1/poster.webp","blurhash":"U47w?0_30000Eio~nhZ#00M{.8%LmPQm.9ys","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":26924,"triangles":548,"vertices":1644,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.06553759894237114,-8.449783106406761e-7,-0.08942468464374542],"max":[0.06553490722417815,0.16298997402191162,0.0894249746100783]},"sizeMeters":[0.131,0.163,0.179],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:50.774Z","updatedAt":"2026-09-06T05:03:51.050Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2875/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MultimeterResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2875/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2875/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2875/v1/model.glb\" alt=\"Multimeter (Research and Crafting Progression)\" 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/2875/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/2875/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2877","slug":"research-and-crafting-progression-continuity-probe-e148cc19","title":"Continuity Probe (Research and Crafting Progression)","summary":"Continuity Probe, an original survival prop measuring 0.19 × 0.17 × 0.10 m.","description":"Continuity Probe. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.19 × 0.17 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-continuity-probe-e148cc19","cdnUrl":"https://cdn.3dassets.dev/assets/2877/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-continuity-probe-e148cc19","thumbnailUrl":"https://cdn.3dassets.dev/assets/2877/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2877/v1/poster.webp","blurhash":"UA7Axd~B-VtlaKxuxuRj5R9aE1adSNR*V@n%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":20852,"triangles":380,"vertices":1140,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.09699808038123345,0.000004075816502070034,-0.051027103536717536],"max":[0.09700000286102295,0.17299198444740804,0.05103439756459602]},"sizeMeters":[0.194,0.173,0.102],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:50.848Z","updatedAt":"2026-09-06T05:03:51.709Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2877/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ContinuityProbeResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2877/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2877/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2877/v1/model.glb\" alt=\"Continuity Probe (Research and Crafting Progression)\" 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/2877/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/2877/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2878","slug":"research-and-crafting-progression-winding-jig-474f2fa9","title":"Winding Jig (Research and Crafting Progression)","summary":"Winding Jig, an original survival prop measuring 0.43 × 0.31 × 0.20 m.","description":"Winding Jig. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.43 × 0.31 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-winding-jig-474f2fa9","cdnUrl":"https://cdn.3dassets.dev/assets/2878/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-winding-jig-474f2fa9","thumbnailUrl":"https://cdn.3dassets.dev/assets/2878/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2878/v1/poster.webp","blurhash":"U3976A~V009^.m%gIW9Z00K5~WVE00VY~9-o","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":185836,"triangles":3684,"vertices":11052,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.21500180661678314,0.000009231228601611768,-0.10001160100770469],"max":[0.21500180661678314,0.31199740300197,0.10001160100770469]},"sizeMeters":[0.43,0.312,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:52.028Z","updatedAt":"2026-09-06T05:03:52.950Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2878/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindingJigResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2878/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2878/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2878/v1/model.glb\" alt=\"Winding Jig (Research and Crafting Progression)\" 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/2878/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/2878/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2880","slug":"research-and-crafting-progression-tension-test-frame-a211b000","title":"Tension Test Frame (Research and Crafting Progression)","summary":"Tension Test Frame, an original survival prop measuring 0.70 × 0.46 × 0.30 m.","description":"Tension Test Frame. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.70 × 0.46 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-tension-test-frame-a211b000","cdnUrl":"https://cdn.3dassets.dev/assets/2880/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-tension-test-frame-a211b000","thumbnailUrl":"https://cdn.3dassets.dev/assets/2880/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2880/v1/poster.webp","blurhash":"U9A,^4xu4Txu4mx]-=M{00RitRa#_4-;M_D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":41008,"triangles":800,"vertices":2400,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.35249999165534973,0.000005885243786946104,-0.14997863448924584],"max":[0.35249999165534973,0.46000000834465027,0.14997863448924584]},"sizeMeters":[0.705,0.46,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:52.422Z","updatedAt":"2026-09-06T05:03:52.555Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2880/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TensionTestFrameResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2880/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2880/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2880/v1/model.glb\" alt=\"Tension Test Frame (Research and Crafting Progression)\" 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/2880/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/2880/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2879","slug":"research-and-crafting-progression-compression-test-pre-94832793","title":"Compression Test Press (Research and Crafting Progression)","summary":"Compression Test Press, an original survival prop measuring 0.66 × 0.85 × 0.40 m.","description":"Compression Test Press. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.66 × 0.85 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-compression-test-pre-94832793","cdnUrl":"https://cdn.3dassets.dev/assets/2879/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-compression-test-pre-94832793","thumbnailUrl":"https://cdn.3dassets.dev/assets/2879/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2879/v1/poster.webp","blurhash":"U6A13D~q0000.8t7IUM{M{oft7WB_4%fIAIA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":37620,"triangles":748,"vertices":2244,"meshes":2,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3310454421016638,0,-0.20001602782777322],"max":[0.33105140091507956,0.8500000238418579,0.20001602782777322]},"sizeMeters":[0.662,0.85,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:52.525Z","updatedAt":"2026-09-06T05:03:53.539Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2879/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CompressionTestPressResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2879/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2879/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2879/v1/model.glb\" alt=\"Compression Test Press (Research and Crafting Progression)\" 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/2879/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/2879/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2881","slug":"research-and-crafting-progression-hardness-test-stand-b5424e4e","title":"Hardness Test Stand (Research and Crafting Progression)","summary":"Hardness Test Stand, an original survival prop measuring 0.30 × 0.61 × 0.27 m.","description":"Hardness Test Stand. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.30 × 0.61 × 0.27 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-hardness-test-stand-b5424e4e","cdnUrl":"https://cdn.3dassets.dev/assets/2881/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-hardness-test-stand-b5424e4e","thumbnailUrl":"https://cdn.3dassets.dev/assets/2881/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2881/v1/poster.webp","blurhash":"U28;fE~q00004Tt6pJ4ns9%MWq9FS%WE-o-p","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":31576,"triangles":604,"vertices":1812,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000295045301826,0,-0.13499462097009174],"max":[0.15000295045301826,0.6100000143051147,0.13499462097009174]},"sizeMeters":[0.3,0.61,0.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:53.086Z","updatedAt":"2026-09-06T05:03:53.321Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2881/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HardnessTestStandResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2881/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2881/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2881/v1/model.glb\" alt=\"Hardness Test Stand (Research and Crafting Progression)\" 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/2881/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/2881/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2882","slug":"research-and-crafting-progression-heat-treatment-box-34784039","title":"Heat Treatment Box (Research and Crafting Progression)","summary":"Heat Treatment Box, an original survival prop measuring 0.67 × 0.59 × 0.50 m.","description":"Heat Treatment Box. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.67 × 0.59 × 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. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-heat-treatment-box-34784039","cdnUrl":"https://cdn.3dassets.dev/assets/2882/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-heat-treatment-box-34784039","thumbnailUrl":"https://cdn.3dassets.dev/assets/2882/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2882/v1/poster.webp","blurhash":"U6C$M_?]01x[tL$zR-Iq00MJ${E20gEk={$g","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":21652,"triangles":496,"vertices":1488,"meshes":4,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3362500071525574,-0.000007793328223371088,-0.24901374214021207],"max":[0.3362426362003106,0.5899999737739563,0.2489987191762254]},"sizeMeters":[0.672,0.59,0.498],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:53.824Z","updatedAt":"2026-09-06T05:03:53.984Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2882/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeatTreatmentBoxResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2882/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2882/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2882/v1/model.glb\" alt=\"Heat Treatment Box (Research and Crafting Progression)\" 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/2882/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/2882/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2883","slug":"research-and-crafting-progression-prototype-display-pe-3413d87f","title":"Prototype Display Pedestal (Research and Crafting Progression)","summary":"Prototype Display Pedestal, an original survival prop measuring 0.58 × 0.81 × 0.45 m.","description":"Prototype Display Pedestal. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.58 × 0.81 × 0.45 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-prototype-display-pe-3413d87f","cdnUrl":"https://cdn.3dassets.dev/assets/2883/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-prototype-display-pe-3413d87f","thumbnailUrl":"https://cdn.3dassets.dev/assets/2883/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2883/v1/poster.webp","blurhash":"UF97R=xt0KIV_NofDiV@yDbbROn$aea#kCoe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":22440,"triangles":432,"vertices":1296,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.28999999165534973,-9.152199876745482e-7,-0.2250028927840192],"max":[0.28999999165534973,0.8150069362089385,0.2250028927840192]},"sizeMeters":[0.58,0.815,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:54.269Z","updatedAt":"2026-09-06T05:03:54.386Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2883/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrototypeDisplayPedestalResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2883/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2883/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2883/v1/model.glb\" alt=\"Prototype Display Pedestal (Research and Crafting Progression)\" 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/2883/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/2883/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2884","slug":"research-and-crafting-progression-research-locker-a97eef20","title":"Research Locker (Research and Crafting Progression)","summary":"Research Locker, an original survival prop measuring 0.50 × 1.55 × 0.47 m.","description":"Research Locker. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.50 × 1.55 × 0.47 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-research-locker-a97eef20","cdnUrl":"https://cdn.3dassets.dev/assets/2884/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-research-locker-a97eef20","thumbnailUrl":"https://cdn.3dassets.dev/assets/2884/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2884/v1/poster.webp","blurhash":"U497z%.8004m_Kow9HV_X1W+RpjM%ebEM|oN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":15932,"triangles":432,"vertices":1296,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2499763404649618,0,-0.23620742498858788],"max":[0.2499763404649618,1.5499999523162842,0.2362515961759698]},"sizeMeters":[0.5,1.55,0.472],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:54.610Z","updatedAt":"2026-09-06T05:03:54.762Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2884/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ResearchLockerResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2884/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2884/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2884/v1/model.glb\" alt=\"Research Locker (Research and Crafting Progression)\" 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/2884/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/2884/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2885","slug":"research-and-crafting-progression-portable-analysis-ca-eb51cef4","title":"Portable Analysis Case (Research and Crafting Progression)","summary":"Portable Analysis Case, an original survival prop measuring 0.41 × 0.27 × 0.30 m.","description":"Portable Analysis Case. Purpose-built research equipment with constructed hardware and material separation. Dimensions 0.41 × 0.27 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Weathered survival palette. Static geometry; no rig, animation, collision or navigation data. Movable named parts are separate static nodes; consumer supplies interaction. No functional medical, electrical or food-safety simulation.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-portable-analysis-ca-eb51cef4","cdnUrl":"https://cdn.3dassets.dev/assets/2885/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-portable-analysis-ca-eb51cef4","thumbnailUrl":"https://cdn.3dassets.dev/assets/2885/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2885/v1/poster.webp","blurhash":"U67d|9?b004n~q%MD$D%8xW:xuRP4TNF-;%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"post-apocalyptic","title":"Post-apocalyptic"},{"slug":"low-poly","title":"Low Poly"}],"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":60456,"triangles":1176,"vertices":3528,"meshes":5,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.20399999618530257,0.000007090436989154458,-0.15125771526735804],"max":[0.20399999237060545,0.27074289573473326,0.1512513393467143]},"sizeMeters":[0.408,0.271,0.303],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:54.915Z","updatedAt":"2026-09-06T05:03:55.061Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2885/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PortableAnalysisCaseResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2885/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2885/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2885/v1/model.glb\" alt=\"Portable Analysis Case (Research and Crafting Progression)\" 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/2885/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/2885/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2886","slug":"research-and-crafting-progression-field--cf9e39bc-starter-scene","title":"Field Analysis Corner (Research and Crafting Progression)","summary":"Composed example for Research and Crafting Progression.","description":"Field Analysis Corner assembled from canonical models in this pack. Demonstration layout only; systems are not simulated.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-field--cf9e39bc-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/2886/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-field--cf9e39bc-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/2886/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2886/v1/poster.webp","blurhash":"U99QKvrr00%f~Vs;9Goe9aX9ofM{4.R*-:M{","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":110652,"triangles":4732,"vertices":4086,"meshes":19,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-0.5000065567583154,-0.00002349144619268051,-0.8475226589688312],"max":[1.1039999923706054,1.185000011920929,0.3249742087909823]},"sizeMeters":[1.604,1.185,1.172],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:55.230Z","updatedAt":"2026-09-06T05:03:55.427Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2886/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldAnalysisCornerResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2886/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2886/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2886/v1/model.glb\" alt=\"Field Analysis Corner (Research and Crafting Progression)\" 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/2886/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/2886/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"2887","slug":"research-and-crafting-progression-advanced-prototype-l-eedeaf1d","title":"Advanced Prototype Lab (Research and Crafting Progression)","summary":"Composed example for Research and Crafting Progression.","description":"Advanced Prototype Lab assembled from canonical models in this pack. Demonstration layout only; systems are not simulated.","status":"published","url":"https://3dassets.dev/assets/research-and-crafting-progression-advanced-prototype-l-eedeaf1d","cdnUrl":"https://cdn.3dassets.dev/assets/2887/v1/model.glb","downloadUrl":"https://3dassets.dev/download/research-and-crafting-progression-advanced-prototype-l-eedeaf1d","thumbnailUrl":"https://cdn.3dassets.dev/assets/2887/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/2887/v1/poster.webp","blurhash":"U68}D7_L8_%4ot.7.8IU00My-;bERPIoIUs:","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":110040,"triangles":6372,"vertices":5477,"meshes":34,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-1.3999763404649617,-0.00004058621093211423,-1.1250028927840192],"max":[1.5310514009150795,1.5499999523162842,0.35005340143020897]},"sizeMeters":[2.931,1.55,1.475],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"GPT-6 via Codex","downloads":0,"publishedAt":"2026-09-06T05:03:55.698Z","updatedAt":"2026-09-06T05:03:55.821Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/2887/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AdvancedPrototypeLabResearchAndCraftingProgression(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/2887/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/2887/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/2887/v1/model.glb\" alt=\"Advanced Prototype Lab (Research and Crafting Progression)\" 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/2887/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/2887/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}