{"data":{"id":171,"slug":"diving-and-underwater-salvage","title":"Diving and Underwater Salvage","summary":"28 diving and salvage assets: aircraft crash fragments, recovery tools, scuba equipment and a dressed seafloor worksite.","description":"A stylized island-survival salvage expansion built around a crashed transport aircraft and a working dive expedition. 27 canonical designs plus one folded lift-bag variant. Weathered teal alloy, orange safety equipment and detailed hoses, valves, seams and bevels. Original AI-generated CC0 assets, metre scale. Static props with no water rendering, physics, rigging, animation or working electronics.","url":"https://3dassets.dev/packs/diving-and-underwater-salvage","coverUrl":"https://cdn.3dassets.dev/assets/28464/v1/poster.webp","assetCount":29,"aiGenerated":true,"aiGeneratedAssetCount":29,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":2030776,"totalTriangles":65556,"starterScene":{"id":"28464","slug":"diving-and-underwater-salvage-aircraft-s-f3183bad-starter-scene","title":"Aircraft Salvage Worksite (Diving and Underwater Salvage)","summary":"Explorable 21 metre seafloor crash site: broken transport aircraft, engine inspection, cargo recovery, sample bench, dive staging and perimeter search markers. Water is intentionally omitted for visibility. Static scene; floating recovery equipment requires application buoyancy.","description":"Explorable 21 metre seafloor crash site: broken transport aircraft, engine inspection, cargo recovery, sample bench, dive staging and perimeter search markers. Water is intentionally omitted for visibility. Static scene; floating recovery equipment requires application buoyancy.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-aircraft-s-f3183bad-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/28464/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-aircraft-s-f3183bad-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/28464/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28464/v1/poster.webp","blurhash":"U5AwVO%M00Mx9FWVx]oJ00My?aoz~qodMxbc","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":873552,"triangles":33048,"vertices":35267,"meshes":97,"materials":9,"textures":1,"animations":[],"boundingBox":{"min":[-10.5,-0.00015167341581702465,-10.5],"max":[10.5,3.332590217590332,10.5]},"sizeMeters":[21,3.333,21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":2,"publishedAt":"2026-09-08T02:57:48.606Z","updatedAt":"2026-09-08T04:48:23.488Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28464/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AircraftSalvageWorksiteDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28464/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28464/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28464/v1/model.glb\" alt=\"Aircraft Salvage Worksite (Diving and Underwater Salvage)\" 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/28464/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/28464/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"28435","slug":"diving-and-underwater-salvage-wreck-cockpit-section-b130574f","title":"Wreck Cockpit Section (Diving and Underwater Salvage)","summary":"Open cutaway crashed aircraft cockpit, 2.7 m wide, with two seats, instrument dials, fractured canopy arches and reinforced belly. No intact glazing.","description":"Open cutaway crashed aircraft cockpit, 2.7 m wide, with two seats, instrument dials, fractured canopy arches and reinforced belly. No intact glazing. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-wreck-cockpit-section-b130574f","cdnUrl":"https://cdn.3dassets.dev/assets/28435/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-wreck-cockpit-section-b130574f","thumbnailUrl":"https://cdn.3dassets.dev/assets/28435/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28435/v1/poster.webp","blurhash":"U48N@B%h0000?GxuD%IU00xa-=kD00IU~q%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":109560,"triangles":2260,"vertices":2743,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-1.3500854518265326,-0.000060899178554230105,-1.75],"max":[1.3500854518265326,2.2474951906493015,1.75]},"sizeMeters":[2.7,2.248,3.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.125Z","updatedAt":"2026-09-08T02:57:43.231Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28435/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WreckCockpitSectionDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28435/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28435/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28435/v1/model.glb\" alt=\"Wreck Cockpit Section (Diving and Underwater Salvage)\" 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/28435/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/28435/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28438","slug":"diving-and-underwater-salvage-wreck-cabin-section-e17bfa4a","title":"Wreck Cabin Section (Diving and Underwater Salvage)","summary":"Roofless aircraft passenger cabin fragment with six seats, open window apertures and three broken roof frames, 4 m long. Interior accessible.","description":"Roofless aircraft passenger cabin fragment with six seats, open window apertures and three broken roof frames, 4 m long. Interior accessible. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-wreck-cabin-section-e17bfa4a","cdnUrl":"https://cdn.3dassets.dev/assets/28438/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-wreck-cabin-section-e17bfa4a","thumbnailUrl":"https://cdn.3dassets.dev/assets/28438/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28438/v1/poster.webp","blurhash":"U99@VCkVWB?b~WDiRi-q01D%IURj4:%MR,oL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":165152,"triangles":5124,"vertices":5113,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.4651036461661244,0.00005571967461670546,-2],"max":[1.4651036461661244,2.3443032774202126,2]},"sizeMeters":[2.93,2.344,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.317Z","updatedAt":"2026-09-08T02:57:43.403Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28438/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WreckCabinSectionDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28438/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28438/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28438/v1/model.glb\" alt=\"Wreck Cabin Section (Diving and Underwater Salvage)\" 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/28438/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/28438/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28436","slug":"diving-and-underwater-salvage-torn-wing-section-189c4ee2","title":"Torn Wing Section (Diving and Underwater Salvage)","summary":"Four metre tapered aircraft wing remnant with upper repair strip, panel seams and exposed torn spar ends. Not a modular tile.","description":"Four metre tapered aircraft wing remnant with upper repair strip, panel seams and exposed torn spar ends. Not a modular tile. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-torn-wing-section-189c4ee2","cdnUrl":"https://cdn.3dassets.dev/assets/28436/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-torn-wing-section-189c4ee2","thumbnailUrl":"https://cdn.3dassets.dev/assets/28436/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28436/v1/poster.webp","blurhash":"U36t,err02AK=t-;9z9a00S$~U-40-4n~3~V","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":65756,"triangles":760,"vertices":821,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.112757921218872,-0.00010529634360775808,-1.2507485627553234],"max":[2.401319637083791,0.36502480251366637,1.2507485627553234]},"sizeMeters":[4.514,0.365,2.501],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.141Z","updatedAt":"2026-09-08T02:57:43.254Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28436/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TornWingSectionDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28436/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28436/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28436/v1/model.glb\" alt=\"Torn Wing Section (Diving and Underwater Salvage)\" 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/28436/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/28436/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28439","slug":"diving-and-underwater-salvage-submerged-engine-pod-3204991b","title":"Submerged Engine Pod (Diving and Underwater Salvage)","summary":"Detached jet engine pod with recessed static compressor blades, rounded nacelle, corroded inlet ring and broken mounts. Blades do not spin.","description":"Detached jet engine pod with recessed static compressor blades, rounded nacelle, corroded inlet ring and broken mounts. Blades do not spin. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-submerged-engine-pod-3204991b","cdnUrl":"https://cdn.3dassets.dev/assets/28439/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-submerged-engine-pod-3204991b","thumbnailUrl":"https://cdn.3dassets.dev/assets/28439/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28439/v1/poster.webp","blurhash":"UB9Z$O~BnORPEORPr=t70K9aI;o}%2o~X8V@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":73260,"triangles":880,"vertices":1357,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.7350755931029231,-0.000010570129238329784,-0.8999999761581421],"max":[0.7350755931029231,1.4465825168693889,1.1450170370247248]},"sizeMeters":[1.47,1.447,2.045],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.372Z","updatedAt":"2026-09-08T02:57:43.471Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28439/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SubmergedEnginePodDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28439/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28439/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28439/v1/model.glb\" alt=\"Submerged Engine Pod (Diving and Underwater Salvage)\" 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/28439/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/28439/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28440","slug":"diving-and-underwater-salvage-cargo-hold-section-dee56170","title":"Cargo Hold Section (Diving and Underwater Salvage)","summary":"Open aircraft cargo bay shell with reinforced side panels, incomplete rear bulkhead, tie-down eyes and ribbed deck, 3.2 m wide.","description":"Open aircraft cargo bay shell with reinforced side panels, incomplete rear bulkhead, tie-down eyes and ribbed deck, 3.2 m wide. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-cargo-hold-section-dee56170","cdnUrl":"https://cdn.3dassets.dev/assets/28440/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-cargo-hold-section-dee56170","thumbnailUrl":"https://cdn.3dassets.dev/assets/28440/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28440/v1/poster.webp","blurhash":"U36H$G~V4-EM;gs8OqXn00D%T0R+S~o#IpIA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":100612,"triangles":2784,"vertices":2216,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.6050000190734863,-0.00006349014427609045,-1.649999976158142],"max":[1.6050000190734863,1.569906741786566,1.649999976158142]},"sizeMeters":[3.21,1.57,3.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.557Z","updatedAt":"2026-09-08T02:57:43.658Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28440/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CargoHoldSectionDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28440/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28440/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28440/v1/model.glb\" alt=\"Cargo Hold Section (Diving and Underwater Salvage)\" 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/28440/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/28440/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28441","slug":"diving-and-underwater-salvage-sealed-salvage-pod-7080b5ff","title":"Sealed Salvage Pod (Diving and Underwater Salvage)","summary":"Sealed metre-wide recovery pod with impact-rounded shell, raised compression seam, external bands, clasps and carrying handles. Lid static.","description":"Sealed metre-wide recovery pod with impact-rounded shell, raised compression seam, external bands, clasps and carrying handles. Lid static. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-sealed-salvage-pod-7080b5ff","cdnUrl":"https://cdn.3dassets.dev/assets/28441/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-sealed-salvage-pod-7080b5ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/28441/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28441/v1/poster.webp","blurhash":"U6G*G:?b00H@0$rWj[J-00E1-ix[=ft-}=rY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":27992,"triangles":996,"vertices":1196,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6200000047683716,0.000014323831808771281,-0.4699999988079071],"max":[0.6200000047683716,0.9818974064726321,0.5075224729155761]},"sizeMeters":[1.24,0.982,0.978],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.643Z","updatedAt":"2026-09-08T02:57:43.745Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28441/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SealedSalvagePodDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28441/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28441/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28441/v1/model.glb\" alt=\"Sealed Salvage Pod (Diving and Underwater Salvage)\" 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/28441/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/28441/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28442","slug":"diving-and-underwater-salvage-lift-bag-inflated-58b2fafc","title":"Lift Bag Inflated (Diving and Underwater Salvage)","summary":"Inflated orange salvage lift bag with four seam-like lifting straps, bottom valve and tether eye. Ground origin is at the lowest tether; place suspended above cargo. Static, no buoyancy.","description":"Inflated orange salvage lift bag with four seam-like lifting straps, bottom valve and tether eye. Ground origin is at the lowest tether; place suspended above cargo. Static, no buoyancy. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-lift-bag-inflated-58b2fafc","cdnUrl":"https://cdn.3dassets.dev/assets/28442/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-lift-bag-inflated-58b2fafc","thumbnailUrl":"https://cdn.3dassets.dev/assets/28442/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28442/v1/poster.webp","blurhash":"UDC~S4xs01E3};t69wM|0kRl}nt40,R+=@s,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":20772,"triangles":656,"vertices":824,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6500488478485402,-0.000006393453103270552,-0.5499954376505347],"max":[0.6500488478485402,2.212590217590332,0.5499954376505347]},"sizeMeters":[1.3,2.213,1.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:43.776Z","updatedAt":"2026-09-08T02:57:43.885Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28442/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LiftBagInflatedDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28442/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28442/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28442/v1/model.glb\" alt=\"Lift Bag Inflated (Diving and Underwater Salvage)\" 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/28442/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/28442/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28443","slug":"diving-and-underwater-salvage-lift-bag-folded-c2d6cd07","title":"Lift Bag Folded (Diving and Underwater Salvage)","summary":"Deflated lift bag folded into a compact strapped bundle. Static alternate deployment state.","description":"Deflated lift bag folded into a compact strapped bundle. Static alternate deployment state. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-lift-bag-folded-c2d6cd07","cdnUrl":"https://cdn.3dassets.dev/assets/28443/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-lift-bag-folded-c2d6cd07","thumbnailUrl":"https://cdn.3dassets.dev/assets/28443/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28443/v1/poster.webp","blurhash":"U8I4IL.701R5~S-PNGE#00R6=]k84?J;RQa0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":18328,"triangles":816,"vertices":661,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32499998807907104,-0.000011283221376362507,-0.2250041934716224],"max":[0.32499998807907104,0.3300112963343982,0.2829917258278518]},"sizeMeters":[0.65,0.33,0.508],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:44.727Z","updatedAt":"2026-09-08T02:57:44.840Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28443/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LiftBagFoldedDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28443/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28443/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28443/v1/model.glb\" alt=\"Lift Bag Folded (Diving and Underwater Salvage)\" 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/28443/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/28443/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28444","slug":"diving-and-underwater-salvage-twin-scuba-tank-rig-99accfd4","title":"Twin Scuba Tank Rig (Diving and Underwater Salvage)","summary":"Twin 11 litre style cylinders on backplate with isolation bar, band clamps and routed regulator hose. Wearable prop, no human rig.","description":"Twin 11 litre style cylinders on backplate with isolation bar, band clamps and routed regulator hose. Wearable prop, no human rig. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-twin-scuba-tank-rig-99accfd4","cdnUrl":"https://cdn.3dassets.dev/assets/28444/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-twin-scuba-tank-rig-99accfd4","thumbnailUrl":"https://cdn.3dassets.dev/assets/28444/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28444/v1/poster.webp","blurhash":"U89ju*?Z0003IWoL%1WB01D+~o?Zt6WERkoe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":40464,"triangles":1684,"vertices":1711,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2740106530203084,0,-0.12500540502002183],"max":[0.4207724280370931,0.9278830885887146,0.3300019202817966]},"sizeMeters":[0.695,0.928,0.455],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:44.789Z","updatedAt":"2026-09-08T02:57:44.877Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28444/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TwinScubaTankRigDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28444/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28444/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28444/v1/model.glb\" alt=\"Twin Scuba Tank Rig (Diving and Underwater Salvage)\" 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/28444/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/28444/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28445","slug":"diving-and-underwater-salvage-rebreather-pack-beeff67d","title":"Rebreather Pack (Diving and Underwater Salvage)","summary":"Compact closed circuit rebreather with scrubber housing, bailout cylinders, breathing loop and mouthpiece. Static prop only.","description":"Compact closed circuit rebreather with scrubber housing, bailout cylinders, breathing loop and mouthpiece. Static prop only. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-rebreather-pack-beeff67d","cdnUrl":"https://cdn.3dassets.dev/assets/28445/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-rebreather-pack-beeff67d","thumbnailUrl":"https://cdn.3dassets.dev/assets/28445/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28445/v1/poster.webp","blurhash":"UA9QpoRO00o$D*tR%KM_00kD~os*_0V?9bo#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":39448,"triangles":1660,"vertices":1662,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.38400760973693504,0,-0.13066466651609282],"max":[0.38400760973693504,0.9368110299110413,0.40002432964494566]},"sizeMeters":[0.768,0.937,0.531],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:44.892Z","updatedAt":"2026-09-08T02:57:44.999Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28445/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RebreatherPackDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28445/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28445/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28445/v1/model.glb\" alt=\"Rebreather Pack (Diving and Underwater Salvage)\" 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/28445/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/28445/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28446","slug":"diving-and-underwater-salvage-dive-mask-ef65b794","title":"Dive Mask (Diving and Underwater Salvage)","summary":"Twin-lens dive mask with soft shaped skirt, nose pocket and continuous rear head strap. Opaque tinted lenses.","description":"Twin-lens dive mask with soft shaped skirt, nose pocket and continuous rear head strap. Opaque tinted lenses. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-dive-mask-ef65b794","cdnUrl":"https://cdn.3dassets.dev/assets/28446/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-dive-mask-ef65b794","thumbnailUrl":"https://cdn.3dassets.dev/assets/28446/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28446/v1/poster.webp","blurhash":"U43cOty?ISMdxvozX7bb8wL~xvtmITVsiwiw","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":17276,"triangles":584,"vertices":733,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.2148340493440628,0.000005179154671700048,-0.2841582965673882],"max":[0.2148340493440628,0.15999481726904963,0.11755324868578501]},"sizeMeters":[0.43,0.16,0.402],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:45.018Z","updatedAt":"2026-09-08T02:57:45.122Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28446/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiveMaskDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28446/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28446/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28446/v1/model.glb\" alt=\"Dive Mask (Diving and Underwater Salvage)\" 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/28446/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/28446/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28447","slug":"diving-and-underwater-salvage-dive-fin-pair-b896fd2f","title":"Dive Fin Pair (Diving and Underwater Salvage)","summary":"Matched orange swim fins with long channelled blades, raised side rails and open heel straps. Pair is one static asset.","description":"Matched orange swim fins with long channelled blades, raised side rails and open heel straps. Pair is one static asset. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-dive-fin-pair-b896fd2f","cdnUrl":"https://cdn.3dassets.dev/assets/28447/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-dive-fin-pair-b896fd2f","thumbnailUrl":"https://cdn.3dassets.dev/assets/28447/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28447/v1/poster.webp","blurhash":"UEAl?|=_57NI9{RlxDoe03EM-UoL}:$$Ncoe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":24664,"triangles":1200,"vertices":962,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.28500611038557555,0.000006103009500761647,-0.3240945339202881],"max":[0.28500611038557555,0.1099924481293863,0.42500001192092896]},"sizeMeters":[0.57,0.11,0.749],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:45.143Z","updatedAt":"2026-09-08T02:57:45.305Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28447/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiveFinPairDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28447/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28447/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28447/v1/model.glb\" alt=\"Dive Fin Pair (Diving and Underwater Salvage)\" 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/28447/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/28447/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28448","slug":"diving-and-underwater-salvage-dive-computer-console-cc8e4288","title":"Dive Computer Console (Diving and Underwater Salvage)","summary":"Wrist dive computer with recessed display, two side buttons and extended rubber strap. Display is unlabelled and nonfunctional.","description":"Wrist dive computer with recessed display, two side buttons and extended rubber strap. Display is unlabelled and nonfunctional. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-dive-computer-console-cc8e4288","cdnUrl":"https://cdn.3dassets.dev/assets/28448/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-dive-computer-console-cc8e4288","thumbnailUrl":"https://cdn.3dassets.dev/assets/28448/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28448/v1/poster.webp","blurhash":"U44M06%hHXrCX-M{Q-V[4TMx%~XnhzxvystQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":11868,"triangles":388,"vertices":415,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.07450000196695328,0.000013580289884351782,-0.20000000298023224],"max":[0.07450000196695328,0.08199871937002007,0.20000000298023224]},"sizeMeters":[0.149,0.082,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:45.209Z","updatedAt":"2026-09-08T02:57:45.307Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28448/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiveComputerConsoleDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28448/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28448/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28448/v1/model.glb\" alt=\"Dive Computer Console (Diving and Underwater Salvage)\" 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/28448/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/28448/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28449","slug":"diving-and-underwater-salvage-underwater-torch-3605c740","title":"Underwater Torch (Diving and Underwater Salvage)","summary":"Handheld waterproof dive light with large sealed lens bezel and top grip. No beam or embedded light.","description":"Handheld waterproof dive light with large sealed lens bezel and top grip. No beam or embedded light. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-underwater-torch-3605c740","cdnUrl":"https://cdn.3dassets.dev/assets/28449/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-underwater-torch-3605c740","thumbnailUrl":"https://cdn.3dassets.dev/assets/28449/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28449/v1/poster.webp","blurhash":"U88}6*A102=^IAR4nhb_00?E_1D+_MXnE4$e","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":15228,"triangles":360,"vertices":758,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.08699609358018852,0,-0.14499999582767487],"max":[0.08699609358018852,0.30887430906295776,0.22650011123353614]},"sizeMeters":[0.174,0.309,0.372],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:45.499Z","updatedAt":"2026-09-08T02:57:45.588Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28449/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UnderwaterTorchDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28449/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28449/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28449/v1/model.glb\" alt=\"Underwater Torch (Diving and Underwater Salvage)\" 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/28449/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/28449/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28450","slug":"diving-and-underwater-salvage-underwater-camera-housin-17b2b5a6","title":"Underwater Camera Housing (Diving and Underwater Salvage)","summary":"Compact camera pressure housing with front optical port, sealing bolts, paired handles and shutter button. Opaque lens.","description":"Compact camera pressure housing with front optical port, sealing bolts, paired handles and shutter button. Opaque lens. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-underwater-camera-housin-17b2b5a6","cdnUrl":"https://cdn.3dassets.dev/assets/28450/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-underwater-camera-housin-17b2b5a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/28450/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28450/v1/poster.webp","blurhash":"UA9QX1Ac01}7-Tn,ENSc01,V^%699~S~=@rr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":23892,"triangles":556,"vertices":1046,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.28600001335144043,0.000013993229945191699,-0.0750114474217405],"max":[0.28600001335144043,0.284713490757863,0.2199978646853112]},"sizeMeters":[0.572,0.285,0.295],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:45.849Z","updatedAt":"2026-09-08T02:57:45.938Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28450/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UnderwaterCameraHousingDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28450/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28450/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28450/v1/model.glb\" alt=\"Underwater Camera Housing (Diving and Underwater Salvage)\" 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/28450/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/28450/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28452","slug":"diving-and-underwater-salvage-cutting-torch-rig-41edb126","title":"Cutting Torch Rig (Diving and Underwater Salvage)","summary":"Twin-gas underwater cutting rig on compact skid with routed supply hose and cutting handpiece resting beside cylinders. No flame or pressure simulation.","description":"Twin-gas underwater cutting rig on compact skid with routed supply hose and cutting handpiece resting beside cylinders. No flame or pressure simulation. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-cutting-torch-rig-41edb126","cdnUrl":"https://cdn.3dassets.dev/assets/28452/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-cutting-torch-rig-41edb126","thumbnailUrl":"https://cdn.3dassets.dev/assets/28452/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28452/v1/poster.webp","blurhash":"UDBCxt};0L5Y%1xaRjI;0LEO%MjEM{Rkxus,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":37240,"triangles":1492,"vertices":1582,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5662593841552734,-0.000037956359027813136,-0.2000114443605153],"max":[1.0331239700317383,0.7161548584962255,0.5966001822899878]},"sizeMeters":[1.599,0.716,0.797],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:46.352Z","updatedAt":"2026-09-08T02:57:46.470Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28452/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CuttingTorchRigDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28452/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28452/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28452/v1/model.glb\" alt=\"Cutting Torch Rig (Diving and Underwater Salvage)\" 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/28452/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/28452/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28451","slug":"diving-and-underwater-salvage-hydraulic-spreader-38ded81b","title":"Hydraulic Spreader (Diving and Underwater Salvage)","summary":"Compact static hydraulic rescue spreader with wedge jaws, piston housing and bridge grip. Jaw linkage is fixed.","description":"Compact static hydraulic rescue spreader with wedge jaws, piston housing and bridge grip. Jaw linkage is fixed. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-hydraulic-spreader-38ded81b","cdnUrl":"https://cdn.3dassets.dev/assets/28451/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-hydraulic-spreader-38ded81b","thumbnailUrl":"https://cdn.3dassets.dev/assets/28451/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28451/v1/poster.webp","blurhash":"U98zlXXo01m+RPRjt6tR00n3~UX.%N%MM{IU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":14216,"triangles":324,"vertices":584,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25508668235453313,0.0000010663832489474223,-0.30000001192092896],"max":[0.25508668235453313,0.26187889282584964,0.44002753496170044]},"sizeMeters":[0.51,0.262,0.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:46.334Z","updatedAt":"2026-09-08T02:57:46.419Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28451/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HydraulicSpreaderDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28451/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28451/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28451/v1/model.glb\" alt=\"Hydraulic Spreader (Diving and Underwater Salvage)\" 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/28451/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/28451/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28453","slug":"diving-and-underwater-salvage-underwater-metal-detecto-1349fd27","title":"Underwater Metal Detector (Diving and Underwater Salvage)","summary":"Submersible detector with open search coil, long shaft, angled control head and rear grip. No detection behaviour.","description":"Submersible detector with open search coil, long shaft, angled control head and rear grip. No detection behaviour. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-underwater-metal-detecto-1349fd27","cdnUrl":"https://cdn.3dassets.dev/assets/28453/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-underwater-metal-detecto-1349fd27","thumbnailUrl":"https://cdn.3dassets.dev/assets/28453/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28453/v1/poster.webp","blurhash":"U671l=S500s8jED%bI?b00xZ~pI;Ir?as+01","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":15296,"triangles":528,"vertices":617,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.19398047923668843,-0.0000020609619736378093,-0.3630000054836273],"max":[0.19398047923668843,0.5176609502556443,0.7091360092163086]},"sizeMeters":[0.388,0.518,1.072],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:46.502Z","updatedAt":"2026-09-08T02:57:46.603Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28453/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function UnderwaterMetalDetectorDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28453/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28453/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28453/v1/model.glb\" alt=\"Underwater Metal Detector (Diving and Underwater Salvage)\" 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/28453/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/28453/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28454","slug":"diving-and-underwater-salvage-salvage-claw-23b5baf2","title":"Salvage Claw (Diving and Underwater Salvage)","summary":"Three-jaw lifting grab with spread hooked fingers, hydraulic housing and upper lifting eye. Open static pose; linkage does not move.","description":"Three-jaw lifting grab with spread hooked fingers, hydraulic housing and upper lifting eye. Open static pose; linkage does not move. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-salvage-claw-23b5baf2","cdnUrl":"https://cdn.3dassets.dev/assets/28454/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-salvage-claw-23b5baf2","thumbnailUrl":"https://cdn.3dassets.dev/assets/28454/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28454/v1/poster.webp","blurhash":"UDB:NhE103VrMdj]R.xu00%M~9SiyFRj-SIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":16384,"triangles":456,"vertices":675,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.34474387764930725,-0.00001668342229346753,-0.22006693259861582],"max":[0.34474387764930725,0.6452072765281957,0.38760898784783]},"sizeMeters":[0.689,0.645,0.608],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:46.695Z","updatedAt":"2026-09-08T02:57:46.808Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28454/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SalvageClawDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28454/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28454/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28454/v1/model.glb\" alt=\"Salvage Claw (Diving and Underwater Salvage)\" 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/28454/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/28454/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28455","slug":"diving-and-underwater-salvage-sample-core-drill-de53eb95","title":"Sample Core Drill (Diving and Underwater Salvage)","summary":"Underwater coring drill with hollow-looking annular cutting crown, ribbed barrel and wide two-hand top grip. Static cutting assembly.","description":"Underwater coring drill with hollow-looking annular cutting crown, ribbed barrel and wide two-hand top grip. Static cutting assembly. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-sample-core-drill-de53eb95","cdnUrl":"https://cdn.3dassets.dev/assets/28455/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-sample-core-drill-de53eb95","thumbnailUrl":"https://cdn.3dassets.dev/assets/28455/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28455/v1/poster.webp","blurhash":"U9A]]Dct0L]}9F9FRj%M00,-~B5X_4_2slIB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":26056,"triangles":1132,"vertices":1021,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.20300762112189513,0.000013900560009355578,-0.30000001192092896],"max":[0.20300762112189513,0.3876688566130385,0.4529903829097748]},"sizeMeters":[0.406,0.388,0.753],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:46.791Z","updatedAt":"2026-09-08T02:57:46.908Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28455/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SampleCoreDrillDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28455/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28455/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28455/v1/model.glb\" alt=\"Sample Core Drill (Diving and Underwater Salvage)\" 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/28455/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/28455/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28456","slug":"diving-and-underwater-salvage-specimen-canister-d6e9ed5c","title":"Specimen Canister (Diving and Underwater Salvage)","summary":"Small pressure sample canister with opaque teal body, sealed endcaps, label plate and folding-style carry handle fixed upright.","description":"Small pressure sample canister with opaque teal body, sealed endcaps, label plate and folding-style carry handle fixed upright. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-specimen-canister-d6e9ed5c","cdnUrl":"https://cdn.3dassets.dev/assets/28456/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-specimen-canister-d6e9ed5c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28456/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28456/v1/poster.webp","blurhash":"U597|e?a000000M|?^%L4TIW.m?G0ct2~CIu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":15064,"triangles":404,"vertices":559,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.11500824318312912,1.490116086078075e-10,-0.11500824318312912],"max":[0.11500824318312912,0.6068742871284485,0.11500824318312912]},"sizeMeters":[0.23,0.607,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:46.858Z","updatedAt":"2026-09-08T02:57:46.974Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28456/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpecimenCanisterDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28456/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28456/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28456/v1/model.glb\" alt=\"Specimen Canister (Diving and Underwater Salvage)\" 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/28456/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/28456/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28457","slug":"diving-and-underwater-salvage-decompression-trapeze-91743045","title":"Decompression Trapeze (Diving and Underwater Salvage)","summary":"Three-level suspended decompression trapeze with twin vertical ropes and top attachment rings. Origin at bottom bar, place suspended; no buoyancy or diver physics.","description":"Three-level suspended decompression trapeze with twin vertical ropes and top attachment rings. Origin at bottom bar, place suspended; no buoyancy or diver physics. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-decompression-trapeze-91743045","cdnUrl":"https://cdn.3dassets.dev/assets/28457/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-decompression-trapeze-91743045","thumbnailUrl":"https://cdn.3dassets.dev/assets/28457/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28457/v1/poster.webp","blurhash":"U6C?lj_2000Kp1%Mxq9F01W=~Unh9a%M^%9G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":13436,"triangles":456,"vertices":490,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7310000061988831,0,-0.0379654092355327],"max":[0.7310000061988831,2.161882956380079,0.0379654092355327]},"sizeMeters":[1.462,2.162,0.076],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:47.055Z","updatedAt":"2026-09-08T02:57:47.255Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28457/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DecompressionTrapezeDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28457/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28457/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28457/v1/model.glb\" alt=\"Decompression Trapeze (Diving and Underwater Salvage)\" 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/28457/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/28457/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28458","slug":"diving-and-underwater-salvage-surface-supply-reel-6dd2a6a2","title":"Surface Supply Reel (Diving and Underwater Salvage)","summary":"Deck-mounted umbilical supply reel with eight visible cable turns, twin flanges, triangular stands and crank. Reel fixed, no deployable hose.","description":"Deck-mounted umbilical supply reel with eight visible cable turns, twin flanges, triangular stands and crank. Reel fixed, no deployable hose. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-surface-supply-reel-6dd2a6a2","cdnUrl":"https://cdn.3dassets.dev/assets/28458/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-surface-supply-reel-6dd2a6a2","thumbnailUrl":"https://cdn.3dassets.dev/assets/28458/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28458/v1/poster.webp","blurhash":"UIDurD-.0g$$~8%0NIRk03en%1EN5AM}W=Ny","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":47968,"triangles":2016,"vertices":2008,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.4099999964237213,0.000015120836334092669,-0.3999899254029084],"max":[0.6200000047683716,0.9099950549672868,0.3999899254029084]},"sizeMeters":[1.03,0.91,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:47.475Z","updatedAt":"2026-09-08T02:57:47.563Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28458/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SurfaceSupplyReelDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28458/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28458/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28458/v1/model.glb\" alt=\"Surface Supply Reel (Diving and Underwater Salvage)\" 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/28458/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/28458/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28461","slug":"diving-and-underwater-salvage-dive-entry-platform-bbd61c40","title":"Dive Entry Platform (Diving and Underwater Salvage)","summary":"Freestanding 2.4 m diving platform with slatted deck, side rails and three-rung entry ladder. Support feet extend below deck; water plane not supplied.","description":"Freestanding 2.4 m diving platform with slatted deck, side rails and three-rung entry ladder. Support feet extend below deck; water plane not supplied. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-dive-entry-platform-bbd61c40","cdnUrl":"https://cdn.3dassets.dev/assets/28461/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-dive-entry-platform-bbd61c40","thumbnailUrl":"https://cdn.3dassets.dev/assets/28461/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28461/v1/poster.webp","blurhash":"U79%|:_2Di0K_NM{IUV@00WEIoW99E?aM|IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":90624,"triangles":1668,"vertices":1820,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.2000820071626583,-0.00004959257607944911,-1.2999999523162842],"max":[1.2000820071626583,1.68023631452937,1.680310845375061]},"sizeMeters":[2.4,1.68,2.98],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:48.115Z","updatedAt":"2026-09-08T02:57:48.219Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28461/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiveEntryPlatformDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28461/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28461/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28461/v1/model.glb\" alt=\"Dive Entry Platform (Diving and Underwater Salvage)\" 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/28461/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/28461/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28459","slug":"diving-and-underwater-salvage-diver-equipment-bench-7b6a5d08","title":"Diver Equipment Bench (Diving and Underwater Salvage)","summary":"1.75 m equipment bench with lower storage shelf, raised anti-roll edges and two lifting handles. Top deck is 0.9 m above grounded origin.","description":"1.75 m equipment bench with lower storage shelf, raised anti-roll edges and two lifting handles. Top deck is 0.9 m above grounded origin. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-diver-equipment-bench-7b6a5d08","cdnUrl":"https://cdn.3dassets.dev/assets/28459/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-diver-equipment-bench-7b6a5d08","thumbnailUrl":"https://cdn.3dassets.dev/assets/28459/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28459/v1/poster.webp","blurhash":"UE97hLWYD*of~oozIVWBR5xtR-Rj9H%1WVM|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":74460,"triangles":1104,"vertices":1286,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.875,-0.000026754738191914207,-0.3999412518692587],"max":[0.875,1.0919011157764,0.3999412518692587]},"sizeMeters":[1.75,1.092,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:48.062Z","updatedAt":"2026-09-08T02:57:48.152Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28459/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiverEquipmentBenchDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28459/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28459/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28459/v1/model.glb\" alt=\"Diver Equipment Bench (Diving and Underwater Salvage)\" 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/28459/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/28459/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28460","slug":"diving-and-underwater-salvage-weighted-guide-line-post-019bba68","title":"Weighted Guide Line Post (Diving and Underwater Salvage)","summary":"Weighted yellow route post with square ballast shoe and upper rope eye. No included guide rope, suitable as standalone search route marker.","description":"Weighted yellow route post with square ballast shoe and upper rope eye. No included guide rope, suitable as standalone search route marker. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-weighted-guide-line-post-019bba68","cdnUrl":"https://cdn.3dassets.dev/assets/28460/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-weighted-guide-line-post-019bba68","thumbnailUrl":"https://cdn.3dassets.dev/assets/28460/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28460/v1/poster.webp","blurhash":"U58E6px[00Dj-naeD+fm0Pog~RRiXBbHjVo1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":13940,"triangles":452,"vertices":519,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2150000035762787,0.000008541717409091265,-0.2150000035762787],"max":[0.2150000035762787,1.3921446800231934,0.23549826720684963]},"sizeMeters":[0.43,1.392,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:48.100Z","updatedAt":"2026-09-08T02:57:48.203Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28460/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeightedGuideLinePostDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28460/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28460/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28460/v1/model.glb\" alt=\"Weighted Guide Line Post (Diving and Underwater Salvage)\" 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/28460/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/28460/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28462","slug":"diving-and-underwater-salvage-wreck-warning-marker-12a75f93","title":"Wreck Warning Marker (Diving and Underwater Salvage)","summary":"Ballasted triangular underwater hazard marker with raised exclamation symbol and tubular post. Decorative warning, no text or collision.","description":"Ballasted triangular underwater hazard marker with raised exclamation symbol and tubular post. Decorative warning, no text or collision. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-wreck-warning-marker-12a75f93","cdnUrl":"https://cdn.3dassets.dev/assets/28462/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-wreck-warning-marker-12a75f93","thumbnailUrl":"https://cdn.3dassets.dev/assets/28462/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28462/v1/poster.webp","blurhash":"U99a4{t700M{~Soc4=R.0LoL^*R+03WC_0s.","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10788,"triangles":380,"vertices":352,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3700000047683716,-2.980232727267662e-10,-0.24997116813042153],"max":[0.3700000047683716,1.5700132547062768,0.24997116813042153]},"sizeMeters":[0.74,1.57,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:48.328Z","updatedAt":"2026-09-08T02:57:48.436Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28462/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WreckWarningMarkerDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28462/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28462/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28462/v1/model.glb\" alt=\"Wreck Warning Marker (Diving and Underwater Salvage)\" 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/28462/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/28462/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28463","slug":"diving-and-underwater-salvage-seafloor-display-base-d2314242","title":"Seafloor Display Base (Diving and Underwater Salvage)","summary":"Seven metre square flat seafloor presentation tile with small scattered corroded pebbles. Top surface 0.18 m; no water shader or terrain blending.","description":"Seven metre square flat seafloor presentation tile with small scattered corroded pebbles. Top surface 0.18 m; no water shader or terrain blending. Original AI-generated CC0 stylized salvage equipment. Metres, +Y up, +Z front, grounded footprint origin. Standard fidelity, bevelled construction and embedded procedural panel texture where used. Static geometry; no animation, physics, water, particles, lighting or functional instruments. Wreck sections are non-modular fragments with no connector guarantees.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-seafloor-display-base-d2314242","cdnUrl":"https://cdn.3dassets.dev/assets/28463/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-seafloor-display-base-d2314242","thumbnailUrl":"https://cdn.3dassets.dev/assets/28463/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28463/v1/poster.webp","blurhash":"U6BDvR-;00n,xujZR*kC00IU_MR%D*bbsoV@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"pbr","title":"PBR textures"}],"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":27480,"triangles":1388,"vertices":1070,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-3.5,-0.00015167341581702465,-3.5],"max":[3.5,0.23007426523444133,3.5]},"sizeMeters":[7,0.23,7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:48.410Z","updatedAt":"2026-09-08T02:57:48.495Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28463/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SeafloorDisplayBaseDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28463/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28463/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28463/v1/model.glb\" alt=\"Seafloor Display Base (Diving and Underwater Salvage)\" 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/28463/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/28463/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28464","slug":"diving-and-underwater-salvage-aircraft-s-f3183bad-starter-scene","title":"Aircraft Salvage Worksite (Diving and Underwater Salvage)","summary":"Explorable 21 metre seafloor crash site: broken transport aircraft, engine inspection, cargo recovery, sample bench, dive staging and perimeter search markers. Water is intentionally omitted for visibility. Static scene; floating recovery equipment requires application buoyancy.","description":"Explorable 21 metre seafloor crash site: broken transport aircraft, engine inspection, cargo recovery, sample bench, dive staging and perimeter search markers. Water is intentionally omitted for visibility. Static scene; floating recovery equipment requires application buoyancy.","status":"published","url":"https://3dassets.dev/assets/diving-and-underwater-salvage-aircraft-s-f3183bad-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/28464/v1/model.glb","downloadUrl":"https://3dassets.dev/download/diving-and-underwater-salvage-aircraft-s-f3183bad-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/28464/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28464/v1/poster.webp","blurhash":"U5AwVO%M00Mx9FWVx]oJ00My?aoz~qodMxbc","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"stylized","title":"Stylized"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":873552,"triangles":33048,"vertices":35267,"meshes":97,"materials":9,"textures":1,"animations":[],"boundingBox":{"min":[-10.5,-0.00015167341581702465,-10.5],"max":[10.5,3.332590217590332,10.5]},"sizeMeters":[21,3.333,21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":2,"publishedAt":"2026-09-08T02:57:48.606Z","updatedAt":"2026-09-08T04:48:23.488Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28464/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AircraftSalvageWorksiteDivingAndUnderwaterSalvage(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28464/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28464/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28464/v1/model.glb\" alt=\"Aircraft Salvage Worksite (Diving and Underwater Salvage)\" 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/28464/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/28464/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}