{"data":{"id":253,"slug":"mega-weapon-pack","title":"Mega Weapon Pack","summary":"An exhaustive premium modern weapon kit: over a hundred original firearms and melee weapons with socketed rails, muzzles, magazines and stocks, thirty attachments that fit them, explosives, and the racks, cases, bench and ammunition to dress an armoury.","description":"A complete modern firearms and melee kit for shooter and survival projects, built at the premium tier so every model holds up at first person arm's length. Twelve handguns, eight submachine guns and personal defence weapons, seven shotguns, fourteen assault and battle rifles, twelve marksman, sniper and anti materiel rifles, six machine guns and support weapons, six launchers, ten explosives and throwables, twenty melee weapons, four thrown weapons and thirty attachments, plus the armoury that holds them: racks, a pegboard, cases, ammunition cans and crates, a gunsmith bench with a working vice, a cleaning roll, shelving and a modular concrete room shell. Detail is modelled rather than implied: accessory rails are slotted crowns with real dovetail teeth, aperture sights have a hole through the leaf, barrels have a bore, magazines have feed lips, witness holes and floor plates, receivers have a recessed ejection port with the bolt face inside it, grip panels and stocks carry chequering as geometry, blades are ground to a wedge with a spine rib and a fuller, and every screw, pin and knurl is a solid. Assembly is the point: every firearm declares connectors in model coordinates for its optic rail, muzzle, underbarrel and side rails, magazine well and stock interface, and every attachment declares one mating port of the same type, so laying the two together fits them exactly. Twenty two weapons also ship as fitted variants with a real loadout modelled on. Animation is rigid node transform clips only, with no skinning anywhere: slides, bolts, charging handles and pump fore-ends run back along the bore and home, magazines drop out of their wells and back in, revolver and grenade launcher cylinders index, hammers thumb to full cock, break actions and case lids hinge open, folding and collapsing stocks work, bipod legs splay and a rotary barrel cluster spins. Trigger linkages, gas systems, extractors, belt feeds and vice screws are modelled as solids and deliberately left static, because a rigid node transform cannot drive a linkage honestly. Metre units, +Y up, muzzle and point toward +Z, ground contact at y = 0. Every design is invented: no real make, model, manufacturer, calibre designation or trademarked silhouette appears anywhere, and every marking modelled is blank.","url":"https://3dassets.dev/packs/mega-weapon-pack","coverUrl":"https://cdn.3dassets.dev/assets/33113/v1/poster.webp","assetCount":173,"aiGenerated":true,"aiGeneratedAssetCount":173,"aiModels":["claude-opus-5"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":162318812,"totalTriangles":6556000,"starterScene":{"id":"33113","slug":"mega-weapon-pack-armoury-room-ef2704a1-starter-scene","title":"Armoury room (Mega Weapon Pack)","summary":"A six by four metre concrete armoury stocked the way a real one is, walled on three sides under lit battens with the front left open so the room can be seen into. A display rack fills the back wall with a suppressed carbine on a fore grip, a second carbine wearing a reflex...","description":"A six by four metre concrete armoury stocked the way a real one is, walled on three sides under lit battens with the front left open so the room can be seen into. A display rack fills the back wall with a suppressed carbine on a fore grip, a second carbine wearing a reflex sight and an angled grip, and a scoped rifle with a spare magazine on it; beside it a pegboard carries three suppressed handguns. A blade rack of four knives, a machete and a tomahawk fills the left wall, with a stocked shelf unit under it. A gunsmith bench along the right holds the cleaning roll, an ammunition can and a crate with two transport cases stacked beneath. Two more four bay shelf units stand against the back wall, every shelf holding an ammunition can or a crate, and crates and cans are stacked across the floor between them, leaving a path from the door to the bench. Every fitting in the room is on a weapon, mated on a declared socket, so the assembly a developer would do is proved here rather than implied.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-room-ef2704a1-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/33113/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-room-ef2704a1-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/33113/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33113/v1/poster.webp","blurhash":"U3E{hC?H00kW?a_4-pD%00o}M_xuxHsk9G9F","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":10342832,"triangles":489250,"vertices":532689,"meshes":184,"materials":16,"textures":0,"animations":[],"boundingBox":{"min":[-3.1469829113501,-0.00004271928939625358,-2.146994660879889],"max":[3.1469829113501,2.6040000915527344,2.020059778863002]},"sizeMeters":[6.294,2.604,4.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T16:49:28.371Z","updatedAt":"2026-09-08T23:14:45.631Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33113/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryRoomMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33113/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33113/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33113/v1/model.glb\" alt=\"Armoury room (Mega Weapon Pack)\" 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/33113/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/33113/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"32945","slug":"mega-weapon-pack-compact-pistol-150a30a5","title":"Compact Pistol (Mega Weapon Pack)","summary":"A compact dark earth polymer framed self loading pistol for concealed carry, with a slide cut optic plate, a short dust cover rail and a twelve round magazine. Premium modern game asset for shooter and survival projects.","description":"A compact dark earth polymer framed self loading pistol for concealed carry, with a slide cut optic plate, a short dust cover rail and a twelve round magazine. Dimensions 0.041 x 0.147 x 0.175 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.1137, 0.0021); hammer at (0, 0.0795, -0.0559); magazine at (0, 0.0805, -0.0215). Connectors: muzzle muzzle at (0, 0.1149, 0.0861) facing +Z; magazine magazine at (0, 0.0805, -0.0215) facing -Y; optic optic-rail at (0, 0.1393, -0.0519) facing +Y; underbarrel underbarrel at (0, 0.0723, 0.0561) facing -Y. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-compact-pistol-150a30a5","cdnUrl":"https://cdn.3dassets.dev/assets/32945/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-compact-pistol-150a30a5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32945/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32945/v1/poster.webp","blurhash":"U46*XLM|00-p4;ax?Zoz4ot5?HE2~VRj0Lxt","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":636836,"triangles":27692,"vertices":28703,"meshes":11,"materials":8,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.020500953549778222,0,-0.08737000077962875],"max":[0.020500953549778222,0.146766571747821,0.08736999985575676]},"sizeMeters":[0.041,0.147,0.175],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:18.958Z","updatedAt":"2026-09-08T16:48:19.082Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32945/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CompactPistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32945/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32945/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32945/v1/model.glb\" alt=\"Compact Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32945/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32945/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32948","slug":"mega-weapon-pack-service-pistol-58e34577","title":"Service Pistol (Mega Weapon Pack)","summary":"A full size service self loading pistol with a stippled polymer grip, a slide cut optic plate, a dust cover accessory rail and an aperture rear sight. Premium modern game asset for shooter and survival projects.","description":"A full size service self loading pistol with a stippled polymer grip, a slide cut optic plate, a dust cover accessory rail and an aperture rear sight. Dimensions 0.041 x 0.153 x 0.212 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.1197, 0.0067); hammer at (0, 0.0855, -0.0653); magazine at (0, 0.0865, -0.0309). Connectors: muzzle muzzle at (0, 0.1209, 0.1047) facing +Z; magazine magazine at (0, 0.0865, -0.0309) facing -Y; optic optic-rail at (0, 0.1453, -0.0613) facing +Y; underbarrel underbarrel at (0, 0.0783, 0.0657) facing -Y. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-service-pistol-58e34577","cdnUrl":"https://cdn.3dassets.dev/assets/32948/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-service-pistol-58e34577","thumbnailUrl":"https://cdn.3dassets.dev/assets/32948/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32948/v1/poster.webp","blurhash":"U13IbTs:00og_NV@D$t8IUIUofx]IUM{oz%M","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":670912,"triangles":29560,"vertices":30137,"meshes":11,"materials":7,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.020503819559980156,0,-0.10599000006914139],"max":[0.020503819559980156,0.15277129366127873,0.10598999986052512]},"sizeMeters":[0.041,0.153,0.212],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:19.044Z","updatedAt":"2026-09-08T16:48:19.146Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32948/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ServicePistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32948/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32948/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32948/v1/model.glb\" alt=\"Service Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32948/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32948/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32949","slug":"mega-weapon-pack-long-slide-pistol-809a0f04","title":"Long Slide Pistol (Mega Weapon Pack)","summary":"A long slide self loading pistol with a ported compensator cut through the slide roof, a threaded muzzle and a full length dust cover rail. Premium modern game asset for shooter and survival projects.","description":"A long slide self loading pistol with a ported compensator cut through the slide roof, a threaded muzzle and a full length dust cover rail. Dimensions 0.041 x 0.153 x 0.280 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.1197, 0.0059); hammer at (0, 0.0855, -0.0861); magazine at (0, 0.0865, -0.0517). Connectors: muzzle muzzle at (0, 0.1209, 0.1399) facing +Z; magazine magazine at (0, 0.0865, -0.0517) facing -Y; optic optic-rail at (0, 0.1453, -0.0821) facing +Y; underbarrel underbarrel at (0, 0.0783, 0.0799) facing -Y. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-long-slide-pistol-809a0f04","cdnUrl":"https://cdn.3dassets.dev/assets/32949/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-long-slide-pistol-809a0f04","thumbnailUrl":"https://cdn.3dassets.dev/assets/32949/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32949/v1/poster.webp","blurhash":"U242PExuIS?b?vM{ITxv9F9FIUa#RiM{t8%M","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":719888,"triangles":32448,"vertices":32114,"meshes":11,"materials":7,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.020496946613458338,0,-0.13994000852108002],"max":[0.020496946613458338,0.15276514189694257,0.13994000852108002]},"sizeMeters":[0.041,0.153,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:19.208Z","updatedAt":"2026-09-08T16:48:19.452Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32949/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function LongSlidePistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32949/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32949/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32949/v1/model.glb\" alt=\"Long Slide Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32949/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32949/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32944","slug":"mega-weapon-pack-subcompact-pistol-1501d5ef","title":"Subcompact Pistol (Mega Weapon Pack)","summary":"A subcompact pocket self loader with a shortened grip, a flush fitting magazine and a snag free sight pair. Premium modern game asset for shooter and survival projects.","description":"A subcompact pocket self loader with a shortened grip, a flush fitting magazine and a snag free sight pair. Dimensions 0.038 x 0.130 x 0.145 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.0997, 0); hammer at (0, 0.0655, -0.045); magazine at (0, 0.0665, -0.0106). Connectors: muzzle muzzle at (0, 0.1009, 0.071) facing +Z; magazine magazine at (0, 0.0665, -0.0106) facing -Y. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-subcompact-pistol-1501d5ef","cdnUrl":"https://cdn.3dassets.dev/assets/32944/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-subcompact-pistol-1501d5ef","thumbnailUrl":"https://cdn.3dassets.dev/assets/32944/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32944/v1/poster.webp","blurhash":"U13lEo-=00nO.9R%D$s;4nD$Rjt8smWAozxv","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":622040,"triangles":27404,"vertices":27949,"meshes":10,"materials":6,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.018998757403790832,0,-0.0723000019788742],"max":[0.018998757403790832,0.12976682445963467,0.0723000019788742]},"sizeMeters":[0.038,0.13,0.145],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:18.976Z","updatedAt":"2026-09-08T16:48:19.086Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32944/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SubcompactPistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32944/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32944/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32944/v1/model.glb\" alt=\"Subcompact Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32944/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32944/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32947","slug":"mega-weapon-pack-machine-pistol-0364a561","title":"Machine Pistol (Mega Weapon Pack)","summary":"A selective fire machine pistol with a fore grip under the dust cover, an extended thirty round magazine and a frame mounted selector. Premium modern game asset for shooter and survival projects.","description":"A selective fire machine pistol with a fore grip under the dust cover, an extended thirty round magazine and a frame mounted selector. Dimensions 0.041 x 0.242 x 0.204 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.2087, 0.0057); hammer at (0, 0.1745, -0.0633); magazine at (0, 0.1755, -0.0289). Connectors: muzzle muzzle at (0, 0.2099, 0.1007) facing +Z; magazine magazine at (0, 0.1755, -0.0289) facing -Y; optic optic-rail at (0, 0.2343, -0.0593) facing +Y; underbarrel underbarrel at (0, 0.1673, 0.0617) facing -Y. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-machine-pistol-0364a561","cdnUrl":"https://cdn.3dassets.dev/assets/32947/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-machine-pistol-0364a561","thumbnailUrl":"https://cdn.3dassets.dev/assets/32947/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32947/v1/poster.webp","blurhash":"U12Ynkog4TWA?ca#D$oeRoRjj;xuRjRjj=xu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":827060,"triangles":33416,"vertices":38452,"meshes":11,"materials":7,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.02050178540299765,-5.388632401404081e-9,-0.10199999809265137],"max":[0.02050178540299765,0.24177279301949495,0.10200000092387199]},"sizeMeters":[0.041,0.242,0.204],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:19.016Z","updatedAt":"2026-09-08T16:48:19.127Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32947/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MachinePistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32947/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32947/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32947/v1/model.glb\" alt=\"Machine Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32947/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32947/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32951","slug":"mega-weapon-pack-target-pistol-fb12ae1a","title":"Target Pistol (Mega Weapon Pack)","summary":"A bull barrel target pistol with a walnut thumb rest grip, an adjustable rear sight on a raised bridge and a muzzle weight. Premium modern game asset for shooter and survival projects.","description":"A bull barrel target pistol with a walnut thumb rest grip, an adjustable rear sight on a raised bridge and a muzzle weight. Dimensions 0.050 x 0.153 x 0.285 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0.0043, 0.1197, -0.0047); hammer at (0.0043, 0.0855, -0.0917); magazine at (0.0043, 0.0865, -0.0573). Connectors: muzzle muzzle at (0.0043, 0.1209, 0.1383) facing +Z; magazine magazine at (0.0043, 0.0865, -0.0573) facing -Y. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-target-pistol-fb12ae1a","cdnUrl":"https://cdn.3dassets.dev/assets/32951/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-target-pistol-fb12ae1a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32951/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32951/v1/poster.webp","blurhash":"U45;:WE44:~Bx^aci_S60gi]xZER-PE2Ne-o","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":699244,"triangles":32068,"vertices":30953,"meshes":11,"materials":8,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.02475127726983152,0,-0.14228999614715576],"max":[0.02474929112628378,0.15329399797977314,0.14228999614715576]},"sizeMeters":[0.05,0.153,0.285],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:19.584Z","updatedAt":"2026-09-08T16:48:19.742Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32951/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TargetPistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32951/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32951/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32951/v1/model.glb\" alt=\"Target Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32951/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32951/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32950","slug":"mega-weapon-pack-service-revolver-240617da","title":"Service Revolver (Mega Weapon Pack)","summary":"A double action service revolver on a medium frame, with a vent rib barrel, a full underlug shroud and a fluted six chamber cylinder. Premium modern game asset for shooter and survival projects.","description":"A double action service revolver on a medium frame, with a vent rib barrel, a full underlug shroud and a fluted six chamber cylinder. Dimensions 0.057 x 0.156 x 0.189 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: hammer at (0, 0.1135, -0.0696); cylinder at (0, 0.1215, -0.0496). Connectors: muzzle muzzle at (0, 0.1215, 0.0944) facing +Z. The cylinder indexes on its own axis and the hammer thumbs back to full cock. The crane, the ejector star, the hand and the trigger linkage are modelled but static: they are a linkage, and a rigid node transform cannot drive one honestly. Rigid node-transform clips cock, spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-service-revolver-240617da","cdnUrl":"https://cdn.3dassets.dev/assets/32950/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-service-revolver-240617da","thumbnailUrl":"https://cdn.3dassets.dev/assets/32950/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32950/v1/poster.webp","blurhash":"U12iCJM{00%M_4Rj9ExuofRjM{xvRiRia~%N","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":610528,"triangles":26948,"vertices":27617,"meshes":7,"materials":4,"textures":0,"animations":["cock","spin"],"boundingBox":{"min":[-0.028698911120306238,8.949039311118012e-7,-0.09436469877574281],"max":[0.028698911120306238,0.15620508892064594,0.09436270594596863]},"sizeMeters":[0.057,0.156,0.189],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:19.273Z","updatedAt":"2026-09-08T16:48:19.559Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32950/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ServiceRevolverMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32950/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32950/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32950/v1/model.glb\" alt=\"Service Revolver (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32950/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32950/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32946","slug":"mega-weapon-pack-magnum-revolver-f97ff225","title":"Magnum Revolver (Mega Weapon Pack)","summary":"A long barrelled magnum revolver with a heavy underlug, a vent rib, an accessory rail under the shroud and a six chamber cylinder. Premium modern game asset for shooter and survival projects.","description":"A long barrelled magnum revolver with a heavy underlug, a vent rib, an accessory rail under the shroud and a six chamber cylinder. Dimensions 0.063 x 0.164 x 0.247 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: hammer at (0, 0.1215, -0.0986); cylinder at (0, 0.1295, -0.0786). Connectors: muzzle muzzle at (0, 0.1295, 0.1234) facing +Z; underbarrel underbarrel at (0, 0.1006, 0.055) facing -Y. The cylinder indexes on its own axis and the hammer thumbs back to full cock. The crane, the ejector star, the hand and the trigger linkage are modelled but static: they are a linkage, and a rigid node transform cannot drive one honestly. Rigid node-transform clips cock, spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-magnum-revolver-f97ff225","cdnUrl":"https://cdn.3dassets.dev/assets/32946/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-magnum-revolver-f97ff225","thumbnailUrl":"https://cdn.3dassets.dev/assets/32946/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32946/v1/poster.webp","blurhash":"U13IVBtR9ERS~WSdIAs=I9E1of-qDiE1tR%L","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":623928,"triangles":27232,"vertices":28349,"meshes":7,"materials":4,"textures":0,"animations":["cock","spin"],"boundingBox":{"min":[-0.03170453969102814,-0.0000029102854141316303,-0.1233549305378891],"max":[0.03170453969102814,0.16420431512644973,0.12335311621427536]},"sizeMeters":[0.063,0.164,0.247],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:18.999Z","updatedAt":"2026-09-08T16:48:19.107Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32946/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MagnumRevolverMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32946/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32946/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32946/v1/model.glb\" alt=\"Magnum Revolver (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32946/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32946/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32954","slug":"mega-weapon-pack-snub-revolver-a8e8bab5","title":"Snub Revolver (Mega Weapon Pack)","summary":"A snub nosed five shot revolver with a shrouded hammer profile, a short ejector rod and a compact rubber grip. Premium modern game asset for shooter and survival projects.","description":"A snub nosed five shot revolver with a shrouded hammer profile, a short ejector rod and a compact rubber grip. Dimensions 0.053 x 0.144 x 0.133 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: hammer at (0, 0.1015, -0.0416); cylinder at (0, 0.1095, -0.0216). Connectors: muzzle muzzle at (0, 0.1095, 0.0664) facing +Z. The cylinder indexes on its own axis and the hammer thumbs back to full cock. The crane, the ejector star, the hand and the trigger linkage are modelled but static: they are a linkage, and a rigid node transform cannot drive one honestly. Rigid node-transform clips cock, spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-snub-revolver-a8e8bab5","cdnUrl":"https://cdn.3dassets.dev/assets/32954/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-snub-revolver-a8e8bab5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32954/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32954/v1/poster.webp","blurhash":"U12rs:t700IV?dj?D#RoIWRioaxvRkaeoaoh","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":552456,"triangles":23632,"vertices":25232,"meshes":7,"materials":4,"textures":0,"animations":["cock","spin"],"boundingBox":{"min":[-0.026700827803254803,0,-0.06638133726086153],"max":[0.026700827803254803,0.14420531390546737,0.06638093292713165]},"sizeMeters":[0.053,0.144,0.133],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.107Z","updatedAt":"2026-09-08T16:48:22.218Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32954/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SnubRevolverMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32954/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32954/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32954/v1/model.glb\" alt=\"Snub Revolver (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32954/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32954/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32952","slug":"mega-weapon-pack-single-action-revolver-05efaada","title":"Single Action Revolver (Mega Weapon Pack)","summary":"A single action revolver with a plough handle walnut grip, a loading gate on the right of the frame and an ejector rod housing along the barrel. Premium modern game asset for shooter and survival projects.","description":"A single action revolver with a plough handle walnut grip, a loading gate on the right of the frame and an ejector rod housing along the barrel. Dimensions 0.057 x 0.160 x 0.224 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: hammer at (0, 0.1175, -0.0901); cylinder at (0, 0.1255, -0.0701). Connectors: muzzle muzzle at (0, 0.1255, 0.1119) facing +Z. The cylinder indexes on its own axis and the hammer thumbs back to full cock. The crane, the ejector star, the hand and the trigger linkage are modelled but static: they are a linkage, and a rigid node transform cannot drive one honestly. Rigid node-transform clips cock, spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-single-action-revolver-05efaada","cdnUrl":"https://cdn.3dassets.dev/assets/32952/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-single-action-revolver-05efaada","thumbnailUrl":"https://cdn.3dassets.dev/assets/32952/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32952/v1/poster.webp","blurhash":"U46HZL4;0K~BtSRks7S60M$y={JD%2NFE3?H","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":563976,"triangles":24404,"vertices":25659,"meshes":7,"materials":4,"textures":0,"animations":["cock","spin"],"boundingBox":{"min":[-0.028704862736267163,-0.000003852141964161282,-0.11191496797412542],"max":[0.028704862736267163,0.1602081688882743,0.11191216856241226]},"sizeMeters":[0.057,0.16,0.224],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:23.101Z","updatedAt":"2026-09-08T16:48:23.320Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32952/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SingleActionRevolverMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32952/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32952/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32952/v1/model.glb\" alt=\"Single Action Revolver (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32952/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32952/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32953","slug":"mega-weapon-pack-break-top-revolver-ffbb1073","title":"Break Top Revolver (Mega Weapon Pack)","summary":"A top break revolver whose barrel and cylinder group hinge down at the standing breech, with a latch over the top strap and chequered walnut grips. Premium modern game asset for shooter and survival projects.","description":"A top break revolver whose barrel and cylinder group hinge down at the standing breech, with a latch over the top strap and chequered walnut grips. Dimensions 0.057 x 0.156 x 0.195 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: hammer at (0, 0.1135, -0.0726); cylinder at (0, 0.1215, -0.0526). Connectors: muzzle muzzle at (0, 0.1215, 0.0974) facing +Z. The cylinder indexes on its own axis and the hammer thumbs back to full cock. The crane, the ejector star, the hand and the trigger linkage are modelled but static: they are a linkage, and a rigid node transform cannot drive one honestly. Rigid node-transform clips cock, spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-break-top-revolver-ffbb1073","cdnUrl":"https://cdn.3dassets.dev/assets/32953/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-break-top-revolver-ffbb1073","thumbnailUrl":"https://cdn.3dassets.dev/assets/32953/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32953/v1/poster.webp","blurhash":"U36tm[0g00}rXTWB$$NZ00=t^jJ;-QjY58=|","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":619804,"triangles":27348,"vertices":28046,"meshes":7,"materials":4,"textures":0,"animations":["cock","spin"],"boundingBox":{"min":[-0.0287023177802168,0,-0.09736469926748113],"max":[0.0287023177802168,0.15620476064829678,0.0973627045750618]},"sizeMeters":[0.057,0.156,0.195],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.026Z","updatedAt":"2026-09-08T16:48:22.163Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32953/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BreakTopRevolverMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32953/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32953/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32953/v1/model.glb\" alt=\"Break Top Revolver (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32953/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32953/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32955","slug":"mega-weapon-pack-flare-pistol-9194d27d","title":"Flare Pistol (Mega Weapon Pack)","summary":"A wide bore single shot flare pistol in olive paint, breaking open at a hinge under the standing breech, with a ribbed barrel top, a blade front sight and a polymer grip. Premium modern game asset for shooter and survival projects.","description":"A wide bore single shot flare pistol in olive paint, breaking open at a hinge under the standing breech, with a ribbed barrel top, a blade front sight and a polymer grip. Dimensions 0.054 x 0.165 x 0.230 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: action at (0.0039, 0.1267, -0.0522). Connectors: muzzle muzzle at (0.0039, 0.1267, 0.1028) facing +Z. The barrel group drops about the hinge pin under the standing breech. The extractor and the latch are modelled and static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-flare-pistol-9194d27d","cdnUrl":"https://cdn.3dassets.dev/assets/32955/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-flare-pistol-9194d27d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32955/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32955/v1/poster.webp","blurhash":"U67BM:t24oxt~pIUD*x[4V9Hxt%M4ooe?at8","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":591508,"triangles":21278,"vertices":28456,"meshes":9,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.026850000023841858,0,-0.11479958869903624],"max":[0.026851418211756836,0.16540618564287732,0.11479999509220942]},"sizeMeters":[0.054,0.165,0.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.148Z","updatedAt":"2026-09-08T16:48:22.258Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32955/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FlarePistolMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32955/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32955/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32955/v1/model.glb\" alt=\"Flare Pistol (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32955/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32955/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32956","slug":"mega-weapon-pack-folding-stock-smg-9d72f8a4","title":"Folding Stock SMG (Mega Weapon Pack)","summary":"A compact pistol calibre submachine gun with a stamped receiver, a ribbed handguard, a side folding stock and a straight thirty two round magazine in the grip housing. Premium modern game asset for shooter and survival projects.","description":"A compact pistol calibre submachine gun with a stamped receiver, a ribbed handguard, a side folding stock and a straight thirty two round magazine in the grip housing. Dimensions 0.056 x 0.260 x 0.453 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0, 0.1975, -0.0814); magazine at (0, 0.1555, 0.0166); charge at (0, 0.2135, -0.0614). Connectors: optic optic-rail at (0, 0.2354, 0.0076) facing +Y; muzzle muzzle at (0, 0.1995, 0.2266) facing +Z; magazine magazine at (0, 0.1555, 0.0167) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-folding-stock-smg-9d72f8a4","cdnUrl":"https://cdn.3dassets.dev/assets/32956/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-folding-stock-smg-9d72f8a4","thumbnailUrl":"https://cdn.3dassets.dev/assets/32956/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32956/v1/poster.webp","blurhash":"U13l5Qxu4TRi~qIUD$t7D$9Et8-;DiM{?b-;","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":818360,"triangles":31500,"vertices":38600,"meshes":11,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.02810000069439411,5.340203640402663e-9,-0.22664851837489558],"max":[0.02810000069439411,0.25988386781529743,0.22664999961853027]},"sizeMeters":[0.056,0.26,0.453],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.201Z","updatedAt":"2026-09-08T16:48:22.343Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32956/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FoldingStockSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32956/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32956/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32956/v1/model.glb\" alt=\"Folding Stock SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32956/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32956/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32957","slug":"mega-weapon-pack-suppressed-smg-10e82368","title":"Integrally Suppressed SMG (Mega Weapon Pack)","summary":"A submachine gun whose barrel runs inside a full length ported suppressor shroud, with a slotted top rail, a collapsing stock and a curved magazine ahead of the grip. Premium modern game asset for shooter and survival projects.","description":"A submachine gun whose barrel runs inside a full length ported suppressor shroud, with a slotted top rail, a collapsing stock and a curved magazine ahead of the grip. Dimensions 0.056 x 0.223 x 0.610 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.1902, -0.305); magazine at (0, 0.1462, -0.035); charge at (0, 0.2042, -0.123). Connectors: optic optic-rail at (0, 0.2261, -0.054) facing +Y; muzzle muzzle at (0, 0.1902, 0.305) facing +Z; magazine magazine at (0, 0.1462, -0.035) facing -Y; stock stock at (0, 0.1902, -0.145) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-suppressed-smg-10e82368","cdnUrl":"https://cdn.3dassets.dev/assets/32957/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-suppressed-smg-10e82368","thumbnailUrl":"https://cdn.3dassets.dev/assets/32957/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32957/v1/poster.webp","blurhash":"U24xoP?bx?tS_4D%Rht80000Mxs;ITs:%Nog","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1057376,"triangles":46352,"vertices":47982,"meshes":11,"materials":7,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.02810000069439411,1.1623016438200295e-9,-0.3050000071525574],"max":[0.02810000069439411,0.2230013629765107,0.3050000071525574]},"sizeMeters":[0.056,0.223,0.61],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.528Z","updatedAt":"2026-09-08T16:48:22.763Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32957/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function IntegrallySuppressedSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32957/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32957/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32957/v1/model.glb\" alt=\"Integrally Suppressed SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32957/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32957/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32959","slug":"mega-weapon-pack-bullpup-smg-a149ec43","title":"Bullpup SMG (Mega Weapon Pack)","summary":"A bullpup submachine gun with the magazine behind the grip, a moulded polymer shell, a full length top rail and a threaded muzzle. Premium modern game asset for shooter and survival projects.","description":"A bullpup submachine gun with the magazine behind the grip, a moulded polymer shell, a full length top rail and a threaded muzzle. Dimensions 0.066 x 0.252 x 0.504 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0032, 0.1455, -0.1779); charge at (-0.0032, 0.2055, 0.0821). Connectors: optic optic-rail at (-0.0032, 0.2274, -0.0878) facing +Y; muzzle muzzle at (-0.0032, 0.1902, 0.2521) facing +Z; magazine magazine at (-0.0032, 0.1455, -0.1779) facing -Y; underbarrel underbarrel at (-0.0032, 0.1605, 0.1121) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bullpup-smg-a149ec43","cdnUrl":"https://cdn.3dassets.dev/assets/32959/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bullpup-smg-a149ec43","thumbnailUrl":"https://cdn.3dassets.dev/assets/32959/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32959/v1/poster.webp","blurhash":"U24o1f-;9Ff$_4RQE0xu004nfR-;D$IU%M%M","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":940832,"triangles":36260,"vertices":44562,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.032799999982118605,-4.1965395047860454e-9,-0.25214851798346044],"max":[0.03280789512183872,0.2518918488456515,0.2521499991416931]},"sizeMeters":[0.066,0.252,0.504],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.687Z","updatedAt":"2026-09-08T16:48:22.930Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32959/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32959/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32959/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32959/v1/model.glb\" alt=\"Bullpup SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32959/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32959/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32958","slug":"mega-weapon-pack-side-mag-smg-453f7d13","title":"Side Magazine SMG (Mega Weapon Pack)","summary":"A side feeding submachine gun whose magazine lies horizontally along the left of the receiver, with a wire folding stock, a perforated barrel shroud and a front grip. Premium modern game asset for shooter and survival projects.","description":"A side feeding submachine gun whose magazine lies horizontally along the left of the receiver, with a wire folding stock, a perforated barrel shroud and a front grip. Dimensions 0.224 x 0.200 x 0.565 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0.0637, 0.1375, -0.0175); charge at (0.0837, 0.1535, -0.1055). Connectors: optic optic-rail at (0.0837, 0.1754, -0.0265) facing +Y; muzzle muzzle at (0.0837, 0.1395, 0.2825) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-side-mag-smg-453f7d13","cdnUrl":"https://cdn.3dassets.dev/assets/32958/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-side-mag-smg-453f7d13","thumbnailUrl":"https://cdn.3dassets.dev/assets/32958/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32958/v1/poster.webp","blurhash":"U02rv[Di00_N?bIUD%-;00%M~qD$00?b~q00","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":875068,"triangles":35448,"vertices":40863,"meshes":8,"materials":6,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.11185000536125153,0.000005665307272618991,-0.2824999988079071],"max":[0.1118594793233956,0.199884279191182,0.2824999988079071]},"sizeMeters":[0.224,0.2,0.565],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:22.652Z","updatedAt":"2026-09-08T16:48:22.915Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32958/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SideMagazineSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32958/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32958/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32958/v1/model.glb\" alt=\"Side Magazine SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32958/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32958/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32961","slug":"mega-weapon-pack-classic-smg-1f624425","title":"Classic Straight Magazine SMG (Mega Weapon Pack)","summary":"A classic straight magazine submachine gun with a walnut fore grip and butt, a slotted barrel jacket and a top mounted cocking handle. Premium modern game asset for shooter and survival projects.","description":"A classic straight magazine submachine gun with a walnut fore grip and butt, a slotted barrel jacket and a top mounted cocking handle. Dimensions 0.059 x 0.284 x 0.650 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1755, 0.0251); charge at (0, 0.2375, -0.0929). Connectors: optic optic-rail at (0, 0.2594, -0.0089) facing +Y; muzzle muzzle at (0, 0.221, 0.3251) facing +Z; magazine magazine at (0, 0.1755, 0.0251) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-classic-smg-1f624425","cdnUrl":"https://cdn.3dassets.dev/assets/32961/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-classic-smg-1f624425","thumbnailUrl":"https://cdn.3dassets.dev/assets/32961/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32961/v1/poster.webp","blurhash":"U36k3I9e0MMw~V57xC-60LM{=_t84n?FOFJW","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1232664,"triangles":46512,"vertices":58969,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-5.388632401404081e-9,-0.3251500129699707],"max":[0.029600000008940697,0.28387417046183083,0.3251500129699707]},"sizeMeters":[0.059,0.284,0.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:25.475Z","updatedAt":"2026-09-08T16:48:25.617Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32961/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ClassicStraightMagazineSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32961/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32961/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32961/v1/model.glb\" alt=\"Classic Straight Magazine SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32961/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32961/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32960","slug":"mega-weapon-pack-pdw-brace-1f1e0b3e","title":"PDW With Brace (Mega Weapon Pack)","summary":"A personal defence weapon on a short buffer tube with a stabilising brace instead of a stock, a slotted handguard, an angled fore grip and a short threaded barrel. Premium modern game asset for shooter and survival projects.","description":"A personal defence weapon on a short buffer tube with a stabilising brace instead of a stock, a slotted handguard, an angled fore grip and a short threaded barrel. Dimensions 0.056 x 0.260 x 0.450 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.2, -0.225); magazine at (0, 0.156, -0.003); charge at (0, 0.214, -0.083). Connectors: optic optic-rail at (0, 0.2359, -0.014) facing +Y; muzzle muzzle at (0, 0.2, 0.225) facing +Z; magazine magazine at (0, 0.156, -0.003) facing -Y; underbarrel underbarrel at (0, 0.1703, 0.12) facing -Y; side-rail side-rail at (-0.0297, 0.2, 0.1255) facing -X; stock stock at (0, 0.2, -0.105) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pdw-brace-1f1e0b3e","cdnUrl":"https://cdn.3dassets.dev/assets/32960/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pdw-brace-1f1e0b3e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32960/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32960/v1/poster.webp","blurhash":"U142M6?c4nD$~qM|D%Rk004ms.-=4mnz?a%N","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":991784,"triangles":39304,"vertices":46477,"meshes":12,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.02810000069439411,5.758910265329931e-9,-0.22499999403953552],"max":[0.02810000069439411,0.2604136221724976,0.22499999403953552]},"sizeMeters":[0.056,0.26,0.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:25.254Z","updatedAt":"2026-09-08T16:48:25.380Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32960/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PDWWithBraceMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32960/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32960/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32960/v1/model.glb\" alt=\"PDW With Brace (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32960/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32960/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32963","slug":"mega-weapon-pack-drum-smg-517a4307","title":"Drum Fed SMG (Mega Weapon Pack)","summary":"A drum fed submachine gun with a cased fifty round drum under the receiver, a walnut fore grip, a finned barrel and a compensator cut into the muzzle. Premium modern game asset for shooter and survival projects.","description":"A drum fed submachine gun with a cased fifty round drum under the receiver, a walnut fore grip, a finned barrel and a compensator cut into the muzzle. Dimensions 0.067 x 0.262 x 0.712 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1537, -0.0159); charge at (0, 0.2157, -0.1239). Connectors: optic optic-rail at (0, 0.2376, -0.0398) facing +Y; muzzle muzzle at (0, 0.1991, 0.2842) facing +Z; magazine magazine at (0, 0.1537, -0.0158) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-drum-smg-517a4307","cdnUrl":"https://cdn.3dassets.dev/assets/32963/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-drum-smg-517a4307","thumbnailUrl":"https://cdn.3dassets.dev/assets/32963/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32963/v1/poster.webp","blurhash":"U36k3GE401Mw^*9axZxs01IU~B-;D%-nI@R.","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1434696,"triangles":51440,"vertices":69855,"meshes":8,"materials":6,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.03359781575965031,-1.788139358804841e-10,-0.3561500012874603],"max":[0.03359781575965031,0.26203226833211335,0.3561500012874603]},"sizeMeters":[0.067,0.262,0.712],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:25.552Z","updatedAt":"2026-09-08T16:48:25.692Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32963/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DrumFedSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32963/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32963/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32963/v1/model.glb\" alt=\"Drum Fed SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32963/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32963/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32962","slug":"mega-weapon-pack-carbine-smg-35318793","title":"Carbine Length SMG (Mega Weapon Pack)","summary":"A carbine length pistol calibre weapon on a rifle pattern receiver, with a long slotted handguard, a collapsing stock and a magazine well in the grip. Premium modern game asset for shooter and survival projects.","description":"A carbine length pistol calibre weapon on a rifle pattern receiver, with a long slotted handguard, a collapsing stock and a magazine well in the grip. Dimensions 0.059 x 0.272 x 0.700 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.2115, -0.35); magazine at (0, 0.1655, -0.036); charge at (0, 0.2255, -0.138). Connectors: optic optic-rail at (0, 0.2474, -0.049) facing +Y; muzzle muzzle at (0, 0.2102, 0.35) facing +Z; magazine magazine at (0, 0.1655, -0.036) facing -Y; underbarrel underbarrel at (0, 0.1795, 0.17) facing -Y; side-rail side-rail at (-0.0307, 0.2102, 0.182) facing -X; stock stock at (0, 0.2115, -0.16) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-carbine-smg-35318793","cdnUrl":"https://cdn.3dassets.dev/assets/32962/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-carbine-smg-35318793","thumbnailUrl":"https://cdn.3dassets.dev/assets/32962/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32962/v1/poster.webp","blurhash":"U46*aXD+00%K_2D%s.tQ00IU~pbJIUxtW?a#","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1175400,"triangles":45664,"vertices":55566,"meshes":12,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-2.4214352745133283e-11,-0.3499999940395355],"max":[0.029600000008940697,0.2718775651847166,0.3499999940395355]},"sizeMeters":[0.059,0.272,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:25.507Z","updatedAt":"2026-09-08T16:48:25.639Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32962/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CarbineLengthSMGMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32962/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32962/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32962/v1/model.glb\" alt=\"Carbine Length SMG (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32962/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32962/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32964","slug":"mega-weapon-pack-pump-shotgun-89224e60","title":"Pump Shotgun (Mega Weapon Pack)","summary":"A tube fed pump action shotgun with a ribbed fore-end on twin action bars, a vent rib barrel with a bead sight and a walnut stock. Premium modern game asset for shooter and survival projects.","description":"A tube fed pump action shotgun with a ribbed fore-end on twin action bars, a vent rib barrel with a bead sight and a walnut stock. Dimensions 0.076 x 0.186 x 0.920 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: pump at (0.0077, 0.1283, 0.0141). Connectors: optic optic-rail at (0.0077, 0.1894, -0.1089) facing +Y; muzzle muzzle at (0.0077, 0.1485, 0.4602) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pump-shotgun-89224e60","cdnUrl":"https://cdn.3dassets.dev/assets/32964/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pump-shotgun-89224e60","thumbnailUrl":"https://cdn.3dassets.dev/assets/32964/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32964/v1/poster.webp","blurhash":"U24_Rq5W9H^i~B9uV?%201i]?FI[0K?Gx]Io","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1141232,"triangles":38376,"vertices":56299,"meshes":11,"materials":8,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.038157468856630586,0.000006975389219607275,-0.46015000343322754],"max":[0.03815832974766192,0.1862979274740284,0.46015000343322754]},"sizeMeters":[0.076,0.186,0.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:26.051Z","updatedAt":"2026-09-08T16:48:26.207Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32964/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PumpShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32964/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32964/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32964/v1/model.glb\" alt=\"Pump Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32964/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32964/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32966","slug":"mega-weapon-pack-semi-auto-shotgun-6b7cb8cd","title":"Semi Automatic Shotgun (Mega Weapon Pack)","summary":"A gas operated semi automatic shotgun with a tubular magazine under the barrel, a vent rib, a ribbed polymer fore-end and a fixed stock. Premium modern game asset for shooter and survival projects.","description":"A gas operated semi automatic shotgun with a tubular magazine under the barrel, a vent rib, a ribbed polymer fore-end and a fixed stock. Dimensions 0.065 x 0.186 x 0.960 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: charge at (0, 0.1675, -0.2178). Connectors: optic optic-rail at (0, 0.1894, -0.1239) facing +Y; muzzle muzzle at (0, 0.1485, 0.4802) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-semi-auto-shotgun-6b7cb8cd","cdnUrl":"https://cdn.3dassets.dev/assets/32966/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-semi-auto-shotgun-6b7cb8cd","thumbnailUrl":"https://cdn.3dassets.dev/assets/32966/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32966/v1/poster.webp","blurhash":"U02$Nurx00.7~qIA9F%f00Di?cWp00.7~qIA","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1103820,"triangles":38408,"vertices":54146,"meshes":7,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.032600000500679016,-0.000018639514735990792,-0.4801499843597412],"max":[0.032600000500679016,0.18630347538484607,0.4801499843597412]},"sizeMeters":[0.065,0.186,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:26.105Z","updatedAt":"2026-09-08T16:48:26.270Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32966/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SemiAutomaticShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32966/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32966/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32966/v1/model.glb\" alt=\"Semi Automatic Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32966/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32966/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32965","slug":"mega-weapon-pack-tactical-shotgun-40684c0a","title":"Magazine Fed Shotgun (Mega Weapon Pack)","summary":"A magazine fed tactical shotgun on a rifle pattern lower, with a slotted handguard, a heat shield over the barrel, a collapsing stock and a detachable box magazine. Premium modern game asset for shooter and survival projects.","description":"A magazine fed tactical shotgun on a rifle pattern lower, with a slotted handguard, a heat shield over the barrel, a collapsing stock and a detachable box magazine. Dimensions 0.068 x 0.280 x 0.822 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.2195, -0.411); magazine at (0, 0.1655, -0.111); charge at (0, 0.2335, -0.199). Connectors: optic optic-rail at (0, 0.2554, -0.105) facing +Y; muzzle muzzle at (0, 0.2133, 0.359) facing +Z; magazine magazine at (0, 0.1655, -0.111) facing -Y; underbarrel underbarrel at (0, 0.1776, 0.109) facing -Y; side-rail side-rail at (-0.0357, 0.2133, 0.12) facing -X; stock stock at (0, 0.2195, -0.221) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-tactical-shotgun-40684c0a","cdnUrl":"https://cdn.3dassets.dev/assets/32965/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-tactical-shotgun-40684c0a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32965/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32965/v1/poster.webp","blurhash":"U13+DvtQ9EMy_4IUM_og004n-;-;4ma#?btQ","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1300916,"triangles":52528,"vertices":60831,"meshes":12,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.0340999998152256,-2.42143805007089e-11,-0.41100001335144043],"max":[0.0340999998152256,0.27986300740030956,0.41100001335144043]},"sizeMeters":[0.068,0.28,0.822],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:26.077Z","updatedAt":"2026-09-08T16:48:26.218Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32965/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MagazineFedShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32965/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32965/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32965/v1/model.glb\" alt=\"Magazine Fed Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32965/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32965/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32967","slug":"mega-weapon-pack-bullpup-shotgun-daa8e76c","title":"Bullpup Shotgun (Mega Weapon Pack)","summary":"A bullpup pump shotgun with twin tube magazines behind the grip inside the receiver shell, a full length top rail and a short heat shielded barrel. Premium modern game asset for shooter and survival projects.","description":"A bullpup pump shotgun with twin tube magazines behind the grip inside the receiver shell, a full length top rail and a short heat shielded barrel. Dimensions 0.082 x 0.220 x 0.765 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: pump at (0.008, 0.1508, 0.0725). Connectors: optic optic-rail at (0.008, 0.1954, -0.1475) facing +Y; muzzle muzzle at (0.008, 0.1508, 0.3825) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bullpup-shotgun-daa8e76c","cdnUrl":"https://cdn.3dassets.dev/assets/32967/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bullpup-shotgun-daa8e76c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32967/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32967/v1/poster.webp","blurhash":"U02P3;oc8^?c?wD%D%%N00D%%NRj00?b_4IT","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":989112,"triangles":39564,"vertices":46433,"meshes":9,"materials":8,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.040810712463349975,0.000007170788295957076,-0.3824999928474426],"max":[0.04080844186395329,0.21986751734667434,0.3824999928474426]},"sizeMeters":[0.082,0.22,0.765],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:26.255Z","updatedAt":"2026-09-08T16:48:26.426Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32967/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32967/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32967/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32967/v1/model.glb\" alt=\"Bullpup Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32967/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32967/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32968","slug":"mega-weapon-pack-over-under-shotgun-a850f9d2","title":"Over And Under Shotgun (Mega Weapon Pack)","summary":"A break action over and under shotgun with stacked barrels, a ribbed top rib, a chequered walnut stock and forend, and a top lever over the standing breech. Premium modern game asset for shooter and survival projects.","description":"A break action over and under shotgun with stacked barrels, a ribbed top rib, a chequered walnut stock and forend, and a top lever over the standing breech. Dimensions 0.050 x 0.165 x 1.057 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: action at (0, 0.0731, -0.1875). Connectors: muzzle muzzle at (0, 0.1186, 0.5285) facing +Z. The barrel group drops about the hinge pin under the standing breech. The top lever, the ejectors and the double trigger linkage are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-over-under-shotgun-a850f9d2","cdnUrl":"https://cdn.3dassets.dev/assets/32968/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-over-under-shotgun-a850f9d2","thumbnailUrl":"https://cdn.3dassets.dev/assets/32968/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32968/v1/poster.webp","blurhash":"U25OEBOa9HIAw[4:t3%M00V??a%gTJ~pIr9G","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1014484,"triangles":34064,"vertices":50105,"meshes":9,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.025001618691580255,7.051334344893023e-8,-0.5285000205039978],"max":[0.025001618691580255,0.16504853354127014,0.5285000219084323]},"sizeMeters":[0.05,0.165,1.057],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:28.281Z","updatedAt":"2026-09-08T16:48:28.380Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32968/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function OverAndUnderShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32968/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32968/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32968/v1/model.glb\" alt=\"Over And Under Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32968/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32968/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32969","slug":"mega-weapon-pack-side-by-side-shotgun-6ef6637c","title":"Side By Side Shotgun (Mega Weapon Pack)","summary":"A break action side by side shotgun with paired barrels, a flat top rib, double triggers and a chequered walnut butt. Premium modern game asset for shooter and survival projects.","description":"A break action side by side shotgun with paired barrels, a flat top rib, double triggers and a chequered walnut butt. Dimensions 0.078 x 0.157 x 1.027 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: action at (0, 0.0731, -0.1725). Connectors: muzzle muzzle at (0, 0.1031, 0.5135) facing +Z. The barrel group drops about the hinge pin under the standing breech. The top lever, the ejectors and the double trigger linkage are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-side-by-side-shotgun-6ef6637c","cdnUrl":"https://cdn.3dassets.dev/assets/32969/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-side-by-side-shotgun-6ef6637c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32969/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32969/v1/poster.webp","blurhash":"U35q;TTLInadrq9GjDxa00rq?HtROt~pS%EL","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":959856,"triangles":31000,"vertices":47838,"meshes":9,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.038799861336937136,7.051334344893023e-8,-0.5134999752044678],"max":[0.038799861336937136,0.15645454823970795,0.5134999873638153]},"sizeMeters":[0.078,0.156,1.027],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:28.672Z","updatedAt":"2026-09-08T16:48:28.804Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32969/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SideBySideShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32969/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32969/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32969/v1/model.glb\" alt=\"Side By Side Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32969/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32969/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32971","slug":"mega-weapon-pack-sawn-off-shotgun-d53a1012","title":"Sawn Off Shotgun (Mega Weapon Pack)","summary":"A double barrelled shotgun cut down to a short pair of barrels and a walnut pistol grip, with a lanyard ring at the butt. Premium modern game asset for shooter and survival projects.","description":"A double barrelled shotgun cut down to a short pair of barrels and a walnut pistol grip, with a lanyard ring at the butt. Dimensions 0.078 x 0.205 x 0.465 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: action at (0, 0.1218, -0.1136). Connectors: muzzle muzzle at (0, 0.1518, 0.2324) facing +Z. The barrel group drops about the hinge pin under the standing breech. The top lever, the ejectors and the double trigger linkage are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-sawn-off-shotgun-d53a1012","cdnUrl":"https://cdn.3dassets.dev/assets/32971/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-sawn-off-shotgun-d53a1012","thumbnailUrl":"https://cdn.3dassets.dev/assets/32971/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32971/v1/poster.webp","blurhash":"U25q#70hMw%G_3E1RikV00,9x]R=4.sj-=$,","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":782636,"triangles":25300,"vertices":38954,"meshes":8,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.038799858899644324,0,-0.23237828138834163],"max":[0.038799858899644324,0.20524807274341583,0.23237529546767471]},"sizeMeters":[0.078,0.205,0.465],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:28.823Z","updatedAt":"2026-09-08T16:48:28.935Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32971/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SawnOffShotgunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32971/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32971/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32971/v1/model.glb\" alt=\"Sawn Off Shotgun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32971/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32971/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32970","slug":"mega-weapon-pack-short-carbine-397aa806","title":"Short Carbine (Mega Weapon Pack)","summary":"A short barrelled assault carbine on a two piece alloy receiver, with a slotted free floating handguard, a collapsing stock on a notched buffer tube and a curved thirty round magazine. Premium modern game asset for shooter and survival projects.","description":"A short barrelled assault carbine on a two piece alloy receiver, with a slotted free floating handguard, a collapsing stock on a notched buffer tube and a curved thirty round magazine. Dimensions 0.059 x 0.270 x 0.680 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.21, -0.34); magazine at (0, 0.162, -0.064); charge at (0, 0.224, -0.138). Connectors: optic optic-rail at (0, 0.2459, -0.044) facing +Y; muzzle muzzle at (0, 0.2075, 0.34) facing +Z; magazine magazine at (0, 0.162, -0.064) facing -Y; underbarrel underbarrel at (0, 0.1753, 0.155) facing -Y; side-rail side-rail at (-0.0322, 0.2075, 0.1645) facing -X; stock stock at (0, 0.21, -0.16) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-short-carbine-397aa806","cdnUrl":"https://cdn.3dassets.dev/assets/32970/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-short-carbine-397aa806","thumbnailUrl":"https://cdn.3dassets.dev/assets/32970/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32970/v1/poster.webp","blurhash":"U13[#f%L009E?wITM_oa009E_3?b8^t7.9oz","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1098064,"triangles":42484,"vertices":51922,"meshes":12,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.3400000035762787],"max":[0.029600000008940697,0.2703997982961434,0.3400000035762787]},"sizeMeters":[0.059,0.27,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:28.695Z","updatedAt":"2026-09-08T16:48:28.814Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32970/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ShortCarbineMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32970/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32970/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32970/v1/model.glb\" alt=\"Short Carbine (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32970/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32970/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32972","slug":"mega-weapon-pack-standard-rifle-62d0ac02","title":"Standard Assault Rifle (Mega Weapon Pack)","summary":"A standard issue assault rifle with a ribbed polymer handguard, a fixed stock, an aperture rear sight on the receiver rail and a birdcage flash hider on a threaded muzzle. Premium modern game asset for shooter and survival projects.","description":"A standard issue assault rifle with a ribbed polymer handguard, a fixed stock, an aperture rear sight on the receiver rail and a birdcage flash hider on a threaded muzzle. Dimensions 0.059 x 0.270 x 0.830 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.162, -0.0989); charge at (0, 0.224, -0.1729). Connectors: optic optic-rail at (0, 0.2459, -0.0738) facing +Y; muzzle muzzle at (0, 0.2075, 0.4152) facing +Z; magazine magazine at (0, 0.162, -0.0988) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-standard-rifle-62d0ac02","cdnUrl":"https://cdn.3dassets.dev/assets/32972/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-standard-rifle-62d0ac02","thumbnailUrl":"https://cdn.3dassets.dev/assets/32972/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32972/v1/poster.webp","blurhash":"U038;l%N00oh_3D%D%t7004n_3xs4T?c_4a$","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1118268,"triangles":39184,"vertices":54563,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.415149986743927],"max":[0.029600000008940697,0.2704201190199411,0.415149986743927]},"sizeMeters":[0.059,0.27,0.83],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:29.300Z","updatedAt":"2026-09-08T16:48:29.430Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32972/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StandardAssaultRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32972/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32972/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32972/v1/model.glb\" alt=\"Standard Assault Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32972/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32972/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32973","slug":"mega-weapon-pack-long-barrel-rifle-707084d5","title":"Long Barrel Rifle (Mega Weapon Pack)","summary":"A rifle length assault rifle in machined alloy: a twenty inch barrel inside a quad rail, a top rail running the whole way to the muzzle, an adjustable skeleton stock and a compensating muzzle brake. Premium modern game asset for shooter and survival projects.","description":"A rifle length assault rifle in machined alloy: a twenty inch barrel inside a quad rail, a top rail running the whole way to the muzzle, an adjustable skeleton stock and a compensating muzzle brake. Dimensions 0.065 x 0.246 x 0.960 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.162, -0.1538); charge at (0, 0.224, -0.2278). Connectors: optic optic-rail at (0, 0.2459, -0.0019) facing +Y; muzzle muzzle at (0, 0.2075, 0.4802) facing +Z; magazine magazine at (0, 0.162, -0.1538) facing -Y; underbarrel underbarrel at (0, 0.1718, 0.1701) facing -Y; side-rail side-rail at (-0.0357, 0.2075, 0.1892) facing -X. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-long-barrel-rifle-707084d5","cdnUrl":"https://cdn.3dassets.dev/assets/32973/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-long-barrel-rifle-707084d5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32973/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32973/v1/poster.webp","blurhash":"U23[#f%M9DWA?cM{ISxu00D$%N%M4mt7?cWB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1640532,"triangles":50512,"vertices":83009,"meshes":9,"materials":7,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.032580145343919405,-4.846849005479825e-9,-0.4801485255532503],"max":[0.032580145343919405,0.2460389551446972,0.4801500141620636]},"sizeMeters":[0.065,0.246,0.96],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:29.480Z","updatedAt":"2026-09-08T16:48:29.611Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32973/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function LongBarrelRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32973/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32973/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32973/v1/model.glb\" alt=\"Long Barrel Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32973/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32973/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32974","slug":"mega-weapon-pack-bullpup-rifle-fc927b17","title":"Bullpup Rifle (Mega Weapon Pack)","summary":"A bullpup assault rifle: the magazine and the action sit behind the trigger inside a full length receiver, so a long barrel fits in a short weapon. The butt pad and cheek comb are part of the receiver. Premium modern game asset for shooter and survival projects.","description":"A bullpup assault rifle: the magazine and the action sit behind the trigger inside a full length receiver, so a long barrel fits in a short weapon. The butt pad and cheek comb are part of the receiver. Dimensions 0.059 x 0.270 x 0.724 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.162, -0.2579); charge at (0, 0.224, 0.0121). Connectors: optic optic-rail at (0, 0.2459, -0.1529) facing +Y; muzzle muzzle at (0, 0.2075, 0.3622) facing +Z; magazine magazine at (0, 0.162, -0.2579) facing -Y; underbarrel underbarrel at (0, 0.1753, 0.1321) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bullpup-rifle-fc927b17","cdnUrl":"https://cdn.3dassets.dev/assets/32974/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bullpup-rifle-fc927b17","thumbnailUrl":"https://cdn.3dassets.dev/assets/32974/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32974/v1/poster.webp","blurhash":"U14U]B-;0000~qITD$oz004m?b~q4mxu?cog","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1186536,"triangles":45284,"vertices":56543,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.36214983171808146],"max":[0.029600000008940697,0.27039944016826484,0.36215001344680786]},"sizeMeters":[0.059,0.27,0.724],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:29.459Z","updatedAt":"2026-09-08T16:48:29.606Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32974/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32974/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32974/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32974/v1/model.glb\" alt=\"Bullpup Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32974/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32974/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32975","slug":"mega-weapon-pack-piston-carbine-75c902a1","title":"Piston Carbine (Mega Weapon Pack)","summary":"A short stroke gas piston carbine with a quad rail handguard, a folding side stock and a heavy tapered barrel behind a three prong flash hider. Premium modern game asset for shooter and survival projects.","description":"A short stroke gas piston carbine with a quad rail handguard, a folding side stock and a heavy tapered barrel behind a three prong flash hider. Dimensions 0.059 x 0.270 x 0.720 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0, 0.204, -0.1879); magazine at (0, 0.162, -0.0939); charge at (0, 0.224, -0.1679). Connectors: optic optic-rail at (0, 0.2459, -0.0738) facing +Y; muzzle muzzle at (0, 0.2075, 0.3602) facing +Z; magazine magazine at (0, 0.162, -0.0939) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-piston-carbine-75c902a1","cdnUrl":"https://cdn.3dassets.dev/assets/32975/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-piston-carbine-75c902a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32975/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32975/v1/poster.webp","blurhash":"U13usB%K00M~?dM^IS%N009F?b?c9Dxv?cM_","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1167572,"triangles":39148,"vertices":57559,"meshes":11,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.3601485145651341],"max":[0.029600000008940697,0.2704311545276462,0.360150009393692]},"sizeMeters":[0.059,0.27,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:29.635Z","updatedAt":"2026-09-08T16:48:29.807Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32975/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PistonCarbineMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32975/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32975/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32975/v1/model.glb\" alt=\"Piston Carbine (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32975/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32975/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32976","slug":"mega-weapon-pack-wood-stock-rifle-9322e196","title":"Wood Stock Rifle (Mega Weapon Pack)","summary":"A classic wood furniture rifle with a ribbed walnut forend, a slab sided receiver, a fixed walnut stock and a slant muzzle brake. Premium modern game asset for shooter and survival projects.","description":"A classic wood furniture rifle with a ribbed walnut forend, a slab sided receiver, a fixed walnut stock and a slant muzzle brake. Dimensions 0.059 x 0.316 x 0.770 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.2075, -0.0589); charge at (0, 0.2695, -0.1329). Connectors: optic optic-rail at (0, 0.2914, -0.0338) facing +Y; muzzle muzzle at (0, 0.253, 0.3851) facing +Z; magazine magazine at (0, 0.2075, -0.0588) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-wood-stock-rifle-9322e196","cdnUrl":"https://cdn.3dassets.dev/assets/32976/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-wood-stock-rifle-9322e196","thumbnailUrl":"https://cdn.3dassets.dev/assets/32976/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32976/v1/poster.webp","blurhash":"U37A*oIq02Mx~W9awaob019Z~9?H9Ft7Ng-o","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1323560,"triangles":45812,"vertices":64908,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-6.404291458261824e-9,-0.3851500153541565],"max":[0.029600000008940697,0.3159113920153881,0.3851500153541565]},"sizeMeters":[0.059,0.316,0.77],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:31.248Z","updatedAt":"2026-09-08T16:48:31.355Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32976/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WoodStockRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32976/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32976/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32976/v1/model.glb\" alt=\"Wood Stock Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32976/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32976/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32977","slug":"mega-weapon-pack-folding-stock-rifle-6c3e320a","title":"Folding Stock Rifle (Mega Weapon Pack)","summary":"A paratrooper pattern rifle with a stamped receiver, a ribbed polymer handguard and an underfolding tubular stock that swings clear of the grip. Premium modern game asset for shooter and survival projects.","description":"A paratrooper pattern rifle with a stamped receiver, a ribbed polymer handguard and an underfolding tubular stock that swings clear of the grip. Dimensions 0.059 x 0.270 x 0.718 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0, 0.204, -0.1689); magazine at (0, 0.162, -0.0749); charge at (0, 0.224, -0.1489). Connectors: optic optic-rail at (0, 0.2459, -0.0498) facing +Y; muzzle muzzle at (0, 0.2075, 0.3592) facing +Z; magazine magazine at (0, 0.162, -0.0748) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-folding-stock-rifle-6c3e320a","cdnUrl":"https://cdn.3dassets.dev/assets/32977/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-folding-stock-rifle-6c3e320a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32977/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32977/v1/poster.webp","blurhash":"U56Hu{xu00M{kWayn$WB00IU~V%MnNWCW?xu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":885340,"triangles":34224,"vertices":41763,"meshes":11,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.3591485206448079],"max":[0.029600000008940697,0.2704055664625614,0.3591499924659729]},"sizeMeters":[0.059,0.27,0.718],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:31.751Z","updatedAt":"2026-09-08T16:48:31.855Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32977/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FoldingStockRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32977/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32977/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32977/v1/model.glb\" alt=\"Folding Stock Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32977/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32977/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32978","slug":"mega-weapon-pack-battle-rifle-b1a53ee3","title":"Battle Rifle (Mega Weapon Pack)","summary":"A full power battle rifle on a long olive receiver, with a heavy twenty round magazine, a slotted handguard, an adjustable skeleton stock and a two chamber muzzle brake. Premium modern game asset for shooter and survival projects.","description":"A full power battle rifle on a long olive receiver, with a heavy twenty round magazine, a slotted handguard, an adjustable skeleton stock and a two chamber muzzle brake. Dimensions 0.065 x 0.292 x 0.940 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1779, -0.1438); charge at (0, 0.2459, -0.2178). Connectors: optic optic-rail at (0, 0.2678, -0.0988) facing +Y; muzzle muzzle at (0, 0.2256, 0.4702) facing +Z; magazine magazine at (0, 0.1779, -0.1439) facing -Y; underbarrel underbarrel at (0, 0.1909, 0.1802) facing -Y; side-rail side-rail at (-0.0347, 0.2256, 0.1951) facing -X. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-battle-rifle-b1a53ee3","cdnUrl":"https://cdn.3dassets.dev/assets/32978/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-battle-rifle-b1a53ee3","thumbnailUrl":"https://cdn.3dassets.dev/assets/32978/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32978/v1/poster.webp","blurhash":"U24Lamj]00ob_3Rj9Gt600M_?bt800oe~qai","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1330684,"triangles":51696,"vertices":63097,"meshes":11,"materials":9,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.032600000500679016,4.668070485713827e-9,-0.4701485026934856],"max":[0.032600000500679016,0.2922457923712658,0.4701499938964844]},"sizeMeters":[0.065,0.292,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:31.873Z","updatedAt":"2026-09-08T16:48:31.981Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32978/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BattleRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32978/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32978/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32978/v1/model.glb\" alt=\"Battle Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32978/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32978/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32979","slug":"mega-weapon-pack-bullpup-battle-rifle-ba4c0bfb","title":"Bullpup Battle Rifle (Mega Weapon Pack)","summary":"A full power bullpup battle rifle with the magazine behind the grip, a long free floating handguard, a full length top rail and a folding bipod under the muzzle. Premium modern game asset for shooter and survival projects.","description":"A full power bullpup battle rifle with the magazine behind the grip, a long free floating handguard, a full length top rail and a folding bipod under the muzzle. Dimensions 0.065 x 0.292 x 0.824 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1779, -0.2979); charge at (0, 0.2459, -0.0179); leg-l at (-0.012, 0.1846, 0.2821); leg-r at (0.012, 0.1846, 0.2821). Connectors: optic optic-rail at (0, 0.2678, -0.1829) facing +Y; muzzle muzzle at (0, 0.2256, 0.4122) facing +Z; magazine magazine at (0, 0.1779, -0.2979) facing -Y; underbarrel underbarrel at (0, 0.1909, 0.1522) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bullpup-battle-rifle-ba4c0bfb","cdnUrl":"https://cdn.3dassets.dev/assets/32979/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bullpup-battle-rifle-ba4c0bfb","thumbnailUrl":"https://cdn.3dassets.dev/assets/32979/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32979/v1/poster.webp","blurhash":"U14B:;-;009F_4M_9Et8009E_3_300oL~qtR","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1328480,"triangles":51708,"vertices":63231,"meshes":16,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.032600000500679016,4.668070485713827e-9,-0.41214900655774217],"max":[0.032600000500679016,0.2922201597082021,0.41214999556541443]},"sizeMeters":[0.065,0.292,0.824],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:31.918Z","updatedAt":"2026-09-08T16:48:32.044Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32979/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupBattleRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32979/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32979/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32979/v1/model.glb\" alt=\"Bullpup Battle Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32979/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32979/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32980","slug":"mega-weapon-pack-suppressed-rifle-037c019d","title":"Integrally Suppressed Rifle (Mega Weapon Pack)","summary":"An integrally suppressed rifle in machined alloy whose barrel runs inside a ported alloy shroud for most of its length, with a slotted handguard, a collapsing stock and flip up sights. Premium modern game asset for shooter and survival projects.","description":"An integrally suppressed rifle in machined alloy whose barrel runs inside a ported alloy shroud for most of its length, with a slotted handguard, a collapsing stock and flip up sights. Dimensions 0.059 x 0.270 x 0.850 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.21, -0.425); magazine at (0, 0.162, -0.129); charge at (0, 0.224, -0.203). Connectors: optic optic-rail at (0, 0.2459, -0.104) facing +Y; muzzle muzzle at (0, 0.2075, 0.425) facing +Z; magazine magazine at (0, 0.162, -0.129) facing -Y; underbarrel underbarrel at (0, 0.1753, 0.105) facing -Y; stock stock at (0, 0.21, -0.225) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-suppressed-rifle-037c019d","cdnUrl":"https://cdn.3dassets.dev/assets/32980/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-suppressed-rifle-037c019d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32980/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32980/v1/poster.webp","blurhash":"U24xlFxv9FjZ_4IUITof009F%2tR00x]?vt7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1437164,"triangles":62876,"vertices":65468,"meshes":12,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.42500001192092896],"max":[0.029600000008940697,0.2703993970675872,0.42500001192092896]},"sizeMeters":[0.059,0.27,0.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:32.337Z","updatedAt":"2026-09-08T16:48:32.584Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32980/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function IntegrallySuppressedRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32980/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32980/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32980/v1/model.glb\" alt=\"Integrally Suppressed Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32980/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32980/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32981","slug":"mega-weapon-pack-marksman-rifle-c1ed1138","title":"Marksman Rifle (Mega Weapon Pack)","summary":"A marksman length rifle with a heavy free floating barrel, a full length top rail for a magnified optic, an adjustable skeleton stock and a folding bipod. Premium modern game asset for shooter and survival projects.","description":"A marksman length rifle with a heavy free floating barrel, a full length top rail for a magnified optic, an adjustable skeleton stock and a folding bipod. Dimensions 0.062 x 0.266 x 0.970 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1779, -0.1488); charge at (0, 0.2439, -0.2228); leg-l at (-0.012, 0.1839, 0.3352); leg-r at (0.012, 0.1839, 0.3352). Connectors: optic optic-rail at (0, 0.2658, -0.0019) facing +Y; muzzle muzzle at (0, 0.2249, 0.4852) facing +Z; magazine magazine at (0, 0.1779, -0.1489) facing -Y; underbarrel underbarrel at (0, 0.1902, 0.1752) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-marksman-rifle-c1ed1138","cdnUrl":"https://cdn.3dassets.dev/assets/32981/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-marksman-rifle-c1ed1138","thumbnailUrl":"https://cdn.3dassets.dev/assets/32981/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32981/v1/poster.webp","blurhash":"U13uyO-q009Y_4M{D$fO009F.8?I00f4_4%O","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1378436,"triangles":54172,"vertices":65488,"meshes":15,"materials":7,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.031099999323487282,4.668070485713827e-9,-0.48514851819069327],"max":[0.031099999323487282,0.26587404284975164,0.485150009393692]},"sizeMeters":[0.062,0.266,0.97],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:32.626Z","updatedAt":"2026-09-08T16:48:32.805Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32981/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MarksmanRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32981/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32981/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32981/v1/model.glb\" alt=\"Marksman Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32981/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32981/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32983","slug":"mega-weapon-pack-tanker-carbine-47dfa94d","title":"Tanker Carbine (Mega Weapon Pack)","summary":"A dark earth vehicle crew carbine cut down to the shortest practical barrel, with a stubby handguard, a side folding stock and a large conical flash hider. Premium modern game asset for shooter and survival projects.","description":"A dark earth vehicle crew carbine cut down to the shortest practical barrel, with a stubby handguard, a side folding stock and a large conical flash hider. Dimensions 0.059 x 0.270 x 0.543 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0, 0.204, -0.1264); magazine at (0, 0.162, -0.0324); charge at (0, 0.224, -0.1064). Connectors: optic optic-rail at (0, 0.2459, -0.0174) facing +Y; muzzle muzzle at (0, 0.2075, 0.2717) facing +Z; magazine magazine at (0, 0.162, -0.0323) facing -Y; underbarrel underbarrel at (0, 0.1753, 0.1467) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-tanker-carbine-47dfa94d","cdnUrl":"https://cdn.3dassets.dev/assets/32983/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-tanker-carbine-47dfa94d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32983/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32983/v1/poster.webp","blurhash":"U471futR00nho#Ri%1of00D%~WtS-.M{E2xa","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":951436,"triangles":36900,"vertices":44897,"meshes":11,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.2716485131644249],"max":[0.029600000008940697,0.2704194432128077,0.2716499865055084]},"sizeMeters":[0.059,0.27,0.543],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:32.864Z","updatedAt":"2026-09-08T16:48:32.983Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32983/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TankerCarbineMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32983/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32983/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32983/v1/model.glb\" alt=\"Tanker Carbine (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32983/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32983/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32982","slug":"mega-weapon-pack-carry-handle-rifle-8653ac24","title":"Carry Handle Rifle (Mega Weapon Pack)","summary":"An olive service pattern rifle with a fixed carry handle over the receiver carrying the aperture rear sight, a ribbed round handguard and a fixed stock. Premium modern game asset for shooter and survival projects.","description":"An olive service pattern rifle with a fixed carry handle over the receiver carrying the aperture rear sight, a ribbed round handguard and a fixed stock. Dimensions 0.059 x 0.300 x 0.810 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.162, -0.0889); charge at (0, 0.224, -0.1629). Connectors: optic optic-rail at (0, 0.2459, -0.0639) facing +Y; muzzle muzzle at (0, 0.2075, 0.4052) facing +Z; magazine magazine at (0, 0.162, -0.0888) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-carry-handle-rifle-8653ac24","cdnUrl":"https://cdn.3dassets.dev/assets/32982/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-carry-handle-rifle-8653ac24","thumbnailUrl":"https://cdn.3dassets.dev/assets/32982/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32982/v1/poster.webp","blurhash":"U13bjuM|4U%L_2IUIUtQ00Ri?aai00-;_2V^","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1131224,"triangles":39992,"vertices":55067,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.40514999628067017],"max":[0.029600000008940697,0.3004233181537076,0.40514999628067017]},"sizeMeters":[0.059,0.3,0.81],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:32.731Z","updatedAt":"2026-09-08T16:48:32.944Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32982/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CarryHandleRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32982/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32982/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32982/v1/model.glb\" alt=\"Carry Handle Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32982/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32982/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32984","slug":"mega-weapon-pack-heavy-tri-rail-carbine-bf07689e","title":"Heavy Tri Rail Carbine (Mega Weapon Pack)","summary":"A heavy barrelled carbine on a quad rail handguard with a barrel carry handle, a side folding stock, a drum magazine well and a large muzzle brake. Premium modern game asset for shooter and survival projects.","description":"A heavy barrelled carbine on a quad rail handguard with a barrel carry handle, a side folding stock, a drum magazine well and a large muzzle brake. Dimensions 0.067 x 0.279 x 0.700 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0, 0.1957, -0.1779); magazine at (0, 0.1537, -0.0839); charge at (0, 0.2157, -0.1579). Connectors: optic optic-rail at (0, 0.2376, -0.0588) facing +Y; muzzle muzzle at (0, 0.1991, 0.3502) facing +Z; magazine magazine at (0, 0.1537, -0.0838) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-heavy-tri-rail-carbine-bf07689e","cdnUrl":"https://cdn.3dassets.dev/assets/32984/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-heavy-tri-rail-carbine-bf07689e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32984/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32984/v1/poster.webp","blurhash":"U14Bzi?G4m56~WVsMxS5000K?b^+00EM?v={","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1185156,"triangles":40280,"vertices":58279,"meshes":10,"materials":7,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.03359781575965031,-1.788139358804841e-10,-0.35014852887024883],"max":[0.03359781575965031,0.2791402949970206,0.3501500189304352]},"sizeMeters":[0.067,0.279,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:34.287Z","updatedAt":"2026-09-08T16:48:34.391Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32984/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function HeavyTriRailCarbineMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32984/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32984/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32984/v1/model.glb\" alt=\"Heavy Tri Rail Carbine (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32984/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32984/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32985","slug":"mega-weapon-pack-dmr-semi-auto-dfc99bb9","title":"Semi Auto Marksman Rifle (Mega Weapon Pack)","summary":"A semi automatic designated marksman rifle built on an assault rifle receiver rather than a chassis: a lengthened barrel under a slotted handguard, a collapsing stock on a notched buffer tube, flip up sights, dark earth furniture and a twenty round magazine. Premium modern game a","description":"A semi automatic designated marksman rifle built on an assault rifle receiver rather than a chassis: a lengthened barrel under a slotted handguard, a collapsing stock on a notched buffer tube, flip up sights, dark earth furniture and a twenty round magazine. Dimensions 0.062 x 0.290 x 0.970 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.2299, -0.485); magazine at (0, 0.1779, -0.179); charge at (0, 0.2439, -0.253). Connectors: optic optic-rail at (0, 0.2658, -0.017) facing +Y; muzzle muzzle at (0, 0.2249, 0.485) facing +Z; magazine magazine at (0, 0.1779, -0.179) facing -Y; underbarrel underbarrel at (0, 0.1912, 0.165) facing -Y; stock stock at (0, 0.2299, -0.275) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-dmr-semi-auto-dfc99bb9","cdnUrl":"https://cdn.3dassets.dev/assets/32985/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-dmr-semi-auto-dfc99bb9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32985/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32985/v1/poster.webp","blurhash":"U35}pt4;4n^*?aD+s+ai00sT_29aD$xbo#oz","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1382892,"triangles":53980,"vertices":65413,"meshes":12,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.031099999323487282,4.668070485713827e-9,-0.48500001430511475],"max":[0.031099999323487282,0.29023019891267154,0.48500001430511475]},"sizeMeters":[0.062,0.29,0.97],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:34.754Z","updatedAt":"2026-09-08T16:48:34.850Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32985/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SemiAutoMarksmanRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32985/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32985/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32985/v1/model.glb\" alt=\"Semi Auto Marksman Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32985/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32985/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32986","slug":"mega-weapon-pack-dmr-battle-8bfed0b9","title":"Battle Marksman Rifle (Mega Weapon Pack)","summary":"A full power semi automatic marksman rifle in walnut: a ribbed wooden forend, a comb stock with a raised cheek piece, iron sights over a heavy fluted barrel and a bipod clamped at the gas block. Premium modern game asset for shooter and survival projects.","description":"A full power semi automatic marksman rifle in walnut: a ribbed wooden forend, a comb stock with a raised cheek piece, iron sights over a heavy fluted barrel and a bipod clamped at the gas block. Dimensions 0.065 x 0.292 x 1.090 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1779, -0.1889); charge at (0, 0.2459, -0.2629); leg-l at (-0.012, 0.1836, 0.2763); leg-r at (0.012, 0.1836, 0.2763). Connectors: optic optic-rail at (0, 0.2678, -0.1469) facing +Y; muzzle muzzle at (0, 0.2256, 0.5452) facing +Z; magazine magazine at (0, 0.1779, -0.1888) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-dmr-battle-8bfed0b9","cdnUrl":"https://cdn.3dassets.dev/assets/32986/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-dmr-battle-8bfed0b9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32986/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32986/v1/poster.webp","blurhash":"U35;%E4=58t7~V9ZoIW?0MIn~AV]0fxb-;r=","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1221104,"triangles":42940,"vertices":59816,"meshes":16,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.032600000500679016,4.668070485713827e-9,-0.5451499819755554],"max":[0.032600000500679016,0.2922201597082021,0.5451499819755554]},"sizeMeters":[0.065,0.292,1.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:35.173Z","updatedAt":"2026-09-08T16:48:35.390Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32986/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BattleMarksmanRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32986/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32986/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32986/v1/model.glb\" alt=\"Battle Marksman Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32986/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32986/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32987","slug":"mega-weapon-pack-dmr-bullpup-7a709448","title":"Bullpup Marksman Rifle (Mega Weapon Pack)","summary":"A bullpup semi automatic marksman rifle in olive polymer: the action sits behind the grip inside the receiver shell, so a long barrel fits in a weapon little over a metre, with a short quad rail forend and a full length top rail. Premium modern game asset for shooter and survival","description":"A bullpup semi automatic marksman rifle in olive polymer: the action sits behind the grip inside the receiver shell, so a long barrel fits in a weapon little over a metre, with a short quad rail forend and a full length top rail. Dimensions 0.068 x 0.276 x 0.922 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1779, -0.339); charge at (0, 0.2479, -0.049). Connectors: optic optic-rail at (0, 0.2698, -0.214) facing +Y; muzzle muzzle at (0, 0.2264, 0.461) facing +Z; magazine magazine at (0, 0.1779, -0.339) facing -Y; underbarrel underbarrel at (0, 0.1907, 0.101) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-dmr-bullpup-7a709448","cdnUrl":"https://cdn.3dassets.dev/assets/32987/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-dmr-bullpup-7a709448","thumbnailUrl":"https://cdn.3dassets.dev/assets/32987/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32987/v1/poster.webp","blurhash":"U34_wpD*9EkD~qD*ITtR9EM{-;xu00x??bV{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1287196,"triangles":41660,"vertices":64197,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.0340999998152256,4.668070485713827e-9,-0.4609986310778992],"max":[0.0340999998152256,0.27586307747287664,0.460999995470047]},"sizeMeters":[0.068,0.276,0.922],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:35.273Z","updatedAt":"2026-09-08T16:48:35.407Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32987/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupMarksmanRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32987/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32987/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32987/v1/model.glb\" alt=\"Bullpup Marksman Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32987/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32987/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32988","slug":"mega-weapon-pack-bolt-sniper-classic-2bfd4f22","title":"Wood Stock Bolt Sniper (Mega Weapon Pack)","summary":"A classic bolt action sniper rifle in a one piece walnut stock with a raised cheek comb, a turned down bolt handle, a plain heavy barrel and a scope rail over the receiver. Premium modern game asset for shooter and survival projects.","description":"A classic bolt action sniper rifle in a one piece walnut stock with a raised cheek comb, a turned down bolt handle, a plain heavy barrel and a scope rail over the receiver. Dimensions 0.089 x 0.192 x 1.170 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0155, 0.1015, -0.1988); bolt at (-0.0155, 0.1635, -0.1348). Connectors: optic optic-rail at (-0.0155, 0.1894, -0.1769) facing +Y; muzzle muzzle at (-0.0155, 0.1485, 0.5851) facing +Z; magazine magazine at (-0.0155, 0.1015, -0.1988) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-classic-2bfd4f22","cdnUrl":"https://cdn.3dassets.dev/assets/32988/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-classic-2bfd4f22","thumbnailUrl":"https://cdn.3dassets.dev/assets/32988/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32988/v1/poster.webp","blurhash":"U25XlYE40LW.~VE2NFxa01IV~U-V01-V?HWA","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1268788,"triangles":41556,"vertices":63121,"meshes":9,"materials":7,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.04451219616242093,0.000014414638530982349,-0.5851500034332275],"max":[0.044526302590560306,0.19148559346770072,0.5851500034332275]},"sizeMeters":[0.089,0.191,1.17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:34.690Z","updatedAt":"2026-09-08T16:48:34.794Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32988/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WoodStockBoltSniperMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32988/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32988/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32988/v1/model.glb\" alt=\"Wood Stock Bolt Sniper (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32988/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32988/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32989","slug":"mega-weapon-pack-bolt-sniper-chassis-eaedb924","title":"Chassis Bolt Sniper (Mega Weapon Pack)","summary":"A bolt action sniper rifle in a machined alloy chassis: a long free floating slotted tube out to the muzzle, an adjustable skeleton butt with a cheek riser and a monopod, and a bipod clamped at the front of the handguard. Premium modern game asset for shooter and survival project","description":"A bolt action sniper rifle in a machined alloy chassis: a long free floating slotted tube out to the muzzle, an adjustable skeleton butt with a cheek riser and a monopod, and a bipod clamped at the front of the handguard. Dimensions 0.093 x 0.325 x 1.220 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0146, 0.2152, -0.2238); bolt at (-0.0146, 0.2792, -0.1498); leg-l at (-0.0266, 0.22, 0.3858); leg-r at (-0.0026, 0.22, 0.3858). Connectors: optic optic-rail at (-0.0146, 0.3051, -0.0369) facing +Y; muzzle muzzle at (-0.0146, 0.263, 0.6101) facing +Z; magazine magazine at (-0.0146, 0.2152, -0.2238) facing -Y; underbarrel underbarrel at (-0.0146, 0.2263, 0.1802) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-chassis-eaedb924","cdnUrl":"https://cdn.3dassets.dev/assets/32989/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-chassis-eaedb924","thumbnailUrl":"https://cdn.3dassets.dev/assets/32989/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32989/v1/poster.webp","blurhash":"U23[#dxaDibq_3IUIUxu4n9Yxv%N4mkB?cep","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1717560,"triangles":68188,"vertices":81411,"meshes":15,"materials":7,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.046371584925997814,3.0270410146873705e-7,-0.6101508680383734],"max":[0.04640595121825633,0.3252521385350204,0.6101499795913696]},"sizeMeters":[0.093,0.325,1.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:36.213Z","updatedAt":"2026-09-08T16:48:36.319Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32989/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ChassisBoltSniperMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32989/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32989/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32989/v1/model.glb\" alt=\"Chassis Bolt Sniper (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32989/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32989/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32991","slug":"mega-weapon-pack-bolt-sniper-folding-d984626a","title":"Folding Chassis Sniper (Mega Weapon Pack)","summary":"A compact bolt action sniper in a dark earth chassis whose stock folds against the receiver for transport, with a short quad rail forend, a stubby heavy barrel and a bipod tucked in at mid barrel. Premium modern game asset for shooter and survival projects.","description":"A compact bolt action sniper in a dark earth chassis whose stock folds against the receiver for transport, with a short quad rail forend, a stubby heavy barrel and a bipod tucked in at mid barrel. Dimensions 0.094 x 0.251 x 0.952 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (-0.0141, 0.1782, -0.2318); magazine at (-0.0141, 0.1362, -0.1378); bolt at (-0.0141, 0.2002, -0.0638); leg-l at (-0.0261, 0.14, 0.221); leg-r at (-0.0021, 0.14, 0.221). Connectors: optic optic-rail at (-0.0141, 0.2261, -0.0209) facing +Y; muzzle muzzle at (-0.0141, 0.184, 0.4762) facing +Z; magazine magazine at (-0.0141, 0.1362, -0.1379) facing -Y; underbarrel underbarrel at (-0.0141, 0.1463, 0.1762) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-folding-d984626a","cdnUrl":"https://cdn.3dassets.dev/assets/32991/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-folding-d984626a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32991/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32991/v1/poster.webp","blurhash":"U24o1cN100?GxuRPRjt700nz~WIXM{xuxvWB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1370944,"triangles":44524,"vertices":68466,"meshes":17,"materials":8,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.046867817795975014,3.0152711146241157e-7,-0.47614851903193006],"max":[0.04686648297927899,0.2506048651730747,0.4761500060558319]},"sizeMeters":[0.094,0.251,0.952],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:36.385Z","updatedAt":"2026-09-08T16:48:36.511Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32991/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FoldingChassisSniperMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32991/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32991/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32991/v1/model.glb\" alt=\"Folding Chassis Sniper (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32991/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32991/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32990","slug":"mega-weapon-pack-bolt-sniper-heavy-ce300520","title":"Heavy Barrel Sniper (Mega Weapon Pack)","summary":"A heavy barrel bolt action sniper with no handguard at all: a thick fluted barrel in cooling rings straight out of the receiver, a grey polymer comb stock, a monopod under the toe and a wide low bipod on a barrel clamp. Premium modern game asset for shooter and survival projects.","description":"A heavy barrel bolt action sniper with no handguard at all: a thick fluted barrel in cooling rings straight out of the receiver, a grey polymer comb stock, a monopod under the toe and a wide low bipod on a barrel clamp. Dimensions 0.095 x 0.231 x 1.260 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0155, 0.1167, -0.2439); bolt at (-0.0155, 0.1847, -0.1699); leg-l at (-0.0275, 0.124, 0.2801); leg-r at (-0.0035, 0.124, 0.2801). Connectors: optic optic-rail at (-0.0155, 0.2106, -0.1968) facing +Y; muzzle muzzle at (-0.0155, 0.166, 0.6301) facing +Z; magazine magazine at (-0.0155, 0.1167, -0.2439) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-heavy-ce300520","cdnUrl":"https://cdn.3dassets.dev/assets/32990/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-heavy-ce300520","thumbnailUrl":"https://cdn.3dassets.dev/assets/32990/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32990/v1/poster.webp","blurhash":"U02$Ko9G00_2~q4nD%_300IA_Nbc00?b~q00","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1374320,"triangles":50428,"vertices":66600,"meshes":15,"materials":7,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.047500001441687346,3.0353856647971633e-7,-0.6301500201225281],"max":[0.047502835782904734,0.23071891720543625,0.6301500201225281]},"sizeMeters":[0.095,0.231,1.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:36.273Z","updatedAt":"2026-09-08T16:48:36.375Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32990/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function HeavyBarrelSniperMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32990/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32990/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32990/v1/model.glb\" alt=\"Heavy Barrel Sniper (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32990/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32990/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32992","slug":"mega-weapon-pack-bolt-sniper-suppressed-260c86bd","title":"Suppressed Bolt Sniper (Mega Weapon Pack)","summary":"A suppressed bolt action sniper in olive: the barrel runs inside a ported shroud for most of its length behind a short ribbed forend, on a chassis stock with a cheek riser and a tall narrow bipod. Premium modern game asset for shooter and survival projects.","description":"A suppressed bolt action sniper in olive: the barrel runs inside a ported shroud for most of its length behind a short ribbed forend, on a chassis stock with a cheek riser and a tall narrow bipod. Dimensions 0.092 x 0.340 x 1.180 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0151, 0.2302, -0.2039); bolt at (-0.0151, 0.2942, -0.1299); leg-l at (-0.0271, 0.236, 0.1561); leg-r at (-0.0031, 0.236, 0.1561). Connectors: optic optic-rail at (-0.015, 0.3201, -0.1168) facing +Y; muzzle muzzle at (-0.015, 0.278, 0.5901) facing +Z; magazine magazine at (-0.015, 0.2302, -0.2039) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-suppressed-260c86bd","cdnUrl":"https://cdn.3dassets.dev/assets/32992/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-suppressed-260c86bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/32992/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32992/v1/poster.webp","blurhash":"U142SK-=4Tx[_NIUDi-;004m%L%M00tP_NIB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1443412,"triangles":61888,"vertices":66582,"meshes":16,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.045957572191593715,2.999068830118745e-7,-0.5901485249572038],"max":[0.045950854322896126,0.3402307935537252,0.590149998664856]},"sizeMeters":[0.092,0.34,1.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:37.316Z","updatedAt":"2026-09-08T16:48:37.427Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32992/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SuppressedBoltSniperMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32992/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32992/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32992/v1/model.glb\" alt=\"Suppressed Bolt Sniper (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32992/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32992/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32993","slug":"mega-weapon-pack-anti-materiel-rifle-71510873","title":"Anti Materiel Rifle (Mega Weapon Pack)","summary":"An anti materiel rifle, the longest and heaviest weapon in the pack: a metre of heavy barrel inside a quad rail, a fist sized two chamber muzzle brake, a carry handle over the receiver, a monopod under the toe and a wide bipod on the receiver front. Premium modern game asset for","description":"An anti materiel rifle, the longest and heaviest weapon in the pack: a metre of heavy barrel inside a quad rail, a fist sized two chamber muzzle brake, a carry handle over the receiver, a monopod under the toe and a wide bipod on the receiver front. Dimensions 0.127 x 0.392 x 1.780 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0067, 0.2316, -0.3898); bolt at (-0.0067, 0.3236, -0.2098); leg-l at (-0.0187, 0.236, 0.1102); leg-r at (0.0053, 0.236, 0.1102). Connectors: optic optic-rail at (-0.0067, 0.3495, -0.1749) facing +Y; muzzle muzzle at (-0.0067, 0.29, 0.8901) facing +Z; magazine magazine at (-0.0067, 0.2316, -0.3898) facing -Y; underbarrel underbarrel at (-0.0067, 0.2423, 0.1401) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-anti-materiel-rifle-71510873","cdnUrl":"https://cdn.3dassets.dev/assets/32993/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-anti-materiel-rifle-71510873","thumbnailUrl":"https://cdn.3dassets.dev/assets/32993/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32993/v1/poster.webp","blurhash":"U24U{IM}00.5_3IUIA-:00M_?coi4T%e?vIE","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":2070676,"triangles":66560,"vertices":104040,"meshes":16,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.0632935193174512,3.000814971128307e-7,-0.8901508952723681],"max":[0.0633299932379149,0.39148994724570324,0.8901500105857849]},"sizeMeters":[0.127,0.391,1.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:37.988Z","updatedAt":"2026-09-08T16:48:38.105Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32993/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function AntiMaterielRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32993/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32993/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32993/v1/model.glb\" alt=\"Anti Materiel Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32993/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32993/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32994","slug":"mega-weapon-pack-anti-materiel-bullpup-e19859cf","title":"Bullpup Anti Materiel Rifle (Mega Weapon Pack)","summary":"A bullpup anti materiel rifle: the same calibre in three quarters of the length, with the magazine behind the grip, a heavy fluted barrel in a dark earth shell, a fist sized brake and a bipod at the muzzle. Premium modern game asset for shooter and survival projects.","description":"A bullpup anti materiel rifle: the same calibre in three quarters of the length, with the magazine behind the grip, a heavy fluted barrel in a dark earth shell, a fist sized brake and a bipod at the muzzle. Dimensions 0.120 x 0.320 x 1.382 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0089, 0.1964, -0.549); bolt at (-0.0089, 0.2864, -0.189); leg-l at (-0.0209, 0.204, 0.3478); leg-r at (0.0031, 0.204, 0.3478). Connectors: optic optic-rail at (-0.0089, 0.3123, -0.379) facing +Y; muzzle muzzle at (-0.0089, 0.254, 0.691) facing +Z; magazine magazine at (-0.0089, 0.1964, -0.549) facing -Y; underbarrel underbarrel at (-0.0089, 0.2103, 0.121) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-anti-materiel-bullpup-e19859cf","cdnUrl":"https://cdn.3dassets.dev/assets/32994/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-anti-materiel-bullpup-e19859cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/32994/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32994/v1/poster.webp","blurhash":"U35Evv01xZ-p~V9Gs,%L4U%Kj[S14o-;t8Io","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1271692,"triangles":47468,"vertices":61313,"meshes":15,"materials":7,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.06012232168005038,3.053267058246434e-7,-0.690998493591874],"max":[0.06013392754675222,0.320350120526164,0.6909999847412109]},"sizeMeters":[0.12,0.32,1.382],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:38.026Z","updatedAt":"2026-09-08T16:48:38.134Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32994/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupAntiMaterielRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32994/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32994/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32994/v1/model.glb\" alt=\"Bullpup Anti Materiel Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32994/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32994/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32996","slug":"mega-weapon-pack-straight-pull-rifle-b9d6709e","title":"Straight Pull Rifle (Mega Weapon Pack)","summary":"A straight pull rifle whose side lever runs back in line with the bore rather than turning: a slim sporting barrel, a walnut comb stock with a chequered wrist, a short forend and a scope rail over the receiver. Premium modern game asset for shooter and survival projects.","description":"A straight pull rifle whose side lever runs back in line with the bore rather than turning: a slim sporting barrel, a walnut comb stock with a chequered wrist, a short forend and a scope rail over the receiver. Dimensions 0.105 x 0.190 x 1.110 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0254, 0.1015, -0.1889); bolt at (-0.0254, 0.1615, -0.0749). Connectors: optic optic-rail at (-0.0254, 0.1874, -0.1668) facing +Y; muzzle muzzle at (-0.0254, 0.1477, 0.5552) facing +Z; magazine magazine at (-0.0254, 0.1015, -0.1888) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-straight-pull-rifle-b9d6709e","cdnUrl":"https://cdn.3dassets.dev/assets/32996/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-straight-pull-rifle-b9d6709e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32996/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32996/v1/poster.webp","blurhash":"U35;z5589t?F~U9aRj%202Ri={WE0L-.-pM{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1339136,"triangles":44232,"vertices":66461,"meshes":10,"materials":8,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.052655066644156215,0.000025679083725721474,-0.555150032043457],"max":[0.05265017732446529,0.18947432496939012,0.555150032043457]},"sizeMeters":[0.105,0.189,1.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:38.474Z","updatedAt":"2026-09-08T16:48:38.572Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32996/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StraightPullRifleMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32996/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32996/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32996/v1/model.glb\" alt=\"Straight Pull Rifle (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32996/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32996/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32995","slug":"mega-weapon-pack-lever-action-rifle-cbb99ef9","title":"Lever Action Rifle (Mega Weapon Pack)","summary":"A tube fed lever action rifle in walnut, with a loop lever under the wrist, a barrel band over the magazine tube, a ladder rear sight and a crescent butt plate. Premium modern game asset for shooter and survival projects.","description":"A tube fed lever action rifle in walnut, with a loop lever under the wrist, a barrel band over the magazine tube, a ladder rear sight and a crescent butt plate. Dimensions 0.053 x 0.170 x 1.000 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: optic optic-rail at (0, 0.1454, -0.1819) facing +Y; muzzle muzzle at (0, 0.1045, 0.5001) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-lever-action-rifle-cbb99ef9","cdnUrl":"https://cdn.3dassets.dev/assets/32995/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-lever-action-rifle-cbb99ef9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32995/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32995/v1/poster.webp","blurhash":"U25N}t0f55=|~V9aV?%M00$*^kSd00_2%ND%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":1289628,"triangles":45408,"vertices":63230,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.026301437153765143,0.000006081592632101174,-0.5001500248908997],"max":[0.026301437153765143,0.1698841499185449,0.5001500248908997]},"sizeMeters":[0.053,0.17,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:38.387Z","updatedAt":"2026-09-08T16:48:38.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32995/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeverActionRifleMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32995/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32995/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32995/v1/model.glb\" alt=\"Lever Action Rifle (Mega Weapon Pack)\" 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/32995/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/32995/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32997","slug":"mega-weapon-pack-general-purpose-mg-12e7bdf1","title":"General Purpose Machine Gun (Mega Weapon Pack)","summary":"A belt fed general purpose machine gun in olive: a heavy quick change barrel with a lift handle over the gas system, a hinged feed tray cover, a linked belt climbing out of a box on the left, a wide bipod at the gas block and a fixed shoulder stock. Premium modern game asset for","description":"A belt fed general purpose machine gun in olive: a heavy quick change barrel with a lift handle over the gas system, a hinged feed tray cover, a linked belt climbing out of a box on the left, a wide bipod at the gas block and a fixed shoulder stock. Dimensions 0.139 x 0.273 x 1.200 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: charge at (0.0307, 0.2094, -0.3279); leg-l at (0.0187, 0.132, 0.1041); leg-r at (0.0427, 0.132, 0.1041). Connectors: optic optic-rail at (0.0307, 0.2313, -0.1819) facing +Y; muzzle muzzle at (0.0307, 0.178, 0.6001) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-general-purpose-mg-12e7bdf1","cdnUrl":"https://cdn.3dassets.dev/assets/32997/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-general-purpose-mg-12e7bdf1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32997/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32997/v1/poster.webp","blurhash":"U13lBcD*01?b_3D%IV-;00Rj_2NG00.7?u9F","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1328092,"triangles":48796,"vertices":64331,"meshes":16,"materials":9,"textures":0,"animations":["charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.06929889190986957,3.059525545863473e-7,-0.6001499891281128],"max":[0.06930000188946724,0.2732902363187812,0.6001499891281128]},"sizeMeters":[0.139,0.273,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:39.303Z","updatedAt":"2026-09-08T16:48:39.406Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32997/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function GeneralPurposeMachineGunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32997/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32997/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32997/v1/model.glb\" alt=\"General Purpose Machine Gun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32997/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32997/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32998","slug":"mega-weapon-pack-light-machine-gun-a906dc7d","title":"Top Fed Light Machine Gun (Mega Weapon Pack)","summary":"A top fed light machine gun in dark earth polymer: a box magazine standing on the receiver roof, a short heavy barrel with a lift handle, a stubby ribbed forend, an offset sight rail on the left of the magazine and a bipod at mid barrel. Premium modern game asset for shooter and","description":"A top fed light machine gun in dark earth polymer: a box magazine standing on the receiver roof, a short heavy barrel with a lift handle, a stubby ribbed forend, an offset sight rail on the left of the magazine and a bipod at mid barrel. Dimensions 0.071 x 0.418 x 0.860 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.2322, -0.0398); charge at (0, 0.2127, -0.1778); leg-l at (-0.012, 0.148, 0.2502); leg-r at (0.012, 0.148, 0.2502). Connectors: optic optic-rail at (0, 0.2346, -0.1419) facing +Y; muzzle muzzle at (0, 0.19, 0.4301) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-light-machine-gun-a906dc7d","cdnUrl":"https://cdn.3dassets.dev/assets/32998/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-light-machine-gun-a906dc7d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32998/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32998/v1/poster.webp","blurhash":"U47-KDE200$*~pD*9Fxu00t6?as:01?b-;RP","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1185996,"triangles":43768,"vertices":57390,"meshes":14,"materials":6,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.035599999129772186,2.940170087100541e-7,-0.43015000224113464],"max":[0.035599999129772186,0.4177199959990382,0.43015000224113464]},"sizeMeters":[0.071,0.418,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:39.438Z","updatedAt":"2026-09-08T16:48:39.607Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32998/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TopFedLightMachineGunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32998/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32998/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32998/v1/model.glb\" alt=\"Top Fed Light Machine Gun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32998/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32998/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32999","slug":"mega-weapon-pack-squad-drum-gun-b6350c32","title":"Drum Fed Squad Gun (Mega Weapon Pack)","summary":"A squad automatic weapon fed from a cased drum under the receiver, with a long finned quick change barrel, a walnut forend and butt, a folding carry handle and a bipod out at the muzzle. Premium modern game asset for shooter and survival projects.","description":"A squad automatic weapon fed from a cased drum under the receiver, with a long finned quick change barrel, a walnut forend and butt, a folding carry handle and a bipod out at the muzzle. Dimensions 0.077 x 0.327 x 1.120 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.1809, -0.1899); charge at (0, 0.2629, -0.2979); leg-l at (-0.012, 0.188, 0.4325); leg-r at (0.012, 0.188, 0.4325). Connectors: optic optic-rail at (0, 0.2848, -0.1668) facing +Y; muzzle muzzle at (0, 0.234, 0.5602) facing +Z; magazine magazine at (0, 0.1809, -0.1898) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-squad-drum-gun-b6350c32","cdnUrl":"https://cdn.3dassets.dev/assets/32999/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-squad-drum-gun-b6350c32","thumbnailUrl":"https://cdn.3dassets.dev/assets/32999/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32999/v1/poster.webp","blurhash":"U367=k5T02.7~U9tMxxv01Ri^%WC0M-p.7xB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1509052,"triangles":54200,"vertices":73693,"meshes":14,"materials":6,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.038600001484155655,3.079493101805497e-7,-0.5601500272750854],"max":[0.038600001484155655,0.32681807873439017,0.5601500272750854]},"sizeMeters":[0.077,0.327,1.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:39.541Z","updatedAt":"2026-09-08T16:48:39.708Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32999/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DrumFedSquadGunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32999/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32999/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32999/v1/model.glb\" alt=\"Drum Fed Squad Gun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/32999/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/32999/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33000","slug":"mega-weapon-pack-heavy-tripod-gun-9f891095","title":"Heavy Tripod Machine Gun (Mega Weapon Pack)","summary":"A heavy belt fed machine gun on a three leg ground tripod, with a finned quick change barrel, a large conical flash hider, spade grips and a thumb trigger, and an ammunition box on the left. Premium modern game asset for shooter and survival projects.","description":"A heavy belt fed machine gun on a three leg ground tripod, with a finned quick change barrel, a large conical flash hider, spade grips and a thumb trigger, and an ammunition box on the left. Dimensions 0.455 x 0.606 x 1.402 m (X x Y x Z). Origin at the centre of the tripod footprint, feet on y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: muzzle muzzle at (0, 0.5, 0.701) facing +Z. Static mount: the traverse and elevation gear, the feed pawls, the belt and the spade grip linkage are modelled and left still, because none of them is a single rigid node. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-heavy-tripod-gun-9f891095","cdnUrl":"https://cdn.3dassets.dev/assets/33000/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-heavy-tripod-gun-9f891095","thumbnailUrl":"https://cdn.3dassets.dev/assets/33000/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33000/v1/poster.webp","blurhash":"U468Nn018{_L?uIBIV.701-:xtM}IBox%MD*","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":769776,"triangles":32300,"vertices":35659,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.22760714126431528,-0.000025341842973480855,-0.7009999752044678],"max":[0.22760714126431528,0.6059586668824365,0.7009999752044678]},"sizeMeters":[0.455,0.606,1.402],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:40.150Z","updatedAt":"2026-09-08T16:48:40.404Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33000/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeavyTripodMachineGunMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33000/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33000/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33000/v1/model.glb\" alt=\"Heavy Tripod Machine Gun (Mega Weapon Pack)\" 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/33000/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/33000/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33001","slug":"mega-weapon-pack-rotary-gun-5f05486d","title":"Rotary Machine Gun (Mega Weapon Pack)","summary":"A six barrel electrically driven rotary machine gun on a pintle, with a geared rotor, a drive motor, a feed chute of linked rounds and spade grips behind the housing. Premium modern game asset for shooter and survival projects.","description":"A six barrel electrically driven rotary machine gun on a pintle, with a geared rotor, a drive motor, a feed chute of linked rounds and spade grips behind the housing. Dimensions 0.429 x 0.313 x 1.018 m (X x Y x Z). Origin at the centre of the pintle base, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: rotor at (-0.0837, 0.24, -0.1111). Connectors: muzzle muzzle at (-0.0837, 0.24, 0.5089) facing +Z. The barrel cluster spins on the rotor node. The drive motor, the gearbox, the delinker and the feed chute are modelled and left static. Rigid node-transform clips spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rotary-gun-5f05486d","cdnUrl":"https://cdn.3dassets.dev/assets/33001/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rotary-gun-5f05486d","thumbnailUrl":"https://cdn.3dassets.dev/assets/33001/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33001/v1/poster.webp","blurhash":"U56*p*029G_L_LICIV%e00-:t7IV01-.xuMz","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":940736,"triangles":36156,"vertices":44676,"meshes":10,"materials":7,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.214436028665817,0.000003517247268269852,-0.508899986743927],"max":[0.21444943612143266,0.31249648275273173,0.5089000024162232]},"sizeMeters":[0.429,0.312,1.018],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:40.928Z","updatedAt":"2026-09-08T16:48:41.033Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33001/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function RotaryMachineGunMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33001/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33001/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33001/v1/model.glb\" alt=\"Rotary Machine Gun (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33001/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33001/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33002","slug":"mega-weapon-pack-mounted-twin-gun-c264f010","title":"Mounted Twin Machine Gun (Mega Weapon Pack)","summary":"A twin mounted machine gun: two finned barrel receivers side by side in one cradle on a pintle, with an ammunition box each side, a shared ring sight and spade grips. Premium modern game asset for shooter and survival projects.","description":"A twin mounted machine gun: two finned barrel receivers side by side in one cradle on a pintle, with an ammunition box each side, a shared ring sight and spade grips. Dimensions 0.371 x 0.461 x 0.972 m (X x Y x Z). Origin at the centre of the pintle base, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: muzzle muzzle at (0, 0.34, 0.486) facing +Z. Static mount: the cradle trunnions, the traverse gear, the feed and the trigger linkage are modelled and left still. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-mounted-twin-gun-c264f010","cdnUrl":"https://cdn.3dassets.dev/assets/33002/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-mounted-twin-gun-c264f010","thumbnailUrl":"https://cdn.3dassets.dev/assets/33002/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33002/v1/poster.webp","blurhash":"U66keS4VD%_L_2IBM{%M4o%Kt6Mz4o%LxtV]","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":861980,"triangles":35768,"vertices":40123,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.18568000197410583,0,-0.4860017187535266],"max":[0.18568000197410583,0.4611962418838966,0.4860000014305115]},"sizeMeters":[0.371,0.461,0.972],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:41.048Z","updatedAt":"2026-09-08T16:48:41.150Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33002/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MountedTwinMachineGunMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33002/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33002/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33002/v1/model.glb\" alt=\"Mounted Twin Machine Gun (Mega Weapon Pack)\" 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/33002/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/33002/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33003","slug":"mega-weapon-pack-rocket-launcher-02bf8ca1","title":"Shoulder Rocket Launcher (Mega Weapon Pack)","summary":"A reloadable shoulder fired rocket launcher: a ribbed tube with a flared blast cone, an optical sight block on the left, front and rear grips, a shoulder pad and a warhead loaded in the muzzle. Premium modern game asset for shooter and survival projects.","description":"A reloadable shoulder fired rocket launcher: a ribbed tube with a flared blast cone, an optical sight block on the left, front and rear grips, a shoulder pad and a warhead loaded in the muzzle. Dimensions 0.170 x 0.231 x 1.200 m (X x Y x Z). Origin under the grip at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: muzzle muzzle at (0.015, 0.1605, 0.6) facing +Z; optic optic-rail at (0.015, 0.2119, -0.01) facing +Y. Static launcher: the firing mechanism, the venturi and the safety are modelled and left still, because a rigid node transform cannot drive any of them. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rocket-launcher-02bf8ca1","cdnUrl":"https://cdn.3dassets.dev/assets/33003/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rocket-launcher-02bf8ca1","thumbnailUrl":"https://cdn.3dassets.dev/assets/33003/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33003/v1/poster.webp","blurhash":"U57nURw}9FIn%f9Gae%L00E1.7x]H@~oxtDk","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":1269792,"triangles":51880,"vertices":59448,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-0.08500462249237453,-0.00000679315241119971,-0.6000000238418579],"max":[0.08502167152018551,0.2305187315086879,0.6000000238418579]},"sizeMeters":[0.17,0.231,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:41.438Z","updatedAt":"2026-09-08T16:48:41.539Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33003/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShoulderRocketLauncherMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33003/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33003/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33003/v1/model.glb\" alt=\"Shoulder Rocket Launcher (Mega Weapon Pack)\" 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/33003/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/33003/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33004","slug":"mega-weapon-pack-disposable-launcher-8726766a","title":"Disposable Launcher Tube (Mega Weapon Pack)","summary":"A single use disposable launcher tube with folding ladder sights, a pop up trigger grip and printed hazard bands modelled as proud rings. Premium modern game asset for shooter and survival projects.","description":"A single use disposable launcher tube with folding ladder sights, a pop up trigger grip and printed hazard bands modelled as proud rings. Dimensions 0.086 x 0.237 x 0.780 m (X x Y x Z). Origin under the grip at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: muzzle muzzle at (0, 0.1515, 0.39) facing +Z. Static launcher: the firing mechanism, the venturi and the safety are modelled and left still, because a rigid node transform cannot drive any of them. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-disposable-launcher-8726766a","cdnUrl":"https://cdn.3dassets.dev/assets/33004/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-disposable-launcher-8726766a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33004/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33004/v1/poster.webp","blurhash":"U68NzlxsD%Rk.69GM|%L00D+%fx@8|~o%fE2","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":980556,"triangles":43184,"vertices":44746,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.04279561830359332,0,-0.38999998569488525],"max":[0.04279561830359332,0.23747569561716567,0.38999998569488525]},"sizeMeters":[0.086,0.237,0.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:41.468Z","updatedAt":"2026-09-08T16:48:41.568Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33004/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DisposableLauncherTubeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33004/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33004/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33004/v1/model.glb\" alt=\"Disposable Launcher Tube (Mega Weapon Pack)\" 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/33004/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/33004/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33005","slug":"mega-weapon-pack-compact-at-tube-1bb074ff","title":"Compact Anti Tank Tube (Mega Weapon Pack)","summary":"A short anti tank tube for close work, with a blast cone, a single grip, a folding front sight and a warhead in the muzzle. Premium modern game asset for shooter and survival projects.","description":"A short anti tank tube for close work, with a blast cone, a single grip, a folding front sight and a warhead in the muzzle. Dimensions 0.120 x 0.249 x 0.800 m (X x Y x Z). Origin under the grip at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: muzzle muzzle at (0, 0.1575, 0.4) facing +Z. Static launcher: the firing mechanism, the venturi and the safety are modelled and left still, because a rigid node transform cannot drive any of them. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-compact-at-tube-1bb074ff","cdnUrl":"https://cdn.3dassets.dev/assets/33005/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-compact-at-tube-1bb074ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/33005/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33005/v1/poster.webp","blurhash":"U48;Vt$y4Vxv_K4oMyxb004;?uWU4V~p?ZNY","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":1014624,"triangles":44972,"vertices":46210,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.060011597927843364,0,-0.4000000059604645],"max":[0.060011597927843364,0.24950138862033405,0.4000000059604645]},"sizeMeters":[0.12,0.25,0.8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:42.187Z","updatedAt":"2026-09-08T16:48:42.317Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33005/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CompactAntiTankTubeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33005/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33005/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33005/v1/model.glb\" alt=\"Compact Anti Tank Tube (Mega Weapon Pack)\" 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/33005/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/33005/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33007","slug":"mega-weapon-pack-revolving-grenade-launcher-5d1a5800","title":"Revolving Grenade Launcher (Mega Weapon Pack)","summary":"A six chamber revolving grenade launcher with a spring driven cylinder, loaded rounds in every chamber, a top rail, front and rear grips and a side folding stock. Premium modern game asset for shooter and survival projects.","description":"A six chamber revolving grenade launcher with a spring driven cylinder, loaded rounds in every chamber, a top rail, front and rear grips and a side folding stock. Dimensions 0.150 x 0.385 x 0.497 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: cylinder at (0, 0.2178, 0.0803); stock-fold at (0, 0.2378, -0.0397). Connectors: optic optic-rail at (0, 0.3202, 0.1003) facing +Y; muzzle muzzle at (0, 0.2178, 0.2403) facing +Z. The cylinder indexes on its axis and the stock folds against the frame. The clockwork drive, the ratchet and the trigger linkage are modelled and left static. Rigid node-transform clips open, close, spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-revolving-grenade-launcher-5d1a5800","cdnUrl":"https://cdn.3dassets.dev/assets/33007/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-revolving-grenade-launcher-5d1a5800","thumbnailUrl":"https://cdn.3dassets.dev/assets/33007/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33007/v1/poster.webp","blurhash":"U67d:v~o4U8{IWIVRk%M01D*%MozIUt6-:s:","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":999600,"triangles":36548,"vertices":48114,"meshes":11,"materials":6,"textures":0,"animations":["open","close","spin"],"boundingBox":{"min":[-0.07499833796726438,-6.24433160734128e-9,-0.24830042535527783],"max":[0.07499833796726438,0.38473331928253174,0.2483000010251999]},"sizeMeters":[0.15,0.385,0.497],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:42.572Z","updatedAt":"2026-09-08T16:48:42.700Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33007/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function RevolvingGrenadeLauncherMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33007/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33007/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33007/v1/model.glb\" alt=\"Revolving Grenade Launcher (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33007/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33007/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33006","slug":"mega-weapon-pack-break-grenade-launcher-cc271d73","title":"Break Grenade Launcher (Mega Weapon Pack)","summary":"A single shot break action grenade launcher: the ribbed barrel drops on a hinge under the frame, with a loaded round in the breech, a pistol grip, a folding ladder sight on a short rail and a polymer shoulder stock. Premium modern game asset for shooter and survival projects.","description":"A single shot break action grenade launcher: the ribbed barrel drops on a hinge under the frame, with a loaded round in the breech, a pistol grip, a folding ladder sight on a short rail and a polymer shoulder stock. Dimensions 0.064 x 0.293 x 0.675 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: action at (0, 0.1315, -0.0125). Connectors: optic optic-rail at (0, 0.2079, -0.0325) facing +Y; muzzle muzzle at (0, 0.1635, 0.3375) facing +Z. The barrel drops about the hinge pin. The latch, the extractor and the trigger linkage are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-break-grenade-launcher-cc271d73","cdnUrl":"https://cdn.3dassets.dev/assets/33006/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-break-grenade-launcher-cc271d73","thumbnailUrl":"https://cdn.3dassets.dev/assets/33006/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33006/v1/poster.webp","blurhash":"U56RV_~oIUM|a$IVIBR*004oxt%e%L?a?axu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":927796,"triangles":31080,"vertices":45793,"meshes":9,"materials":7,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.03200048775619542,0.0000033885439853914567,-0.33750253033515853],"max":[0.03200048775619542,0.29350000619888306,0.3374999922215939]},"sizeMeters":[0.064,0.293,0.675],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:42.556Z","updatedAt":"2026-09-08T16:48:42.690Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33006/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BreakGrenadeLauncherMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33006/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33006/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33006/v1/model.glb\" alt=\"Break Grenade Launcher (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33006/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33006/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33008","slug":"mega-weapon-pack-underbarrel-grenade-launcher-c18eda51","title":"Underbarrel Grenade Launcher (Mega Weapon Pack)","summary":"A single shot underbarrel grenade launcher whose ribbed barrel slides forward to load, with its own trigger, grip and ladder sight, mounting under a host weapon on an underbarrel rail. Premium modern game asset for shooter and survival projects.","description":"A single shot underbarrel grenade launcher whose ribbed barrel slides forward to load, with its own trigger, grip and ladder sight, mounting under a host weapon on an underbarrel rail. Dimensions 0.061 x 0.109 x 0.320 m (X x Y x Z). Origin at the footprint centre with the grip toe on y = 0; the mount port is the top face of the clamp block; metre units, +Y up, muzzle and point toward +Z. Named pivots: pump at (0, 0.0612, -0.1). Connectors: mount underbarrel at (0, 0.0722, -0.03) facing +Y; muzzle muzzle at (0, 0.0612, 0.16) facing +Z. The barrel slides forward along the bore on its own node to load. The latch, the trigger linkage and the safety are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-underbarrel-grenade-launcher-c18eda51","cdnUrl":"https://cdn.3dassets.dev/assets/33008/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-underbarrel-grenade-launcher-c18eda51","thumbnailUrl":"https://cdn.3dassets.dev/assets/33008/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33008/v1/poster.webp","blurhash":"U58z}W-p4V-._24pD*-:004o.6xu8{_L_LIW","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":304584,"triangles":10296,"vertices":14732,"meshes":7,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.030279243073194007,8.053415492953464e-7,-0.1599999964237213],"max":[0.030279243073194007,0.10881579447336201,0.1599999948963523]},"sizeMeters":[0.061,0.109,0.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:42.029Z","updatedAt":"2026-09-08T16:48:42.127Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33008/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function UnderbarrelGrenadeLauncherMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33008/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33008/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33008/v1/model.glb\" alt=\"Underbarrel Grenade Launcher (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33008/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33008/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33009","slug":"mega-weapon-pack-frag-grenade-849f1c2c","title":"Fragmentation Grenade (Mega Weapon Pack)","summary":"A segmented body fragmentation hand grenade with cast grooves round and up the body, a knurled fuze, a striker lever and a pull ring on a split pin. Premium modern game asset for shooter and survival projects.","description":"A segmented body fragmentation hand grenade with cast grooves round and up the body, a knurled fuze, a striker lever and a pull ring on a split pin. Dimensions 0.069 x 0.113 x 0.061 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the striker lever, the pull ring and the split pin are modelled as separate solids but do not move, because a released lever and a pulled pin are two states of one linkage rather than a rigid node transform. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-frag-grenade-849f1c2c","cdnUrl":"https://cdn.3dassets.dev/assets/33009/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-frag-grenade-849f1c2c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33009/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33009/v1/poster.webp","blurhash":"U89*71%M00DkeVofSwRQ00Rj?toy?[j]Dkj=","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":291104,"triangles":13224,"vertices":13052,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.03424999862909317,0,-0.0305600527658441],"max":[0.034250317139434765,0.11247175186872482,0.0305600527658441]},"sizeMeters":[0.069,0.112,0.061],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:43.639Z","updatedAt":"2026-09-08T16:48:43.759Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33009/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FragmentationGrenadeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33009/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33009/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33009/v1/model.glb\" alt=\"Fragmentation Grenade (Mega Weapon Pack)\" 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/33009/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/33009/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33010","slug":"mega-weapon-pack-smoke-grenade-f3dc76ab","title":"Smoke Grenade (Mega Weapon Pack)","summary":"A cylindrical smoke grenade with emission ports round the top and bottom of the can, three rolled bands, a knurled fuze and a pull ring. Premium modern game asset for shooter and survival projects.","description":"A cylindrical smoke grenade with emission ports round the top and bottom of the can, three rolled bands, a knurled fuze and a pull ring. Dimensions 0.065 x 0.146 x 0.056 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the striker lever, the pull ring and the split pin are modelled as separate solids but do not move, because a released lever and a pulled pin are two states of one linkage rather than a rigid node transform. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-smoke-grenade-f3dc76ab","cdnUrl":"https://cdn.3dassets.dev/assets/33010/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-smoke-grenade-f3dc76ab","thumbnailUrl":"https://cdn.3dassets.dev/assets/33010/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33010/v1/poster.webp","blurhash":"U59HOb?u0000wQs;X2M{00RR_Lx@yVoyMxRQ","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":241892,"triangles":10148,"vertices":11078,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.032249998301267624,0,-0.028197912119526117],"max":[0.032248183235321914,0.1464717537164688,0.028197912119526117]},"sizeMeters":[0.064,0.146,0.056],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:43.891Z","updatedAt":"2026-09-08T16:48:44.003Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33010/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmokeGrenadeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33010/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33010/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33010/v1/model.glb\" alt=\"Smoke Grenade (Mega Weapon Pack)\" 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/33010/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/33010/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33011","slug":"mega-weapon-pack-flash-grenade-f6a95628","title":"Flash Grenade (Mega Weapon Pack)","summary":"A stun grenade in a ported alloy can with eight blast ports, a heavy cage body and a knurled fuze with a striker lever. Premium modern game asset for shooter and survival projects.","description":"A stun grenade in a ported alloy can with eight blast ports, a heavy cage body and a knurled fuze with a striker lever. Dimensions 0.060 x 0.135 x 0.053 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the striker lever, the pull ring and the split pin are modelled as separate solids but do not move, because a released lever and a pulled pin are two states of one linkage rather than a rigid node transform. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-flash-grenade-f6a95628","cdnUrl":"https://cdn.3dassets.dev/assets/33011/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-flash-grenade-f6a95628","thumbnailUrl":"https://cdn.3dassets.dev/assets/33011/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33011/v1/poster.webp","blurhash":"U47-A^-;000K%$t8I9Mx0zkD^QVs}UxaAbE2","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":246376,"triangles":10340,"vertices":11286,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.030249999836087227,0,-0.026502196476834713],"max":[0.030249987190110062,0.13447174429893494,0.026502196476834713]},"sizeMeters":[0.06,0.134,0.053],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:44.211Z","updatedAt":"2026-09-08T16:48:44.325Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33011/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlashGrenadeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33011/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33011/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33011/v1/model.glb\" alt=\"Flash Grenade (Mega Weapon Pack)\" 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/33011/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/33011/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33012","slug":"mega-weapon-pack-incendiary-grenade-b64770f0","title":"Incendiary Grenade (Mega Weapon Pack)","summary":"An incendiary hand grenade in a plain steel can with a rolled seam, a warning band and a standard lever fuze. Premium modern game asset for shooter and survival projects.","description":"An incendiary hand grenade in a plain steel can with a rolled seam, a warning band and a standard lever fuze. Dimensions 0.067 x 0.137 x 0.058 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the striker lever, the pull ring and the split pin are modelled as separate solids but do not move, because a released lever and a pulled pin are two states of one linkage rather than a rigid node transform. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-incendiary-grenade-b64770f0","cdnUrl":"https://cdn.3dassets.dev/assets/33012/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-incendiary-grenade-b64770f0","thumbnailUrl":"https://cdn.3dassets.dev/assets/33012/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33012/v1/poster.webp","blurhash":"U46tj;xu00IU%$t7H?Mx0}a|=HRj}ss:9]R*","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":227664,"triangles":9572,"vertices":10454,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.033250000327825546,0,-0.02919681545432357],"max":[0.033249854089683326,0.13647174835205078,0.02919681545432357]},"sizeMeters":[0.066,0.136,0.058],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:43.194Z","updatedAt":"2026-09-08T16:48:43.300Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33012/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IncendiaryGrenadeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33012/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33012/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33012/v1/model.glb\" alt=\"Incendiary Grenade (Mega Weapon Pack)\" 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/33012/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/33012/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33013","slug":"mega-weapon-pack-gas-grenade-609c5546","title":"Gas Grenade (Mega Weapon Pack)","summary":"A riot gas grenade with ten emission ports, a ribbed can body, a stencil band and a lever fuze with a pull ring. Premium modern game asset for shooter and survival projects.","description":"A riot gas grenade with ten emission ports, a ribbed can body, a stencil band and a lever fuze with a pull ring. Dimensions 0.065 x 0.137 x 0.056 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the striker lever, the pull ring and the split pin are modelled as separate solids but do not move, because a released lever and a pulled pin are two states of one linkage rather than a rigid node transform. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-gas-grenade-609c5546","cdnUrl":"https://cdn.3dassets.dev/assets/33013/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-gas-grenade-609c5546","thumbnailUrl":"https://cdn.3dassets.dev/assets/33013/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33013/v1/poster.webp","blurhash":"U37UYZ_30000~Xxu4-E000M|?vx[yUozICMy","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":250836,"triangles":10532,"vertices":11494,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.032249998301267624,0,-0.02820069125089224],"max":[0.03224912436000481,0.13647174835205078,0.02820069125089224]},"sizeMeters":[0.064,0.136,0.056],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:44.795Z","updatedAt":"2026-09-08T16:48:44.924Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33013/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GasGrenadeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33013/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33013/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33013/v1/model.glb\" alt=\"Gas Grenade (Mega Weapon Pack)\" 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/33013/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/33013/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33014","slug":"mega-weapon-pack-stick-grenade-baa2b8f1","title":"Stick Grenade (Mega Weapon Pack)","summary":"A stick hand grenade: a banded steel can head on a turned wooden handle with a screwed base cap and a pull cord ring hanging out of it. Premium modern game asset for shooter and survival projects.","description":"A stick hand grenade: a banded steel can head on a turned wooden handle with a screwed base cap and a pull cord ring hanging out of it. Dimensions 0.064 x 0.302 x 0.060 m (X x Y x Z). Origin at the base of the handle, standing on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the pull cord, the friction igniter and the base cap are modelled and do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-stick-grenade-baa2b8f1","cdnUrl":"https://cdn.3dassets.dev/assets/33014/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-stick-grenade-baa2b8f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/33014/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33014/v1/poster.webp","blurhash":"U36t,bxt009b.lbHDPnjNGWVs.oLr{f8SvkA","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":258796,"triangles":8912,"vertices":12547,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.03209993495217719,0,-0.030198067826416642],"max":[0.03209765284021577,0.3020000159740448,0.030198067826416642]},"sizeMeters":[0.064,0.302,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:44.987Z","updatedAt":"2026-09-08T16:48:45.123Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33014/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StickGrenadeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33014/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33014/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33014/v1/model.glb\" alt=\"Stick Grenade (Mega Weapon Pack)\" 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/33014/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/33014/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33016","slug":"mega-weapon-pack-pressure-mine-dd52d89f","title":"Pressure Mine (Mega Weapon Pack)","summary":"A pressure operated anti personnel mine: a banded drum body with a domed pressure plate, a fuze well, a carry ring and an arming indicator on top. Premium modern game asset for shooter and survival projects.","description":"A pressure operated anti personnel mine: a banded drum body with a domed pressure plate, a fuze well, a carry ring and an arming indicator on top. Dimensions 0.159 x 0.096 x 0.155 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the pressure plate, the fuze and the arming indicator are separate solids but do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pressure-mine-dd52d89f","cdnUrl":"https://cdn.3dassets.dev/assets/33016/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pressure-mine-dd52d89f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33016/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33016/v1/poster.webp","blurhash":"U4AJ+g?I004nv5a%B-Ri00Rj^*xuUWot:me@","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":249104,"triangles":10892,"vertices":11254,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.07930000126361847,0.0000016575731878465394,-0.07759623830425119],"max":[0.07930000126361847,0.09599997173156541,0.07759623830425119]},"sizeMeters":[0.159,0.096,0.155],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:44.422Z","updatedAt":"2026-09-08T16:48:44.564Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33016/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PressureMineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33016/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33016/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33016/v1/model.glb\" alt=\"Pressure Mine (Mega Weapon Pack)\" 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/33016/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/33016/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33015","slug":"mega-weapon-pack-directional-mine-e21a26bd","title":"Directional Mine (Mega Weapon Pack)","summary":"A directional fragmentation mine: a curved case on scissor legs, with a peep sight on the top edge, two detonator wells and a stencilled face. Premium modern game asset for shooter and survival projects.","description":"A directional fragmentation mine: a curved case on scissor legs, with a peep sight on the top edge, two detonator wells and a stencilled face. Dimensions 0.226 x 0.176 x 0.187 m (X x Y x Z). Origin at the centre of the leg footprint, spikes on y = 0; metre units, +Y up, muzzle and point toward +Z. Static ordnance: the legs, the sight and the detonator wells are modelled and do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-directional-mine-e21a26bd","cdnUrl":"https://cdn.3dassets.dev/assets/33015/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-directional-mine-e21a26bd","thumbnailUrl":"https://cdn.3dassets.dev/assets/33015/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33015/v1/poster.webp","blurhash":"U89tc5t300NG~p-.D*D+00%L-:M|4VIV%Mxt","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":292152,"triangles":8588,"vertices":14909,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.11299999803304672,-0.0000035800975439481686,-0.09343958698402054],"max":[0.11299999803304672,0.17619875455318665,0.09343958698402054]},"sizeMeters":[0.226,0.176,0.187],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:45.413Z","updatedAt":"2026-09-08T16:48:45.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33015/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DirectionalMineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33015/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33015/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33015/v1/model.glb\" alt=\"Directional Mine (Mega Weapon Pack)\" 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/33015/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/33015/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33017","slug":"mega-weapon-pack-demolition-charge-4ec4de14","title":"Demolition Charge (Mega Weapon Pack)","summary":"A demolition charge: four taped blocks with a detonator well, a firing wire run out to an olive firing box with an arming lamp, and a clacker handle that presses down and springs back. Premium modern game asset for shooter and survival projects.","description":"A demolition charge: four taped blocks with a detonator well, a firing wire run out to an olive firing box with an arming lamp, and a clacker handle that presses down and springs back. Dimensions 0.475 x 0.110 x 0.302 m (X x Y x Z). Origin at the footprint centre of the whole set, everything resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: clacker at (0.1875, 0.084, 0.069). The clacker handle rocks on its own pivot. The wire, the detonator and the terminals are modelled and static. Rigid node-transform clips trigger drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-demolition-charge-4ec4de14","cdnUrl":"https://cdn.3dassets.dev/assets/33017/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-demolition-charge-4ec4de14","thumbnailUrl":"https://cdn.3dassets.dev/assets/33017/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33017/v1/poster.webp","blurhash":"U88gg9%200NFr_xtoxIV00Io~V%LE1E2sq-:","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":337496,"triangles":12656,"vertices":15856,"meshes":8,"materials":8,"textures":0,"animations":["trigger"],"boundingBox":{"min":[-0.23749999701976776,-0.000004211552909298699,-0.15100182611492696],"max":[0.23749999701976776,0.11000170090687923,0.15099999507516626]},"sizeMeters":[0.475,0.11,0.302],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:44.941Z","updatedAt":"2026-09-08T16:48:45.052Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33017/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function DemolitionChargeMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33017/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33017/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33017/v1/model.glb\" alt=\"Demolition Charge (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33017/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33017/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33018","slug":"mega-weapon-pack-firebomb-2a19e5e6","title":"Improvised Firebomb (Mega Weapon Pack)","summary":"An improvised firebomb: a ribbed glass bottle of fuel with a taped neck, a cloth wick hanging out of it and a paper label on the shoulder. Premium modern game asset for shooter and survival projects.","description":"An improvised firebomb: a ribbed glass bottle of fuel with a taped neck, a cloth wick hanging out of it and a paper label on the shoulder. Dimensions 0.084 x 0.311 x 0.101 m (X x Y x Z). Origin at the base of the bottle, standing on y = 0; metre units, +Y up, muzzle and point toward +Z. Static prop: the wick and the tape are separate solids and do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-firebomb-2a19e5e6","cdnUrl":"https://cdn.3dassets.dev/assets/33018/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-firebomb-2a19e5e6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33018/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33018/v1/poster.webp","blurhash":"U9A]d9t700Ip0yja^QW.0ebG}[jG^koy9@Vt","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":168404,"triangles":9132,"vertices":6862,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.04200384412354777,0,-0.05063600162511491],"max":[0.04200384412354777,0.31085947155952454,0.05062951731185497]},"sizeMeters":[0.084,0.311,0.101],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:45.384Z","updatedAt":"2026-09-08T16:48:45.503Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33018/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ImprovisedFirebombMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33018/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33018/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33018/v1/model.glb\" alt=\"Improvised Firebomb (Mega Weapon Pack)\" 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/33018/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/33018/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33019","slug":"mega-weapon-pack-reflex-sight-3c98abcc","title":"Reflex Sight (Mega Weapon Pack)","summary":"A compact reflex sight: an open alloy bridge with a coated glass at a rake, a lit red dot emitter behind it, brightness buttons on the hood and a windage turret. Premium modern game asset for shooter and survival projects.","description":"A compact reflex sight: an open alloy bridge with a coated glass at a rake, a lit red dot emitter behind it, brightness buttons on the hood and a windage turret. Dimensions 0.042 x 0.070 x 0.050 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (0, 0.007, 0) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-reflex-sight-3c98abcc","cdnUrl":"https://cdn.3dassets.dev/assets/33019/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-reflex-sight-3c98abcc","thumbnailUrl":"https://cdn.3dassets.dev/assets/33019/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33019/v1/poster.webp","blurhash":"U26*guRl00%L?dIU9E-;00Ri~qt8Dh%L%gD%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":261464,"triangles":10948,"vertices":11997,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.020999999716877937,0,-0.025000655890660743],"max":[0.020999999716877937,0.06949999928474426,0.025000655890660743]},"sizeMeters":[0.042,0.069,0.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:45.766Z","updatedAt":"2026-09-08T16:48:45.878Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33019/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReflexSightMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33019/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33019/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33019/v1/model.glb\" alt=\"Reflex Sight (Mega Weapon Pack)\" 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/33019/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/33019/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33020","slug":"mega-weapon-pack-holographic-sight-651e7018","title":"Holographic Sight (Mega Weapon Pack)","summary":"A holographic sight with a large square window, a killflash honeycomb over the objective, a lit reticle emitter and control buttons on the housing roof. Premium modern game asset for shooter and survival projects.","description":"A holographic sight with a large square window, a killflash honeycomb over the objective, a lit reticle emitter and control buttons on the housing roof. Dimensions 0.047 x 0.079 x 0.110 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (0, 0.007, 0.01) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-holographic-sight-651e7018","cdnUrl":"https://cdn.3dassets.dev/assets/33020/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-holographic-sight-651e7018","thumbnailUrl":"https://cdn.3dassets.dev/assets/33020/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33020/v1/poster.webp","blurhash":"U47nXnx]00%M?dD$I9-=00I9xtt99E%M%NM|","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":284800,"triangles":11904,"vertices":13094,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.023299508525746623,-0.000002241078457802803,-0.054999999701976776],"max":[0.023299508525746623,0.07900224471434114,0.054999999701976776]},"sizeMeters":[0.047,0.079,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:46.958Z","updatedAt":"2026-09-08T16:48:47.059Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33020/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HolographicSightMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33020/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33020/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33020/v1/model.glb\" alt=\"Holographic Sight (Mega Weapon Pack)\" 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/33020/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/33020/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33021","slug":"mega-weapon-pack-prism-scope-3x-f20eff40","title":"Prism Sight 3x (Mega Weapon Pack)","summary":"A short prism sight at three times magnification, with an etched lit reticle, a sunshade on the objective and knurled elevation and windage turrets. Premium modern game asset for shooter and survival projects.","description":"A short prism sight at three times magnification, with an etched lit reticle, a sunshade on the objective and knurled elevation and windage turrets. Dimensions 0.055 x 0.095 x 0.124 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (-0.006, 0.0215, 0.012) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-prism-scope-3x-f20eff40","cdnUrl":"https://cdn.3dassets.dev/assets/33021/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-prism-scope-3x-f20eff40","thumbnailUrl":"https://cdn.3dassets.dev/assets/33021/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33021/v1/poster.webp","blurhash":"U484lH_300E1_49E4n%g4n9Ft7-;D%x]-;%2","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":317128,"triangles":14764,"vertices":14040,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.02755912916170513,-0.000001599762007666733,-0.06199999898672104],"max":[0.02755912916170513,0.09507896041229108,0.06199999898672104]},"sizeMeters":[0.055,0.095,0.124],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:46.221Z","updatedAt":"2026-09-08T16:48:46.319Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33021/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrismSight3xMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33021/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33021/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33021/v1/model.glb\" alt=\"Prism Sight 3x (Mega Weapon Pack)\" 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/33021/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/33021/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33022","slug":"mega-weapon-pack-scope-4x-81d5c157","title":"Rifle Scope 4x (Mega Weapon Pack)","summary":"A four times rifle scope on a one piece rail mount, with a bell objective, a knurled magnification ring, capped turrets and a rubber eyepiece. Premium modern game asset for shooter and survival projects.","description":"A four times rifle scope on a one piece rail mount, with a bell objective, a knurled magnification ring, capped turrets and a rubber eyepiece. Dimensions 0.060 x 0.103 x 0.240 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (-0.0057, 0.0241, 0) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-scope-4x-81d5c157","cdnUrl":"https://cdn.3dassets.dev/assets/33022/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-scope-4x-81d5c157","thumbnailUrl":"https://cdn.3dassets.dev/assets/33022/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33022/v1/poster.webp","blurhash":"U47UM9bc4n-;~q9FM{%N004n%Moe9Ext%faz","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":296632,"triangles":13956,"vertices":13066,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.02998626600049051,0.0000025328188142312302,-0.11999999731779099],"max":[0.02998626600049051,0.1028216493263953,0.11999999731779099]},"sizeMeters":[0.06,0.103,0.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:47.622Z","updatedAt":"2026-09-08T16:48:47.735Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33022/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RifleScope4xMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33022/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33022/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33022/v1/model.glb\" alt=\"Rifle Scope 4x (Mega Weapon Pack)\" 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/33022/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/33022/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33023","slug":"mega-weapon-pack-scope-8x-ee4e8693","title":"Rifle Scope 8x (Mega Weapon Pack)","summary":"An eight times rifle scope with a large objective, a long sunshade, exposed target turrets and a lit etched reticle. Premium modern game asset for shooter and survival projects.","description":"An eight times rifle scope with a large objective, a long sunshade, exposed target turrets and a lit etched reticle. Dimensions 0.070 x 0.118 x 0.370 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (-0.0048, 0.0294, 0.025) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-scope-8x-ee4e8693","cdnUrl":"https://cdn.3dassets.dev/assets/33023/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-scope-8x-ee4e8693","thumbnailUrl":"https://cdn.3dassets.dev/assets/33023/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33023/v1/poster.webp","blurhash":"U36u04tR00%M~q9FIT-;008_?bxu00-=?cM{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":318032,"triangles":14860,"vertices":14065,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.035140233003911635,-0.000003489811466483167,-0.1850000023841858],"max":[0.035140233003911635,0.11830083407134442,0.1850000023841858]},"sizeMeters":[0.07,0.118,0.37],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:46.818Z","updatedAt":"2026-09-08T16:48:46.914Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33023/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RifleScope8xMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33023/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33023/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33023/v1/model.glb\" alt=\"Rifle Scope 8x (Mega Weapon Pack)\" 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/33023/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/33023/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33024","slug":"mega-weapon-pack-thermal-sight-8b6fda6a","title":"Thermal Sight (Mega Weapon Pack)","summary":"A thermal sight: a sealed polymer housing with a germanium objective lens, a lit display at the eyepiece end and four control buttons on the roof. Premium modern game asset for shooter and survival projects.","description":"A thermal sight: a sealed polymer housing with a germanium objective lens, a lit display at the eyepiece end and four control buttons on the roof. Dimensions 0.058 x 0.076 x 0.142 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (0, 0.007, 0.0019) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-thermal-sight-8b6fda6a","cdnUrl":"https://cdn.3dassets.dev/assets/33024/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-thermal-sight-8b6fda6a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33024/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33024/v1/poster.webp","blurhash":"U76*s}_Mx[ofxbMyV[of004UD%a}tkyCkVj]","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":251072,"triangles":8992,"vertices":12027,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.028999078984496777,0.0000029593061734306536,-0.07109999656677246],"max":[0.028999078984496777,0.07639703757054318,0.07109957274636049]},"sizeMeters":[0.058,0.076,0.142],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:47.868Z","updatedAt":"2026-09-08T16:48:47.974Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33024/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThermalSightMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33024/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33024/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33024/v1/model.glb\" alt=\"Thermal Sight (Mega Weapon Pack)\" 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/33024/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/33024/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33025","slug":"mega-weapon-pack-night-sight-086deb27","title":"Night Vision Sight (Mega Weapon Pack)","summary":"A night vision sight with a large objective under a sunshade, a green lit reticle, a battery cap turret and a knurled focus ring. Premium modern game asset for shooter and survival projects.","description":"A night vision sight with a large objective under a sunshade, a green lit reticle, a battery cap turret and a knurled focus ring. Dimensions 0.067 x 0.113 x 0.210 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (-0.0051, 0.0276, 0.015) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-night-sight-086deb27","cdnUrl":"https://cdn.3dassets.dev/assets/33025/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-night-sight-086deb27","thumbnailUrl":"https://cdn.3dassets.dev/assets/33025/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33025/v1/poster.webp","blurhash":"U67w~S%g9Ebb_NIAIAx]4T9Exa%M9Fj]%Nt7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":318072,"triangles":14860,"vertices":14065,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.03343196031158996,-0.0000027760098850540538,-0.10500000417232513],"max":[0.03343196031158996,0.11313973609783842,0.10500000417232513]},"sizeMeters":[0.067,0.113,0.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:48.159Z","updatedAt":"2026-09-08T16:48:48.261Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33025/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NightVisionSightMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33025/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33025/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33025/v1/model.glb\" alt=\"Night Vision Sight (Mega Weapon Pack)\" 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/33025/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/33025/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33026","slug":"mega-weapon-pack-canted-reflex-sight-9041982c","title":"Canted Reflex Sight (Mega Weapon Pack)","summary":"A miniature reflex sight on a forty five degree offset mount, for a shooter who rolls the weapon rather than swapping optics. The dot emitter is lit. Premium modern game asset for shooter and survival projects.","description":"A miniature reflex sight on a forty five degree offset mount, for a shooter who rolls the weapon rather than swapping optics. The dot emitter is lit. Dimensions 0.072 x 0.059 x 0.042 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the model rests on the cheeks of the clamp at y = 0; metre units, +Y up, muzzle and point toward +Z. Connectors: mount optic-rail at (0.0062, 0.007, 0) facing -Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-canted-reflex-sight-9041982c","cdnUrl":"https://cdn.3dassets.dev/assets/33026/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-canted-reflex-sight-9041982c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33026/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33026/v1/poster.webp","blurhash":"U37w{J_300D%-;?bWB9F00V@_4Rj%39Fa{-=","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":281872,"triangles":11792,"vertices":12949,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.03582875058054924,-9.892303915529088e-7,-0.021000609871212765],"max":[0.03582875058054924,0.05890262702297883,0.021000609871212765]},"sizeMeters":[0.072,0.059,0.042],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:48.203Z","updatedAt":"2026-09-08T16:48:48.364Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33026/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CantedReflexSightMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33026/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33026/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33026/v1/model.glb\" alt=\"Canted Reflex Sight (Mega Weapon Pack)\" 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/33026/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/33026/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33027","slug":"mega-weapon-pack-pistol-suppressor-9c06d044","title":"Pistol Suppressor (Mega Weapon Pack)","summary":"A pistol suppressor: a ribbed alloy can with a knurled mounting collar, threads inside it and a stippled body panel each side. Premium modern game asset for shooter and survival projects.","description":"A pistol suppressor: a ribbed alloy can with a knurled mounting collar, threads inside it and a stippled body panel each side. Dimensions 0.039 x 0.039 x 0.154 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0194, -0.077) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pistol-suppressor-9c06d044","cdnUrl":"https://cdn.3dassets.dev/assets/33027/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pistol-suppressor-9c06d044","thumbnailUrl":"https://cdn.3dassets.dev/assets/33027/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33027/v1/poster.webp","blurhash":"U36RP]xv00WB%NMyRP%M00Mx~qt7I9xux]M{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":266496,"triangles":9840,"vertices":12783,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.01937217286445691,-0.0000021720550258327864,-0.07699999958276749],"max":[0.01937217286445691,0.038742173673887985,0.07819999754428864]},"sizeMeters":[0.039,0.039,0.155],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:47.607Z","updatedAt":"2026-09-08T16:48:47.733Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33027/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PistolSuppressorMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33027/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33027/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33027/v1/model.glb\" alt=\"Pistol Suppressor (Mega Weapon Pack)\" 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/33027/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/33027/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33028","slug":"mega-weapon-pack-smg-suppressor-1c69acee","title":"SMG Suppressor (Mega Weapon Pack)","summary":"A submachine gun suppressor, longer and heavier than the pistol can, with six body ribs and a locking collar. Premium modern game asset for shooter and survival projects.","description":"A submachine gun suppressor, longer and heavier than the pistol can, with six body ribs and a locking collar. Dimensions 0.043 x 0.043 x 0.194 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0214, -0.097) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-smg-suppressor-1c69acee","cdnUrl":"https://cdn.3dassets.dev/assets/33028/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-smg-suppressor-1c69acee","thumbnailUrl":"https://cdn.3dassets.dev/assets/33028/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33028/v1/poster.webp","blurhash":"U26a@u?v00Mx-;D$M{-;004T~q%N4n-=-=E0","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":266472,"triangles":9840,"vertices":12783,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.02138639525205254,0.0000036051061713740506,-0.09700000286102295],"max":[0.02138639525205254,0.042776395610276456,0.0982000008225441]},"sizeMeters":[0.043,0.043,0.195],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:49.053Z","updatedAt":"2026-09-08T16:48:49.155Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33028/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SMGSuppressorMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33028/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33028/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33028/v1/model.glb\" alt=\"SMG Suppressor (Mega Weapon Pack)\" 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/33028/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/33028/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33029","slug":"mega-weapon-pack-rifle-suppressor-d50d1bc5","title":"Rifle Suppressor (Mega Weapon Pack)","summary":"A rifle suppressor with a heat resistant ribbed body, a quick detach collar over its threads and a recessed muzzle crown. Premium modern game asset for shooter and survival projects.","description":"A rifle suppressor with a heat resistant ribbed body, a quick detach collar over its threads and a recessed muzzle crown. Dimensions 0.047 x 0.047 x 0.224 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0234, -0.112) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rifle-suppressor-d50d1bc5","cdnUrl":"https://cdn.3dassets.dev/assets/33029/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rifle-suppressor-d50d1bc5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33029/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33029/v1/poster.webp","blurhash":"U36[2Jt800WBtSIUae%M00M__4ozMw%NbcMx","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":266488,"triangles":9840,"vertices":12783,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.02340864945239106,0.0000013504546256953853,-0.1120000034570694],"max":[0.02340864945239106,0.04681864935940781,0.11320000141859055]},"sizeMeters":[0.047,0.047,0.225],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:49.604Z","updatedAt":"2026-09-08T16:48:49.704Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33029/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RifleSuppressorMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33029/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33029/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33029/v1/model.glb\" alt=\"Rifle Suppressor (Mega Weapon Pack)\" 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/33029/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/33029/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33030","slug":"mega-weapon-pack-sniper-suppressor-21f93b8a","title":"Sniper Suppressor (Mega Weapon Pack)","summary":"A long precision suppressor for a bolt action rifle, with a heavy ribbed body, a knurled collar and a bored crown. Premium modern game asset for shooter and survival projects.","description":"A long precision suppressor for a bolt action rifle, with a heavy ribbed body, a knurled collar and a bored crown. Dimensions 0.051 x 0.051 x 0.284 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0254, -0.142) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-sniper-suppressor-21f93b8a","cdnUrl":"https://cdn.3dassets.dev/assets/33030/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-sniper-suppressor-21f93b8a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33030/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33030/v1/poster.webp","blurhash":"U26H$Hj@00xu%N9FRi-=00IU~qa$I9_3%N9E","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":266496,"triangles":9840,"vertices":12783,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.02543273413625516,-0.0000027346804455652407,-0.1420000046491623],"max":[0.02543273413625516,0.05086273359206475,0.14319999516010284]},"sizeMeters":[0.051,0.051,0.285],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:49.773Z","updatedAt":"2026-09-08T16:48:49.901Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33030/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SniperSuppressorMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33030/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33030/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33030/v1/model.glb\" alt=\"Sniper Suppressor (Mega Weapon Pack)\" 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/33030/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/33030/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33032","slug":"mega-weapon-pack-compensator-a633d5a9","title":"Compensator (Mega Weapon Pack)","summary":"A three port compensator with real gas ports cut top and both sides between machined baffle rings. Premium modern game asset for shooter and survival projects.","description":"A three port compensator with real gas ports cut top and both sides between machined baffle rings. Dimensions 0.035 x 0.034 x 0.094 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0163, -0.047) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-compensator-a633d5a9","cdnUrl":"https://cdn.3dassets.dev/assets/33032/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-compensator-a633d5a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/33032/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33032/v1/poster.webp","blurhash":"U25}s=~q00ITx^9F9F%L009D_4-=9D-:_3Rn","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":175960,"triangles":9392,"vertices":7295,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.017502669978363982,0,-0.04699905599287343],"max":[0.017502669978363982,0.03383755813712828,0.04699999839067459]},"sizeMeters":[0.035,0.034,0.094],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:49.430Z","updatedAt":"2026-09-08T16:48:49.540Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33032/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CompensatorMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33032/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33032/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33032/v1/model.glb\" alt=\"Compensator (Mega Weapon Pack)\" 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/33032/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/33032/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33031","slug":"mega-weapon-pack-muzzle-brake-7b3a413e","title":"Muzzle Brake (Mega Weapon Pack)","summary":"A heavy two chamber muzzle brake with wide side ports, a machined baffle between them and a knurled locking collar. Premium modern game asset for shooter and survival projects.","description":"A heavy two chamber muzzle brake with wide side ports, a machined baffle between them and a knurled locking collar. Dimensions 0.043 x 0.041 x 0.110 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0194, -0.055) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-muzzle-brake-7b3a413e","cdnUrl":"https://cdn.3dassets.dev/assets/33031/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-muzzle-brake-7b3a413e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33031/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33031/v1/poster.webp","blurhash":"U268Kq~q00R$xwD$9FkC008__N%N4mx]?voz","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":155688,"triangles":8284,"vertices":6443,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.021250007891047543,0,-0.05499903237291444],"max":[0.021250007891047543,0.04062028476045292,0.054999999701976776]},"sizeMeters":[0.043,0.041,0.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:50.413Z","updatedAt":"2026-09-08T16:48:50.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33031/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MuzzleBrakeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33031/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33031/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33031/v1/model.glb\" alt=\"Muzzle Brake (Mega Weapon Pack)\" 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/33031/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/33031/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33033","slug":"mega-weapon-pack-flash-hider-b06f9d4c","title":"Flash Hider (Mega Weapon Pack)","summary":"A four prong flash hider with open slots between the tines and a knurled mounting collar behind them. Premium modern game asset for shooter and survival projects.","description":"A four prong flash hider with open slots between the tines and a knurled mounting collar behind them. Dimensions 0.031 x 0.031 x 0.084 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the rear face of the mounting collar; metre units, +Y up, muzzle and point toward +Z. Connectors: mount muzzle at (0, 0.0153, -0.042) facing -Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-flash-hider-b06f9d4c","cdnUrl":"https://cdn.3dassets.dev/assets/33033/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-flash-hider-b06f9d4c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33033/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33033/v1/poster.webp","blurhash":"U36*j#~q00DiozD%IUxa009F?bxuDis:?bx]","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":115740,"triangles":6160,"vertices":4743,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.015329999849200249,0,-0.0420007875044969],"max":[0.015329999849200249,0.030659999698400497,0.041999999433755875]},"sizeMeters":[0.031,0.031,0.084],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:50.608Z","updatedAt":"2026-09-08T16:48:50.757Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33033/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlashHiderMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33033/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33033/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33033/v1/model.glb\" alt=\"Flash Hider (Mega Weapon Pack)\" 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/33033/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/33033/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33034","slug":"mega-weapon-pack-vertical-grip-10d64d5f","title":"Vertical Fore Grip (Mega Weapon Pack)","summary":"A vertical fore grip: a ribbed polymer column with a screw off base cap over a storage cavity, a stippled panel each side and a rail clamp on top. Premium modern game asset for shooter and survival projects.","description":"A vertical fore grip: a ribbed polymer column with a screw off base cap over a storage cavity, a stippled panel each side and a rail clamp on top. Dimensions 0.043 x 0.210 x 0.050 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the body hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: mount underbarrel at (0, 0.124, 0) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-vertical-grip-10d64d5f","cdnUrl":"https://cdn.3dassets.dev/assets/33034/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-vertical-grip-10d64d5f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33034/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33034/v1/poster.webp","blurhash":"U02iCKo$00M]?bkDITaJ9Et3-=M%9Et3%NN1","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":216284,"triangles":8428,"vertices":10176,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.021700492210302617,0,-0.026200000196695328],"max":[0.021700492210302617,0.21000000834465027,0.02500000037252903]},"sizeMeters":[0.043,0.21,0.051],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:49.918Z","updatedAt":"2026-09-08T16:48:50.034Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33034/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VerticalForeGripMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33034/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33034/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33034/v1/model.glb\" alt=\"Vertical Fore Grip (Mega Weapon Pack)\" 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/33034/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/33034/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33035","slug":"mega-weapon-pack-angled-grip-a80a8891","title":"Angled Fore Grip (Mega Weapon Pack)","summary":"An angled fore grip that rakes forward under the handguard, with a stippled front face, finger stops along the back and a rail clamp on top. Premium modern game asset for shooter and survival projects.","description":"An angled fore grip that rakes forward under the handguard, with a stippled front face, finger stops along the back and a rail clamp on top. Dimensions 0.040 x 0.097 x 0.077 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the body hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: mount underbarrel at (0, 0.09, -0.0137) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-angled-grip-a80a8891","cdnUrl":"https://cdn.3dassets.dev/assets/33035/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-angled-grip-a80a8891","thumbnailUrl":"https://cdn.3dassets.dev/assets/33035/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33035/v1/poster.webp","blurhash":"U75}s-ax4Tj]_4M{9F%M?bM{IAxu-;RjM{xu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":159120,"triangles":5504,"vertices":7699,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.019999999552965164,0,-0.03872839733958244],"max":[0.019999999552965164,0.0969989567224507,0.038728100771992416]},"sizeMeters":[0.04,0.097,0.077],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:51.081Z","updatedAt":"2026-09-08T16:48:51.196Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33035/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AngledForeGripMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33035/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33035/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33035/v1/model.glb\" alt=\"Angled Fore Grip (Mega Weapon Pack)\" 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/33035/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/33035/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33036","slug":"mega-weapon-pack-hand-stop-ceffe05e","title":"Hand Stop (Mega Weapon Pack)","summary":"A low hand stop with a stippled face, a lug that keys into the rail slot and a single cross bolt. Premium modern game asset for shooter and survival projects.","description":"A low hand stop with a stippled face, a lug that keys into the rail slot and a single cross bolt. Dimensions 0.040 x 0.043 x 0.034 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the body hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: mount underbarrel at (0, 0.0358, -0.0008) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-hand-stop-ceffe05e","cdnUrl":"https://cdn.3dassets.dev/assets/33036/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-hand-stop-ceffe05e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33036/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33036/v1/poster.webp","blurhash":"U97UPHx[4TM{_4t7D$Rkt7ofR%RkITWBxuay","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":82868,"triangles":3208,"vertices":3797,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.019999999552965164,0,-0.01684677627975734],"max":[0.019999999552965164,0.04281351172310137,0.01684677627975734]},"sizeMeters":[0.04,0.043,0.034],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:50.816Z","updatedAt":"2026-09-08T16:48:50.930Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33036/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HandStopMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33036/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33036/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33036/v1/model.glb\" alt=\"Hand Stop (Mega Weapon Pack)\" 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/33036/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/33036/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33037","slug":"mega-weapon-pack-weapon-light-af76efed","title":"Weapon Light (Mega Weapon Pack)","summary":"A weapon light: a knurled alloy body with a lit reflector lens behind a crenellated bezel, a tail cap switch and a pressure pad lead running back from it. Premium modern game asset for shooter and survival projects.","description":"A weapon light: a knurled alloy body with a lit reflector lens behind a crenellated bezel, a tail cap switch and a pressure pad lead running back from it. Dimensions 0.044 x 0.094 x 0.152 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the body hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: mount underbarrel at (0, 0.072, 0.0295) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-weapon-light-af76efed","cdnUrl":"https://cdn.3dassets.dev/assets/33037/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-weapon-light-af76efed","thumbnailUrl":"https://cdn.3dassets.dev/assets/33037/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33037/v1/poster.webp","blurhash":"U56kYM~qD%M_?bofD%Ri009Eofoz4nfk?ctR","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":125604,"triangles":6032,"vertices":5296,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.021999945830457474,0,-0.07601604915439772],"max":[0.021999945830457474,0.09399663156957079,0.07601597905158997]},"sizeMeters":[0.044,0.094,0.152],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:51.157Z","updatedAt":"2026-09-08T16:48:51.261Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33037/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeaponLightMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33037/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33037/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33037/v1/model.glb\" alt=\"Weapon Light (Mega Weapon Pack)\" 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/33037/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/33037/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33038","slug":"mega-weapon-pack-laser-module-0ba8bb81","title":"Laser Module (Mega Weapon Pack)","summary":"A laser module: a boxy alloy housing with a lit emitter aperture, two windage and elevation screws, a mode switch and a rail clamp on its side. Premium modern game asset for shooter and survival projects.","description":"A laser module: a boxy alloy housing with a lit emitter aperture, two windage and elevation screws, a mode switch and a rail clamp on its side. Dimensions 0.040 x 0.067 x 0.084 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the body hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: mount side-rail at (0, 0.0599, -0.0047) facing +X. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-laser-module-0ba8bb81","cdnUrl":"https://cdn.3dassets.dev/assets/33038/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-laser-module-0ba8bb81","thumbnailUrl":"https://cdn.3dassets.dev/assets/33038/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33038/v1/poster.webp","blurhash":"U48E3w-p00D%?wNG9Ead9FM{S2%Mi^smf7x]","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":226420,"triangles":9568,"vertices":10328,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.020000061746110857,-0.0000014984873640891405,-0.0421999990940094],"max":[0.020000061746110857,0.06693483236111286,0.0421999990940094]},"sizeMeters":[0.04,0.067,0.084],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:52.372Z","updatedAt":"2026-09-08T16:48:52.507Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33038/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LaserModuleMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33038/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33038/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33038/v1/model.glb\" alt=\"Laser Module (Mega Weapon Pack)\" 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/33038/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/33038/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33039","slug":"mega-weapon-pack-light-laser-unit-a74b4fb9","title":"Light And Laser Unit (Mega Weapon Pack)","summary":"A combined light and laser unit: a lit lamp head beside a lit laser aperture in one housing, with a mode selector, a battery cap and a rail clamp on top. Premium modern game asset for shooter and survival projects.","description":"A combined light and laser unit: a lit lamp head beside a lit laser aperture in one housing, with a mode selector, a battery cap and a rail clamp on top. Dimensions 0.056 x 0.072 x 0.089 m (X x Y x Z). Origin at the rail clamp face, which is the `mount` port; the body hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: mount underbarrel at (0.0003, 0.065, -0.0015) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-light-laser-unit-a74b4fb9","cdnUrl":"https://cdn.3dassets.dev/assets/33039/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-light-laser-unit-a74b4fb9","thumbnailUrl":"https://cdn.3dassets.dev/assets/33039/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33039/v1/poster.webp","blurhash":"U49@S8~q00bv?wM|9EV@00004n?H-l?G%gx]","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":218340,"triangles":8536,"vertices":10149,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.028066294896452605,-0.0000021614657969223905,-0.04450000077486038],"max":[0.028065307249369117,0.07196216364971111,0.04450017160092793]},"sizeMeters":[0.056,0.072,0.089],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:52.567Z","updatedAt":"2026-09-08T16:48:52.908Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33039/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LightAndLaserUnitMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33039/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33039/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33039/v1/model.glb\" alt=\"Light And Laser Unit (Mega Weapon Pack)\" 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/33039/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/33039/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33040","slug":"mega-weapon-pack-fixed-stock-dcaf1c35","title":"Fixed Stock (Mega Weapon Pack)","summary":"A one piece fixed polymer stock with a raised cheek comb, a rubber butt pad, chequered panels and a sling loop under the toe. Premium modern game asset for shooter and survival projects.","description":"A one piece fixed polymer stock with a raised cheek comb, a rubber butt pad, chequered panels and a sling loop under the toe. Dimensions 0.050 x 0.099 x 0.242 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the receiver face of the collar or hinge block; metre units, +Y up, muzzle and point toward +Z. Connectors: mount stock at (0, 0.0586, 0.1212) facing +Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-fixed-stock-dcaf1c35","cdnUrl":"https://cdn.3dassets.dev/assets/33040/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-fixed-stock-dcaf1c35","thumbnailUrl":"https://cdn.3dassets.dev/assets/33040/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33040/v1/poster.webp","blurhash":"U142PC_ND%M{x]D%IU-;4TD%M{RkDiofxut7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":257500,"triangles":9376,"vertices":12346,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.02499893272774046,0.0000066414768079836595,-0.12125000357627869],"max":[0.02499893272774046,0.09862778779918155,0.12125113832406743]},"sizeMeters":[0.05,0.099,0.243],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:52.925Z","updatedAt":"2026-09-08T16:48:53.450Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33040/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FixedStockMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33040/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33040/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33040/v1/model.glb\" alt=\"Fixed Stock (Mega Weapon Pack)\" 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/33040/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/33040/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33041","slug":"mega-weapon-pack-collapsing-stock-a900d0b0","title":"Collapsing Stock (Mega Weapon Pack)","summary":"A collapsing stock on a notched buffer tube, with six length positions cut into the tube, a rubber pad and a release lever under the cheek. Premium modern game asset for shooter and survival projects.","description":"A collapsing stock on a notched buffer tube, with six length positions cut into the tube, a rubber pad and a release lever under the cheek. Dimensions 0.046 x 0.080 x 0.222 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the receiver face of the collar or hinge block; metre units, +Y up, muzzle and point toward +Z. Connectors: mount stock at (0, 0.052, 0.111) facing +Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-collapsing-stock-a900d0b0","cdnUrl":"https://cdn.3dassets.dev/assets/33041/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-collapsing-stock-a900d0b0","thumbnailUrl":"https://cdn.3dassets.dev/assets/33041/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33041/v1/poster.webp","blurhash":"U34xrU~qaKMxW;M{Ris:004nRjt7aKxuxvbb","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":266840,"triangles":9864,"vertices":12744,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.023000641878185162,-7.001532305733749e-7,-0.11100000143051147],"max":[0.023000641878185162,0.08006185273063078,0.11100000143051147]},"sizeMeters":[0.046,0.08,0.222],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:54.000Z","updatedAt":"2026-09-08T16:48:54.531Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33041/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CollapsingStockMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33041/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33041/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33041/v1/model.glb\" alt=\"Collapsing Stock (Mega Weapon Pack)\" 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/33041/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/33041/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33042","slug":"mega-weapon-pack-folding-stock-58a84a80","title":"Folding Stock (Mega Weapon Pack)","summary":"A side folding tubular stock on a hinge block, with twin rods, collar stops along them and a rubber shoulder plate. Premium modern game asset for shooter and survival projects.","description":"A side folding tubular stock on a hinge block, with twin rods, collar stops along them and a rubber shoulder plate. Dimensions 0.050 x 0.098 x 0.250 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the receiver face of the collar or hinge block; metre units, +Y up, muzzle and point toward +Z. Connectors: mount stock at (0, 0.052, 0.125) facing +Z. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-folding-stock-58a84a80","cdnUrl":"https://cdn.3dassets.dev/assets/33042/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-folding-stock-58a84a80","thumbnailUrl":"https://cdn.3dassets.dev/assets/33042/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33042/v1/poster.webp","blurhash":"U03l8Y_N009Z.800D%~q004T-pxu4T-q_4Mx","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":224480,"triangles":7660,"vertices":10977,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.025004748544583632,-0.000005627274454127196,-0.12499878050148747],"max":[0.025004748544583632,0.09799999743700027,0.125]},"sizeMeters":[0.05,0.098,0.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:53.958Z","updatedAt":"2026-09-08T16:48:54.471Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33042/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FoldingStockMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33042/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33042/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33042/v1/model.glb\" alt=\"Folding Stock (Mega Weapon Pack)\" 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/33042/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/33042/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33043","slug":"mega-weapon-pack-pistol-magazine-b4131048","title":"Pistol Magazine (Mega Weapon Pack)","summary":"A standard capacity pistol magazine with feed lips, a proud rear spine, five witness holes a side, a floor plate and a round in the lips. Premium modern game asset for shooter and survival projects.","description":"A standard capacity pistol magazine with feed lips, a proud rear spine, five witness holes a side, a floor plate and a round in the lips. Dimensions 0.024 x 0.133 x 0.038 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the feed lip plane at the top of the magazine; metre units, +Y up, muzzle and point toward +Z. Connectors: mount magazine at (0, 0.1035, 0.0004) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pistol-magazine-b4131048","cdnUrl":"https://cdn.3dassets.dev/assets/33043/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pistol-magazine-b4131048","thumbnailUrl":"https://cdn.3dassets.dev/assets/33043/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33043/v1/poster.webp","blurhash":"U02~Gi-:0001~TxX0ME4=roI9}Ner@WBSLt7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":93928,"triangles":3784,"vertices":4273,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.011997183679508422,0,-0.018948807222239718],"max":[0.011997183679508422,0.1333799958229065,0.018948807222239718]},"sizeMeters":[0.024,0.133,0.038],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:52.521Z","updatedAt":"2026-09-08T16:48:52.643Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33043/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PistolMagazineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33043/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33043/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33043/v1/model.glb\" alt=\"Pistol Magazine (Mega Weapon Pack)\" 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/33043/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/33043/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33044","slug":"mega-weapon-pack-pistol-magazine-extended-61005ea4","title":"Extended Pistol Magazine (Mega Weapon Pack)","summary":"An extended pistol magazine with a longer body, five witness holes a side and a stippled base extension under the floor plate. Premium modern game asset for shooter and survival projects.","description":"An extended pistol magazine with a longer body, five witness holes a side and a stippled base extension under the floor plate. Dimensions 0.024 x 0.185 x 0.038 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the feed lip plane at the top of the magazine; metre units, +Y up, muzzle and point toward +Z. Connectors: mount magazine at (0, 0.1555, 0.0004) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pistol-magazine-extended-61005ea4","cdnUrl":"https://cdn.3dassets.dev/assets/33044/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pistol-magazine-extended-61005ea4","thumbnailUrl":"https://cdn.3dassets.dev/assets/33044/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33044/v1/poster.webp","blurhash":"U025[Txu009F-oj?E2a#%1ayEMfl%2j[IoWB","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":93936,"triangles":3784,"vertices":4269,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.011998504453915121,0,-0.018946592388734588],"max":[0.011998504453915121,0.1853799968957901,0.018946592388734588]},"sizeMeters":[0.024,0.185,0.038],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:52.928Z","updatedAt":"2026-09-08T16:48:53.443Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33044/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExtendedPistolMagazineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33044/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33044/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33044/v1/model.glb\" alt=\"Extended Pistol Magazine (Mega Weapon Pack)\" 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/33044/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/33044/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33045","slug":"mega-weapon-pack-rifle-magazine-7675aff7","title":"Rifle Magazine (Mega Weapon Pack)","summary":"A curved thirty round rifle magazine with feed lips, a ribbed spine, witness holes and a textured floor plate with its catch. Premium modern game asset for shooter and survival projects.","description":"A curved thirty round rifle magazine with feed lips, a ribbed spine, witness holes and a textured floor plate with its catch. Dimensions 0.028 x 0.192 x 0.092 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the feed lip plane at the top of the magazine; metre units, +Y up, muzzle and point toward +Z. Connectors: mount magazine at (0, 0.162, -0.0136) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rifle-magazine-7675aff7","cdnUrl":"https://cdn.3dassets.dev/assets/33045/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rifle-magazine-7675aff7","thumbnailUrl":"https://cdn.3dassets.dev/assets/33045/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33045/v1/poster.webp","blurhash":"U02$Nt%g008w;KIAAH?v.7ozIBVYvzRQOs%f","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":119792,"triangles":5284,"vertices":5327,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.013995290242760139,0,-0.046027432330764236],"max":[0.013995290242760139,0.19191305339336395,0.046027432330764236]},"sizeMeters":[0.028,0.192,0.092],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:53.525Z","updatedAt":"2026-09-08T16:48:54.096Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33045/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RifleMagazineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33045/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33045/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33045/v1/model.glb\" alt=\"Rifle Magazine (Mega Weapon Pack)\" 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/33045/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/33045/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33046","slug":"mega-weapon-pack-rifle-magazine-extended-78382579","title":"Extended Rifle Magazine (Mega Weapon Pack)","summary":"An extended sixty round rifle magazine in dark earth polymer, deeply curved, with witness holes down both flanks and a large floor plate. Premium modern game asset for shooter and survival projects.","description":"An extended sixty round rifle magazine in dark earth polymer, deeply curved, with witness holes down both flanks and a large floor plate. Dimensions 0.028 x 0.268 x 0.113 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the feed lip plane at the top of the magazine; metre units, +Y up, muzzle and point toward +Z. Connectors: mount magazine at (0, 0.2379, -0.024) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rifle-magazine-extended-78382579","cdnUrl":"https://cdn.3dassets.dev/assets/33046/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rifle-magazine-extended-78382579","thumbnailUrl":"https://cdn.3dassets.dev/assets/33046/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33046/v1/poster.webp","blurhash":"U4ATQ8t700E0RkE1W.~V03xZ^%I:t7kDaxjE","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":119860,"triangles":5284,"vertices":5327,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.014000644881604454,0,-0.05650094685250142],"max":[0.014000644881604454,0.2677418887615204,0.05650094685250142]},"sizeMeters":[0.028,0.268,0.113],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:56.201Z","updatedAt":"2026-09-08T16:48:56.625Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33046/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExtendedRifleMagazineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33046/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33046/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33046/v1/model.glb\" alt=\"Extended Rifle Magazine (Mega Weapon Pack)\" 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/33046/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/33046/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33047","slug":"mega-weapon-pack-drum-magazine-42e92b31","title":"Drum Magazine (Mega Weapon Pack)","summary":"A cased drum magazine on a short feed tower, with a bolted cover plate each side, a winding hub and a rail of witness holes. Premium modern game asset for shooter and survival projects.","description":"A cased drum magazine on a short feed tower, with a bolted cover plate each side, a winding hub and a rail of witness holes. Dimensions 0.067 x 0.183 x 0.124 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the feed lip plane at the top of the magazine; metre units, +Y up, muzzle and point toward +Z. Connectors: mount magazine at (0, 0.1537, 0) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-drum-magazine-42e92b31","cdnUrl":"https://cdn.3dassets.dev/assets/33047/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-drum-magazine-42e92b31","thumbnailUrl":"https://cdn.3dassets.dev/assets/33047/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33047/v1/poster.webp","blurhash":"U13bUI%M009Z^koL56RkQ-M{OYx]xuoMRjay","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":118948,"triangles":4440,"vertices":5594,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.03359781572055267,0,-0.06200202673589045],"max":[0.03359781572055267,0.18354035913944244,0.06200202673589045]},"sizeMeters":[0.067,0.184,0.124],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:56.640Z","updatedAt":"2026-09-08T16:48:57.182Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33047/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrumMagazineMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33047/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33047/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33047/v1/model.glb\" alt=\"Drum Magazine (Mega Weapon Pack)\" 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/33047/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/33047/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33048","slug":"mega-weapon-pack-shotgun-tube-extension-d90685a7","title":"Shotgun Tube Extension (Mega Weapon Pack)","summary":"A shotgun magazine tube extension: a steel tube with a knurled collar that screws onto the host tube, three barrel bands and an end cap. Premium modern game asset for shooter and survival projects.","description":"A shotgun magazine tube extension: a steel tube with a knurled collar that screws onto the host tube, three barrel bands and an end cap. Dimensions 0.035 x 0.034 x 0.214 m (X x Y x Z). Origin at the footprint centre resting on y = 0; the `mount` port is the threaded end that screws onto the host tube; metre units, +Y up, muzzle and point toward +Z. Connectors: mount magazine at (0, 0.0172, -0.107) facing +Y. Fits a host weapon by laying its `mount` port on a socket of the same type; the port sits on the mating face, so the two solids meet without interpenetrating. Static attachment with no moving part. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-shotgun-tube-extension-d90685a7","cdnUrl":"https://cdn.3dassets.dev/assets/33048/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-shotgun-tube-extension-d90685a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/33048/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33048/v1/poster.webp","blurhash":"U13S05%ND$a%-=IUITxv009E%M%M4m%g?cM_","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"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":109536,"triangles":5640,"vertices":4600,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.017293984927019886,-3.6786772724881067e-7,-0.10700000077486038],"max":[0.017293984927019886,0.03440473507620809,0.10700000077486038]},"sizeMeters":[0.035,0.034,0.214],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:55.583Z","updatedAt":"2026-09-08T16:48:56.080Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33048/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShotgunTubeExtensionMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33048/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33048/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33048/v1/model.glb\" alt=\"Shotgun Tube Extension (Mega Weapon Pack)\" 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/33048/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/33048/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33049","slug":"mega-weapon-pack-combat-knife-24ac71c3","title":"Combat Knife (Mega Weapon Pack)","summary":"A double guard combat knife with a clip point blade, a sawback spine, a fuller each side and a moulded grip on a full tang. Premium modern game asset for shooter and survival projects.","description":"A double guard combat knife with a clip point blade, a sawback spine, a fuller each side and a moulded grip on a full tang. Dimensions 0.030 x 0.092 x 0.315 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-combat-knife-24ac71c3","cdnUrl":"https://cdn.3dassets.dev/assets/33049/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-combat-knife-24ac71c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33049/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33049/v1/poster.webp","blurhash":"U24xoM~qMxIURjD%M{j[004m%N-;-:_3?boe","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":326928,"triangles":13780,"vertices":15085,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.01519491553404808,0.0000022802154934081775,-0.15771138668060303],"max":[0.01519491553404808,0.09241400047197401,0.15771138668060303]},"sizeMeters":[0.03,0.092,0.315],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:56.586Z","updatedAt":"2026-09-08T16:48:57.092Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33049/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CombatKnifeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33049/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33049/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33049/v1/model.glb\" alt=\"Combat Knife (Mega Weapon Pack)\" 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/33049/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/33049/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33050","slug":"mega-weapon-pack-curved-knife-280d0014","title":"Curved Karambit Knife (Mega Weapon Pack)","summary":"A curved hawkbill knife with a finger ring at the butt, a deep belly and a stippled grip on a full tang. Premium modern game asset for shooter and survival projects.","description":"A curved hawkbill knife with a finger ring at the butt, a deep belly and a stippled grip on a full tang. Dimensions 0.042 x 0.070 x 0.246 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-curved-knife-280d0014","cdnUrl":"https://cdn.3dassets.dev/assets/33050/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-curved-knife-280d0014","thumbnailUrl":"https://cdn.3dassets.dev/assets/33050/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33050/v1/poster.webp","blurhash":"U14LXi~pV@Rn%O9FM{tS0000oz-=Rh_4-;jr","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":300384,"triangles":12680,"vertices":13838,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.021000090199412253,-0.0000019650236972729163,-0.12311006337404251],"max":[0.021000090199412253,0.07021105841559257,0.12311006337404251]},"sizeMeters":[0.042,0.07,0.246],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:57.115Z","updatedAt":"2026-09-08T16:48:57.257Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33050/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CurvedKarambitKnifeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33050/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33050/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33050/v1/model.glb\" alt=\"Curved Karambit Knife (Mega Weapon Pack)\" 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/33050/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/33050/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33052","slug":"mega-weapon-pack-bowie-knife-9029a9b6","title":"Bowie Knife (Mega Weapon Pack)","summary":"A large bowie knife with a clip point, a brass guard, a fuller each side and a walnut scale handle on a full tang. Premium modern game asset for shooter and survival projects.","description":"A large bowie knife with a clip point, a brass guard, a fuller each side and a walnut scale handle on a full tang. Dimensions 0.030 x 0.112 x 0.385 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bowie-knife-9029a9b6","cdnUrl":"https://cdn.3dassets.dev/assets/33052/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bowie-knife-9029a9b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33052/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33052/v1/poster.webp","blurhash":"U57U3ayYxZ-Ti^4.Mxo000MwxuXAo~~p-;R+","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":308384,"triangles":13396,"vertices":14071,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.015194584855329865,0.0000022787769131046853,-0.19271205365657806],"max":[0.015194584855329865,0.11191045580444665,0.19271205365657806]},"sizeMeters":[0.03,0.112,0.385],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:57.675Z","updatedAt":"2026-09-08T16:48:58.182Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33052/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BowieKnifeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33052/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33052/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33052/v1/model.glb\" alt=\"Bowie Knife (Mega Weapon Pack)\" 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/33052/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/33052/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33051","slug":"mega-weapon-pack-tanto-knife-427ed345","title":"Tanto Knife (Mega Weapon Pack)","summary":"A tanto point knife with a chisel front edge, a cord wrapped handle and a steel pommel cap. Premium modern game asset for shooter and survival projects.","description":"A tanto point knife with a chisel front edge, a cord wrapped handle and a steel pommel cap. Dimensions 0.035 x 0.046 x 0.305 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-tanto-knife-427ed345","cdnUrl":"https://cdn.3dassets.dev/assets/33051/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-tanto-knife-427ed345","thumbnailUrl":"https://cdn.3dassets.dev/assets/33051/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33051/v1/poster.webp","blurhash":"U368BOo$9FxZs:9FM{xu00W9^+W?Iq~q-:D%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":203176,"triangles":10056,"vertices":8748,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.017597980302695333,-0.0000025832650794588297,-0.15269050002098083],"max":[0.017597980302695333,0.04600673479935835,0.15269050002098083]},"sizeMeters":[0.035,0.046,0.305],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:57.156Z","updatedAt":"2026-09-08T16:48:57.670Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33051/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TantoKnifeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33051/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33051/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33051/v1/model.glb\" alt=\"Tanto Knife (Mega Weapon Pack)\" 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/33051/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/33051/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33053","slug":"mega-weapon-pack-bayonet-17545ff1","title":"Bayonet (Mega Weapon Pack)","summary":"A rifle bayonet with a muzzle ring above the guard, a bar catch on the pommel side and a fullered clip point blade. Premium modern game asset for shooter and survival projects.","description":"A rifle bayonet with a muzzle ring above the guard, a bar catch on the pommel side and a fullered clip point blade. Dimensions 0.030 x 0.095 x 0.335 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bayonet-17545ff1","cdnUrl":"https://cdn.3dassets.dev/assets/33053/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bayonet-17545ff1","thumbnailUrl":"https://cdn.3dassets.dev/assets/33053/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33053/v1/poster.webp","blurhash":"U35X[X~qRjjrIVD%M_WB004mxvt8_2_3?bxu","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":326872,"triangles":14460,"vertices":14829,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.015190996005223925,0.000002277338332801193,-0.16771148145198822],"max":[0.015190996005223925,0.09541193128589869,0.16771148145198822]},"sizeMeters":[0.03,0.095,0.335],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:59.279Z","updatedAt":"2026-09-08T16:48:59.394Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33053/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BayonetMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33053/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33053/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33053/v1/model.glb\" alt=\"Bayonet (Mega Weapon Pack)\" 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/33053/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/33053/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33054","slug":"mega-weapon-pack-machete-0e53ceb0","title":"Machete (Mega Weapon Pack)","summary":"A long machete with a broad chopping blade, a swept tip and a ribbed moulded handle with a lanyard hole through the butt. Premium modern game asset for shooter and survival projects.","description":"A long machete with a broad chopping blade, a swept tip and a ribbed moulded handle with a lanyard hole through the butt. Dimensions 0.030 x 0.096 x 0.575 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-machete-0e53ceb0","cdnUrl":"https://cdn.3dassets.dev/assets/33054/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-machete-0e53ceb0","thumbnailUrl":"https://cdn.3dassets.dev/assets/33054/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33054/v1/poster.webp","blurhash":"U25#hT~q4TRjD%9FM{%M00Di~qtQ?b~q%M9E","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":285016,"triangles":12160,"vertices":13076,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.015186178559448139,6.748394015196335e-7,-0.28758937576341437],"max":[0.015186178559448139,0.09626750964364977,0.28758928179740906]},"sizeMeters":[0.03,0.096,0.575],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:00.249Z","updatedAt":"2026-09-08T16:49:00.347Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33054/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MacheteMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33054/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33054/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33054/v1/model.glb\" alt=\"Machete (Mega Weapon Pack)\" 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/33054/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/33054/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33057","slug":"mega-weapon-pack-straight-sword-84374988","title":"Straight Sword (Mega Weapon Pack)","summary":"A straight double edged sword with a long fuller, a cross guard, a leather wrapped grip and a heavy pommel. Premium modern game asset for shooter and survival projects.","description":"A straight double edged sword with a long fuller, a cross guard, a leather wrapped grip and a heavy pommel. Dimensions 0.035 x 0.113 x 0.901 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-straight-sword-84374988","cdnUrl":"https://cdn.3dassets.dev/assets/33057/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-straight-sword-84374988","thumbnailUrl":"https://cdn.3dassets.dev/assets/33057/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33057/v1/poster.webp","blurhash":"U35OTvoyNFR*s;9Faft700RQ%Nt7R%~qt7IU","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":240332,"triangles":12300,"vertices":10228,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.01760252773312445,-0.0000036885009108630906,-0.45042771100997925],"max":[0.01760252773312445,0.11320368991950142,0.45042771100997925]},"sizeMeters":[0.035,0.113,0.901],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:00.754Z","updatedAt":"2026-09-08T16:49:00.922Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33057/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StraightSwordMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33057/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33057/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33057/v1/model.glb\" alt=\"Straight Sword (Mega Weapon Pack)\" 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/33057/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/33057/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33055","slug":"mega-weapon-pack-curved-sword-48e32474","title":"Curved Sword (Mega Weapon Pack)","summary":"A single edged curved sword with a deep belly, a fuller along the spine, a cross guard and a cord wrapped grip. Premium modern game asset for shooter and survival projects.","description":"A single edged curved sword with a deep belly, a fuller along the spine, a cross guard and a cord wrapped grip. Dimensions 0.035 x 0.109 x 0.931 m (X x Y x Z). Origin at the footprint centre with the blade lying flat on y = 0, point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-curved-sword-48e32474","cdnUrl":"https://cdn.3dassets.dev/assets/33055/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-curved-sword-48e32474","thumbnailUrl":"https://cdn.3dassets.dev/assets/33055/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33055/v1/poster.webp","blurhash":"U35hV?%3M{ozR%9FRjoM00M{-;e:xb~qxuM{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":251240,"triangles":12552,"vertices":10816,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.01760356440136517,-0.000002389055374252269,-0.4653485119342804],"max":[0.01760356440136517,0.10880238304722606,0.4653485119342804]},"sizeMeters":[0.035,0.109,0.931],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:48:59.534Z","updatedAt":"2026-09-08T16:48:59.678Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33055/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CurvedSwordMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33055/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33055/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33055/v1/model.glb\" alt=\"Curved Sword (Mega Weapon Pack)\" 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/33055/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/33055/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33058","slug":"mega-weapon-pack-tomahawk-4ee37560","title":"Tomahawk (Mega Weapon Pack)","summary":"A light throwing tomahawk with a narrow bit, a spike poll, a straight hickory haft and a lanyard thong through the butt. Premium modern game asset for shooter and survival projects.","description":"A light throwing tomahawk with a narrow bit, a spike poll, a straight hickory haft and a lanyard thong through the butt. Dimensions 0.037 x 0.086 x 0.465 m (X x Y x Z). Origin at the footprint centre with the haft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-tomahawk-4ee37560","cdnUrl":"https://cdn.3dassets.dev/assets/33058/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-tomahawk-4ee37560","thumbnailUrl":"https://cdn.3dassets.dev/assets/33058/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33058/v1/poster.webp","blurhash":"U25hGR_45DE,D$9FV?aw00E0~T=w?v~WRoN1","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":303644,"triangles":10892,"vertices":14614,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.018395385376341188,4.3201441348589276e-7,-0.23258112370967865],"max":[0.018395385376341188,0.08593385678534923,0.23258112370967865]},"sizeMeters":[0.037,0.086,0.465],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:00.899Z","updatedAt":"2026-09-08T16:49:01.137Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33058/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TomahawkMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33058/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33058/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33058/v1/model.glb\" alt=\"Tomahawk (Mega Weapon Pack)\" 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/33058/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/33058/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33056","slug":"mega-weapon-pack-fire-axe-059c326b","title":"Fire Axe (Mega Weapon Pack)","summary":"A fire axe with a broad red bit, a pick poll, a fibreglass haft with a rubber grip and a steel collar under the head. Premium modern game asset for shooter and survival projects.","description":"A fire axe with a broad red bit, a pick poll, a fibreglass haft with a rubber grip and a steel collar under the head. Dimensions 0.047 x 0.137 x 0.647 m (X x Y x Z). Origin at the footprint centre with the haft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-fire-axe-059c326b","cdnUrl":"https://cdn.3dassets.dev/assets/33056/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-fire-axe-059c326b","thumbnailUrl":"https://cdn.3dassets.dev/assets/33056/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33056/v1/poster.webp","blurhash":"UE9GHv}s,C$2ENEMNdNd0fEMXlX8^5^P#+w]","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":320924,"triangles":11932,"vertices":15251,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.023648793032241596,0,-0.32357916235923767],"max":[0.023648793032241596,0.13733521103858948,0.32357843054382496]},"sizeMeters":[0.047,0.137,0.647],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:00.725Z","updatedAt":"2026-09-08T16:49:00.860Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33056/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FireAxeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33056/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33056/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33056/v1/model.glb\" alt=\"Fire Axe (Mega Weapon Pack)\" 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/33056/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/33056/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33059","slug":"mega-weapon-pack-felling-axe-317b69b5","title":"Felling Axe (Mega Weapon Pack)","summary":"A full size felling axe with a heavy flared bit, a flat poll, a curved hickory haft and a steel wedge in the eye. Premium modern game asset for shooter and survival projects.","description":"A full size felling axe with a heavy flared bit, a flat poll, a curved hickory haft and a steel wedge in the eye. Dimensions 0.049 x 0.153 x 0.750 m (X x Y x Z). Origin at the footprint centre with the haft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-felling-axe-317b69b5","cdnUrl":"https://cdn.3dassets.dev/assets/33059/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-felling-axe-317b69b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33059/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33059/v1/poster.webp","blurhash":"U367+V_3EO5SIB9asSoe009G=_=x?u~CI@NG","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":334480,"triangles":12876,"vertices":15795,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.024593890761057228,0,-0.37507888674736023],"max":[0.024593890761057228,0.15288694202899933,0.37508103581750296]},"sizeMeters":[0.049,0.153,0.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:00.065Z","updatedAt":"2026-09-08T16:49:00.182Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33059/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FellingAxeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33059/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33059/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33059/v1/model.glb\" alt=\"Felling Axe (Mega Weapon Pack)\" 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/33059/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/33059/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33060","slug":"mega-weapon-pack-sledgehammer-6fd8594a","title":"Sledgehammer (Mega Weapon Pack)","summary":"A double faced sledgehammer with a chamfered striking face each end, a steel eye wedge and a rubber gripped hickory haft. Premium modern game asset for shooter and survival projects.","description":"A double faced sledgehammer with a chamfered striking face each end, a steel eye wedge and a rubber gripped hickory haft. Dimensions 0.176 x 0.075 x 0.748 m (X x Y x Z). Origin at the footprint centre with the haft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-sledgehammer-6fd8594a","cdnUrl":"https://cdn.3dassets.dev/assets/33060/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-sledgehammer-6fd8594a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33060/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33060/v1/poster.webp","blurhash":"U25;?b~X0-0MRh9Gt5xu000K~3^i%i~pjIIT","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":409040,"triangles":14580,"vertices":19815,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.08810000121593475,0.0000012584430135950675,-0.37402772903442383],"max":[0.08810000121593475,0.07522516768155915,0.37402685117426143]},"sizeMeters":[0.176,0.075,0.748],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:01.173Z","updatedAt":"2026-09-08T16:49:01.370Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33060/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SledgehammerMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33060/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33060/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33060/v1/model.glb\" alt=\"Sledgehammer (Mega Weapon Pack)\" 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/33060/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/33060/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33061","slug":"mega-weapon-pack-spear-1ee63398","title":"Spear (Mega Weapon Pack)","summary":"A long hafted spear with a leaf shaped head on a socket, a cord grip at the balance point and a steel butt spike. Premium modern game asset for shooter and survival projects.","description":"A long hafted spear with a leaf shaped head on a socket, a cord grip at the balance point and a steel butt spike. Dimensions 0.043 x 0.053 x 1.762 m (X x Y x Z). Origin at the footprint centre with the haft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-spear-1ee63398","cdnUrl":"https://cdn.3dassets.dev/assets/33061/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-spear-1ee63398","thumbnailUrl":"https://cdn.3dassets.dev/assets/33061/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33061/v1/poster.webp","blurhash":"U35h0;S$9_xu$gE1R*sl01ad^PjEEk^+xuI@","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":220708,"triangles":10960,"vertices":9462,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.02128716348277481,-0.0000021721171575839193,-0.8810169696807861],"max":[0.02128716348277481,0.05288217244021476,0.8810169696807861]},"sizeMeters":[0.043,0.053,1.762],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:02.222Z","updatedAt":"2026-09-08T16:49:02.403Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33061/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpearMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33061/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33061/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33061/v1/model.glb\" alt=\"Spear (Mega Weapon Pack)\" 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/33061/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/33061/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33062","slug":"mega-weapon-pack-baseball-bat-cc5200c3","title":"Baseball Bat (Mega Weapon Pack)","summary":"A turned wooden baseball bat with a taper from the knob to the barrel, a leather grip wrap and a steel knob cap. Premium modern game asset for shooter and survival projects.","description":"A turned wooden baseball bat with a taper from the knob to the barrel, a leather grip wrap and a steel knob cap. Dimensions 0.063 x 0.064 x 0.865 m (X x Y x Z). Origin at the footprint centre with the shaft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-baseball-bat-cc5200c3","cdnUrl":"https://cdn.3dassets.dev/assets/33062/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-baseball-bat-cc5200c3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33062/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33062/v1/poster.webp","blurhash":"U56*5O=_Rnoza#E2M|so02EM%1son$~A-nNa","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":277980,"triangles":12058,"vertices":12672,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.03168553628908994,0.000006838664915007064,-0.43253281712532043],"max":[0.03168553628908994,0.06399316437492188,0.43253281712532043]},"sizeMeters":[0.063,0.064,0.865],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:02.736Z","updatedAt":"2026-09-08T16:49:02.912Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33062/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BaseballBatMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33062/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33062/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33062/v1/model.glb\" alt=\"Baseball Bat (Mega Weapon Pack)\" 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/33062/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/33062/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33063","slug":"mega-weapon-pack-nailed-bat-24bc5628","title":"Nailed Bat (Mega Weapon Pack)","summary":"An improvised nailed bat: a wooden bat with nine long nails driven through the barrel, each with its head proud of the wood. Premium modern game asset for shooter and survival projects.","description":"An improvised nailed bat: a wooden bat with nine long nails driven through the barrel, each with its head proud of the wood. Dimensions 0.113 x 0.064 x 0.865 m (X x Y x Z). Origin at the footprint centre with the shaft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-nailed-bat-24bc5628","cdnUrl":"https://cdn.3dassets.dev/assets/33063/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-nailed-bat-24bc5628","thumbnailUrl":"https://cdn.3dassets.dev/assets/33063/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33063/v1/poster.webp","blurhash":"U57A#g%IE2VtogE2Rls:00E3?FxuV?~B%JIp","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":295804,"triangles":12778,"vertices":13462,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.05626828483578927,0.000006838664915007064,-0.43253281712532043],"max":[0.056282838368290684,0.06399316437492188,0.43253281712532043]},"sizeMeters":[0.113,0.064,0.865],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:02.955Z","updatedAt":"2026-09-08T16:49:03.087Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33063/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NailedBatMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33063/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33063/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33063/v1/model.glb\" alt=\"Nailed Bat (Mega Weapon Pack)\" 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/33063/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/33063/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33064","slug":"mega-weapon-pack-cricket-bat-23f59fc5","title":"Cricket Bat (Mega Weapon Pack)","summary":"A cricket bat with a splined willow blade, a swelled back spine, a spliced cane handle and a rubber grip. Premium modern game asset for shooter and survival projects.","description":"A cricket bat with a splined willow blade, a swelled back spine, a spliced cane handle and a rubber grip. Dimensions 0.108 x 0.068 x 0.774 m (X x Y x Z). Origin at the footprint centre with the shaft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-cricket-bat-23f59fc5","cdnUrl":"https://cdn.3dassets.dev/assets/33064/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-cricket-bat-23f59fc5","thumbnailUrl":"https://cdn.3dassets.dev/assets/33064/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33064/v1/poster.webp","blurhash":"U68Da_-VIVnhk99vNaof01EL={ozaN~A-BNG","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":339924,"triangles":15704,"vertices":15178,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.05399835123535435,-0.0000032038447586209273,-0.3869999945163727],"max":[0.05399835123535435,0.06838015231936301,0.3869999945163727]},"sizeMeters":[0.108,0.068,0.774],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:03.223Z","updatedAt":"2026-09-08T16:49:03.459Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33064/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CricketBatMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33064/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33064/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33064/v1/model.glb\" alt=\"Cricket Bat (Mega Weapon Pack)\" 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/33064/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/33064/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33065","slug":"mega-weapon-pack-telescopic-baton-f809b424","title":"Telescopic Baton (Mega Weapon Pack)","summary":"A three section telescopic baton extended to full length, with stepped collars at each section, a knurled steel tip and a rubber handle. Premium modern game asset for shooter and survival projects.","description":"A three section telescopic baton extended to full length, with stepped collars at each section, a knurled steel tip and a rubber handle. Dimensions 0.035 x 0.035 x 0.555 m (X x Y x Z). Origin at the footprint centre with the shaft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-telescopic-baton-f809b424","cdnUrl":"https://cdn.3dassets.dev/assets/33065/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-telescopic-baton-f809b424","thumbnailUrl":"https://cdn.3dassets.dev/assets/33065/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33065/v1/poster.webp","blurhash":"U242F,4;ad?Z?H9ajY%201xrxuIV0L~VtRE1","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":257240,"triangles":10666,"vertices":11947,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.017502608929227007,-0.0000026088547212012314,-0.27753281593322754],"max":[0.017502608929227007,0.03500260900373281,0.27753281593322754]},"sizeMeters":[0.035,0.035,0.555],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:03.799Z","updatedAt":"2026-09-08T16:49:03.950Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33065/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TelescopicBatonMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33065/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33065/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33065/v1/model.glb\" alt=\"Telescopic Baton (Mega Weapon Pack)\" 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/33065/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/33065/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33066","slug":"mega-weapon-pack-tonfa-baton-51a87d2e","title":"Tonfa Baton (Mega Weapon Pack)","summary":"A side handled patrol baton: a ribbed polymer shaft with a moulded side grip on a steel collar and a short butt behind it. Premium modern game asset for shooter and survival projects.","description":"A side handled patrol baton: a ribbed polymer shaft with a moulded side grip on a steel collar and a short butt behind it. Dimensions 0.161 x 0.056 x 0.625 m (X x Y x Z). Origin at the footprint centre with the shaft lying along Z on y = 0, head toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-tonfa-baton-51a87d2e","cdnUrl":"https://cdn.3dassets.dev/assets/33066/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-tonfa-baton-51a87d2e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33066/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33066/v1/poster.webp","blurhash":"U02$1}BV0e~A~C9u9a}s00Mx-pNK00^j~W0#","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":328712,"triangles":13050,"vertices":15414,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.08036363351898325,-8.954989293291638e-7,-0.31253284215927124],"max":[0.08035672145611747,0.05635551133652072,0.31253284215927124]},"sizeMeters":[0.161,0.056,0.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:02.877Z","updatedAt":"2026-09-08T16:49:03.003Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33066/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TonfaBatonMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33066/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33066/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33066/v1/model.glb\" alt=\"Tonfa Baton (Mega Weapon Pack)\" 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/33066/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/33066/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33067","slug":"mega-weapon-pack-crowbar-0e8a3201","title":"Crowbar (Mega Weapon Pack)","summary":"A hexagonal steel crowbar with a swept split claw at one end, a flat chisel at the other and a knurled grip section along the shaft. Premium modern game asset for shooter and survival projects.","description":"A hexagonal steel crowbar with a swept split claw at one end, a flat chisel at the other and a knurled grip section along the shaft. Dimensions 0.030 x 0.070 x 0.870 m (X x Y x Z). Origin at the footprint centre with the bar lying along Z on y = 0, claw toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-crowbar-0e8a3201","cdnUrl":"https://cdn.3dassets.dev/assets/33067/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-crowbar-0e8a3201","thumbnailUrl":"https://cdn.3dassets.dev/assets/33067/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33067/v1/poster.webp","blurhash":"UGBC3~R*I=r?ofEMj]s.0fn%-UShRk}@n$I;","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":236420,"triangles":8828,"vertices":11338,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.015021778686106192,0.000013406287589862176,-0.4349060654640198],"max":[0.015021778686106192,0.07053231178625505,0.4349060654640198]},"sizeMeters":[0.03,0.071,0.87],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:02.935Z","updatedAt":"2026-09-08T16:49:03.197Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33067/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CrowbarMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33067/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33067/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33067/v1/model.glb\" alt=\"Crowbar (Mega Weapon Pack)\" 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/33067/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/33067/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33068","slug":"mega-weapon-pack-adjustable-wrench-88c65a68","title":"Adjustable Wrench (Mega Weapon Pack)","summary":"A heavy adjustable wrench with a fixed and a sliding jaw, a knurled worm screw between them, a ribbed rubber handle and a lanyard ring in the butt. Premium modern game asset for shooter and survival projects.","description":"A heavy adjustable wrench with a fixed and a sliding jaw, a knurled worm screw between them, a ribbed rubber handle and a lanyard ring in the butt. Dimensions 0.040 x 0.100 x 0.380 m (X x Y x Z). Origin at the footprint centre with the handle lying along Z on y = 0, jaws toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-adjustable-wrench-88c65a68","cdnUrl":"https://cdn.3dassets.dev/assets/33068/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-adjustable-wrench-88c65a68","thumbnailUrl":"https://cdn.3dassets.dev/assets/33068/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33068/v1/poster.webp","blurhash":"U36*dj_4M{4nIU4nWBt700IU%N?bfk~qWBRj","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":326264,"triangles":14172,"vertices":14843,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.020100405647467966,-0.000004418331823716898,-0.1899999976158142],"max":[0.020100405647467966,0.09970887560167675,0.1899999976158142]},"sizeMeters":[0.04,0.1,0.38],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:03.203Z","updatedAt":"2026-09-08T16:49:03.414Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33068/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AdjustableWrenchMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33068/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33068/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33068/v1/model.glb\" alt=\"Adjustable Wrench (Mega Weapon Pack)\" 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/33068/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/33068/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33069","slug":"mega-weapon-pack-throwing-knife-34c93b7b","title":"Throwing Knife (Mega Weapon Pack)","summary":"A balanced throwing knife: a symmetrical fullered blade on a skeletonised tang with a short cord wrap and a lanyard ring. Premium modern game asset for shooter and survival projects.","description":"A balanced throwing knife: a symmetrical fullered blade on a skeletonised tang with a short cord wrap and a lanyard ring. Dimensions 0.025 x 0.070 x 0.253 m (X x Y x Z). Origin at the footprint centre, lying flat on y = 0 with the point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-throwing-knife-34c93b7b","cdnUrl":"https://cdn.3dassets.dev/assets/33069/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-throwing-knife-34c93b7b","thumbnailUrl":"https://cdn.3dassets.dev/assets/33069/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33069/v1/poster.webp","blurhash":"U46@~9tlIU-:-;9FIUxu00Di%MR-9Z~W_3M|","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":241972,"triangles":10896,"vertices":10857,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.012318351396149205,0.000002549242970786847,-0.1263764351606369],"max":[0.012318351396149205,0.0696974534273173,0.1263764351606369]},"sizeMeters":[0.025,0.07,0.253],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:04.258Z","updatedAt":"2026-09-08T16:49:04.455Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33069/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThrowingKnifeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33069/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33069/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33069/v1/model.glb\" alt=\"Throwing Knife (Mega Weapon Pack)\" 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/33069/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/33069/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33070","slug":"mega-weapon-pack-throwing-axe-88368906","title":"Throwing Axe (Mega Weapon Pack)","summary":"A light throwing axe with a narrow bearded bit on a wedged eye, a straight hickory haft, a cord wrap at the grip and a steel butt cap. Premium modern game asset for shooter and survival projects.","description":"A light throwing axe with a narrow bearded bit on a wedged eye, a straight hickory haft, a cord wrap at the grip and a steel butt cap. Dimensions 0.037 x 0.121 x 0.339 m (X x Y x Z). Origin at the footprint centre with the haft lying along Z on y = 0, bit toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-throwing-axe-88368906","cdnUrl":"https://cdn.3dassets.dev/assets/33070/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-throwing-axe-88368906","thumbnailUrl":"https://cdn.3dassets.dev/assets/33070/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33070/v1/poster.webp","blurhash":"U46@vM%#Em-oiv4.IUxZ01em^hIp9w~C-:EN","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":197476,"triangles":10212,"vertices":8282,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.018716293648687977,0,-0.16952016949653625],"max":[0.018716293648687977,0.12106349259637342,0.1695222850965936]},"sizeMeters":[0.037,0.121,0.339],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:05.617Z","updatedAt":"2026-09-08T16:49:05.809Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33070/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThrowingAxeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33070/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33070/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33070/v1/model.glb\" alt=\"Throwing Axe (Mega Weapon Pack)\" 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/33070/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/33070/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33071","slug":"mega-weapon-pack-shuriken-131c741d","title":"Throwing Star (Mega Weapon Pack)","summary":"A four point throwing star, ground to an edge on every point, with a raised central hub washer each side and a hole through the middle. Premium modern game asset for shooter and survival projects.","description":"A four point throwing star, ground to an edge on every point, with a raised central hub washer each side and a hole through the middle. Dimensions 0.118 x 0.016 x 0.118 m (X x Y x Z). Origin at the centre, lying flat on y = 0; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-shuriken-131c741d","cdnUrl":"https://cdn.3dassets.dev/assets/33071/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-shuriken-131c741d","thumbnailUrl":"https://cdn.3dassets.dev/assets/33071/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33071/v1/poster.webp","blurhash":"U771p1t600Rkx]oKRPWE00WB_4ofD$WD%Mod","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":204088,"triangles":7520,"vertices":9810,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.058800000697374344,-9.339408623895706e-8,-0.058800000697374344],"max":[0.058800000697374344,0.015800092631146786,0.058800000697374344]},"sizeMeters":[0.118,0.016,0.118],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:04.962Z","updatedAt":"2026-09-08T16:49:05.074Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33071/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThrowingStarMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33071/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33071/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33071/v1/model.glb\" alt=\"Throwing Star (Mega Weapon Pack)\" 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/33071/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/33071/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33072","slug":"mega-weapon-pack-throwing-spike-bebef63f","title":"Throwing Spike (Mega Weapon Pack)","summary":"A heavy throwing spike: a four fluted steel point on a short cord wrapped grip with a knurled collar and a flat butt cap. Premium modern game asset for shooter and survival projects.","description":"A heavy throwing spike: a four fluted steel point on a short cord wrapped grip with a knurled collar and a flat butt cap. Dimensions 0.030 x 0.030 x 0.183 m (X x Y x Z). Origin at the footprint centre, lying along Z on y = 0 with the point toward +Z; metre units, +Y up, muzzle and point toward +Z. Static weapon: there is no moving part to rig. A folding lock, a lanyard or a sheath would be a linkage or a separate object rather than a rigid node transform, so neither is faked here. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-throwing-spike-bebef63f","cdnUrl":"https://cdn.3dassets.dev/assets/33072/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-throwing-spike-bebef63f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33072/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33072/v1/poster.webp","blurhash":"U47wyp%$00#Qw[D*M|-o00I9~WXnOa_2-p9b","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":176772,"triangles":9632,"vertices":7255,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.014799401865978829,5.981384915195592e-7,-0.09149999916553497],"max":[0.014799401865978829,0.029599401870449175,0.09149999916553497]},"sizeMeters":[0.03,0.03,0.183],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:06.116Z","updatedAt":"2026-09-08T16:49:06.220Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33072/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThrowingSpikeMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33072/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33072/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33072/v1/model.glb\" alt=\"Throwing Spike (Mega Weapon Pack)\" 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/33072/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/33072/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33073","slug":"mega-weapon-pack-pistol-ammo-box-61742105","title":"Pistol Ammunition Box (Mega Weapon Pack)","summary":"A small olive steel ammunition can of pistol cartridges standing in rows, with a folding handle, a latch and a hinged lid. Premium modern game asset for shooter and survival projects.","description":"A small olive steel ammunition can of pistol cartridges standing in rows, with a folding handle, a latch and a hinged lid. Dimensions 0.192 x 0.148 x 0.156 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (-0.0009, 0.1265, -0.071). The lid lifts on its back hinge. The latch and the folding handle are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pistol-ammo-box-61742105","cdnUrl":"https://cdn.3dassets.dev/assets/33073/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pistol-ammo-box-61742105","thumbnailUrl":"https://cdn.3dassets.dev/assets/33073/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33073/v1/poster.webp","blurhash":"U7BzXf_L00IBIWtRxss:00M{xtjGM{axxuIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":205140,"triangles":8972,"vertices":8967,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.09584999940097333,0.0000024066218910143156,-0.07799974564702444],"max":[0.09584999718964099,0.1484970524885645,0.07800000401586293]},"sizeMeters":[0.192,0.148,0.156],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:06.156Z","updatedAt":"2026-09-08T16:49:06.346Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33073/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PistolAmmunitionBoxMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33073/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33073/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33073/v1/model.glb\" alt=\"Pistol Ammunition Box (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33073/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33073/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33074","slug":"mega-weapon-pack-rifle-ammo-box-1e919883","title":"Rifle Ammunition Box (Mega Weapon Pack)","summary":"A medium olive steel ammunition can of rifle cartridges in rows, with a rubber lid seal, a folding handle and a stencil panel each side. Premium modern game asset for shooter and survival projects.","description":"A medium olive steel ammunition can of rifle cartridges in rows, with a rubber lid seal, a folding handle and a stencil panel each side. Dimensions 0.292 x 0.208 x 0.176 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (-0.0009, 0.1865, -0.081). The lid lifts on its back hinge. The latch and the folding handle are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rifle-ammo-box-1e919883","cdnUrl":"https://cdn.3dassets.dev/assets/33074/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rifle-ammo-box-1e919883","thumbnailUrl":"https://cdn.3dassets.dev/assets/33074/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33074/v1/poster.webp","blurhash":"U6CGoG_L00D*R8x@%KRk00Myxbr]D*xtbbIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":205192,"triangles":8972,"vertices":8971,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.1458499979108572,0.000007964013300762462,-0.08800066483702197],"max":[0.14585000762045383,0.2084995220654968,0.08799999984353782]},"sizeMeters":[0.292,0.208,0.176],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:05.300Z","updatedAt":"2026-09-08T16:49:05.494Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33074/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function RifleAmmunitionBoxMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33074/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33074/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33074/v1/model.glb\" alt=\"Rifle Ammunition Box (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33074/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33074/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33075","slug":"mega-weapon-pack-shotgun-ammo-box-db73f4f3","title":"Shotgun Ammunition Box (Mega Weapon Pack)","summary":"An olive steel ammunition can of shotgun shells standing in rows, with a hinged lid, a latch and a folding carry handle. Premium modern game asset for shooter and survival projects.","description":"An olive steel ammunition can of shotgun shells standing in rows, with a hinged lid, a latch and a folding carry handle. Dimensions 0.252 x 0.169 x 0.186 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (-0.0008, 0.1465, -0.086). The lid lifts on its back hinge. The latch and the folding handle are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-shotgun-ammo-box-db73f4f3","cdnUrl":"https://cdn.3dassets.dev/assets/33075/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-shotgun-ammo-box-db73f4f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/33075/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33075/v1/poster.webp","blurhash":"U6CZwl_M00D*9axsxuba00Rifms+V=s=-.D+","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":196128,"triangles":8252,"vertices":8670,"meshes":8,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.12584999999701976,-0.000008277875176099236,-0.09299710306427957],"max":[0.12585001387894154,0.1684980804099846,0.09300000520795584]},"sizeMeters":[0.252,0.169,0.186],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:05.357Z","updatedAt":"2026-09-08T16:49:05.535Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33075/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ShotgunAmmunitionBoxMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33075/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33075/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33075/v1/model.glb\" alt=\"Shotgun Ammunition Box (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33075/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33075/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33076","slug":"mega-weapon-pack-pistol-case-16aa7e4d","title":"Pistol Case (Mega Weapon Pack)","summary":"A moulded pistol case with cut outs in the foam for a handgun and two magazines, twin latches, a rubber seal and a hinged lid. Premium modern game asset for shooter and survival projects.","description":"A moulded pistol case with cut outs in the foam for a handgun and two magazines, twin latches, a rubber seal and a hinged lid. Dimensions 0.369 x 0.362 x 0.451 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (0, 0.094, -0.0877). Shipped with the lid held open against its hinge, so the case reads as a display; the lid is a named node but is deliberately not animated in this pose. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pistol-case-16aa7e4d","cdnUrl":"https://cdn.3dassets.dev/assets/33076/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pistol-case-16aa7e4d","thumbnailUrl":"https://cdn.3dassets.dev/assets/33076/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33076/v1/poster.webp","blurhash":"U04xrUIU00~D=y00EL_N00SL^+H?-p_3XmS}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":275276,"triangles":11956,"vertices":12457,"meshes":5,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.18440000712871552,0.00000208602773043437,-0.22531825232505784],"max":[0.18440000712871552,0.3624805540838792,0.22530976926505605]},"sizeMeters":[0.369,0.362,0.451],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:06.874Z","updatedAt":"2026-09-08T16:49:07.078Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33076/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PistolCaseMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33076/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33076/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33076/v1/model.glb\" alt=\"Pistol Case (Mega Weapon Pack)\" 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/33076/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/33076/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33077","slug":"mega-weapon-pack-rifle-case-0ffb15fe","title":"Rifle Case (Mega Weapon Pack)","summary":"A long moulded rifle case with a full length cut out for a rifle and a row of magazine slots beside it, four latches and a hinged lid. Premium modern game asset for shooter and survival projects.","description":"A long moulded rifle case with a full length cut out for a rifle and a row of magazine slots beside it, four latches and a hinged lid. Dimensions 1.109 x 0.439 x 0.530 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (0, 0.114, -0.108). Shipped with the lid held open against its hinge, so the case reads as a display; the lid is a named node but is deliberately not animated in this pose. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-rifle-case-0ffb15fe","cdnUrl":"https://cdn.3dassets.dev/assets/33077/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-rifle-case-0ffb15fe","thumbnailUrl":"https://cdn.3dassets.dev/assets/33077/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33077/v1/poster.webp","blurhash":"U04xoMM{00ax-=%ND%IT00%3.8M{RjD%-;Rk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":275056,"triangles":11956,"vertices":12445,"meshes":5,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5544000267982483,8.470462236481735e-8,-0.2649885968063788],"max":[0.5544000267982483,0.4392376793913545,0.26503591926369197]},"sizeMeters":[1.109,0.439,0.53],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:08.116Z","updatedAt":"2026-09-08T16:49:08.216Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33077/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RifleCaseMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33077/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33077/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33077/v1/model.glb\" alt=\"Rifle Case (Mega Weapon Pack)\" 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/33077/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/33077/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33078","slug":"mega-weapon-pack-hard-case-closed-55a2f9d6","title":"Closed Hard Case (Mega Weapon Pack)","summary":"A closed hard transport case with a ribbed lid, a rubber seal, side latches and a moulded carry handle. Premium modern game asset for shooter and survival projects.","description":"A closed hard transport case with a ribbed lid, a rubber seal, side latches and a moulded carry handle. Dimensions 0.609 x 0.184 x 0.401 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (0, 0.134, -0.1925). The lid lifts on its back hinge. The latches, the seal and the handle are modelled and left static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-hard-case-closed-55a2f9d6","cdnUrl":"https://cdn.3dassets.dev/assets/33078/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-hard-case-closed-55a2f9d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33078/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33078/v1/poster.webp","blurhash":"U03[#d_300WA%gtRa}jY00IU?cM{9EM{t7R-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":234724,"triangles":9556,"vertices":10762,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.3043999969959259,-0.0000015900464887669274,-0.20049643103003403],"max":[0.3043999969959259,0.18400739396300317,0.20049512139022863]},"sizeMeters":[0.609,0.184,0.401],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:06.899Z","updatedAt":"2026-09-08T16:49:07.072Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33078/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ClosedHardCaseMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33078/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33078/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33078/v1/model.glb\" alt=\"Closed Hard Case (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33078/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33078/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33079","slug":"mega-weapon-pack-wall-rifle-rack-eecf28c6","title":"Wall Rifle Rack (Mega Weapon Pack)","summary":"A wall mounted rifle rack: a fixed board with six padded muzzle cradles, six butt cups and a top and bottom rail, hung so its lowest point is at half a metre. Premium modern game asset for shooter and survival projects.","description":"A wall mounted rifle rack: a fixed board with six padded muzzle cradles, six butt cups and a top and bottom rail, hung so its lowest point is at half a metre. Dimensions 1.620 x 0.620 x 0.142 m (X x Y x Z). Origin at the footprint centre with the lowest point of the board on y = 0; hang it at the height the wall wants; metre units, +Y up, muzzle and point toward +Z. Static furniture: nothing on it moves. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-wall-rifle-rack-eecf28c6","cdnUrl":"https://cdn.3dassets.dev/assets/33079/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-wall-rifle-rack-eecf28c6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33079/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33079/v1/poster.webp","blurhash":"U7CP9A%J0gj?={~AobI:02xa={R*WmEgjInj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":402512,"triangles":19540,"vertices":17650,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8100000023841858,-0.000013426672489325053,-0.07079805923118711],"max":[0.8100000023841858,0.620013431440861,0.07079805923118711]},"sizeMeters":[1.62,0.62,0.142],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:07.169Z","updatedAt":"2026-09-08T16:49:07.382Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33079/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallRifleRackMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33079/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33079/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33079/v1/model.glb\" alt=\"Wall Rifle Rack (Mega Weapon Pack)\" 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/33079/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/33079/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33080","slug":"mega-weapon-pack-floor-rifle-rack-e6409329","title":"Floor Rifle Rack (Mega Weapon Pack)","summary":"A welded floor rack for eight long guns: an alloy frame with rubber muzzle dividers along the top rail, butt dividers on the base tray and rubber feet. Premium modern game asset for shooter and survival projects.","description":"A welded floor rack for eight long guns: an alloy frame with rubber muzzle dividers along the top rail, butt dividers on the base tray and rubber feet. Dimensions 1.470 x 1.100 x 0.490 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static furniture: nothing on it moves. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-floor-rifle-rack-e6409329","cdnUrl":"https://cdn.3dassets.dev/assets/33080/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-floor-rifle-rack-e6409329","thumbnailUrl":"https://cdn.3dassets.dev/assets/33080/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33080/v1/poster.webp","blurhash":"U47-c:t700ofMy%MogM{xvRjM_t7_4?bIT9E","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":191184,"triangles":11052,"vertices":7676,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7350000143051147,-0.000014353634131158977,-0.24497009662850303],"max":[0.7350000143051147,1.100014377475989,0.24497009662850303]},"sizeMeters":[1.47,1.1,0.49],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:08.230Z","updatedAt":"2026-09-08T16:49:08.429Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33080/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorRifleRackMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33080/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33080/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33080/v1/model.glb\" alt=\"Floor Rifle Rack (Mega Weapon Pack)\" 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/33080/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/33080/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33081","slug":"mega-weapon-pack-pistol-pegboard-3cdbe86c","title":"Pistol Pegboard (Mega Weapon Pack)","summary":"A perforated pegboard for handguns: a framed board with eighty eight holes and ten steel hangers in two rows, hung above waist height. Premium modern game asset for shooter and survival projects.","description":"A perforated pegboard for handguns: a framed board with eighty eight holes and ten steel hangers in two rows, hung above waist height. Dimensions 1.220 x 0.900 x 0.103 m (X x Y x Z). Origin at the footprint centre with the lowest point of the board on y = 0; hang it at the height the wall wants; metre units, +Y up, muzzle and point toward +Z. Static furniture: the hangers do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pistol-pegboard-3cdbe86c","cdnUrl":"https://cdn.3dassets.dev/assets/33081/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pistol-pegboard-3cdbe86c","thumbnailUrl":"https://cdn.3dassets.dev/assets/33081/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33081/v1/poster.webp","blurhash":"U5C~I,$R00jG?t~AV[0g03o|^iRjof%LRl9t","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":399672,"triangles":15180,"vertices":19106,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.6100000143051147,-0.000030235798972211292,-0.0512827956607002],"max":[0.6100000143051147,0.9000302119571143,0.05131513816900384]},"sizeMeters":[1.22,0.9,0.103],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:08.676Z","updatedAt":"2026-09-08T16:49:08.769Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33081/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PistolPegboardMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33081/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33081/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33081/v1/model.glb\" alt=\"Pistol Pegboard (Mega Weapon Pack)\" 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/33081/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/33081/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33082","slug":"mega-weapon-pack-gunsmith-bench-9ad4f512","title":"Gunsmith Bench (Mega Weapon Pack)","summary":"A gunsmith workbench: a thick planked top on four legs with a lower shelf, a back board with a lit strip lamp and eight tool hooks, and a bench vice whose padded jaw and cross handle turn on the screw. Premium modern game asset for shooter and survival projects.","description":"A gunsmith workbench: a thick planked top on four legs with a lower shelf, a back board with a lit strip lamp and eight tool hooks, and a bench vice whose padded jaw and cross handle turn on the screw. Dimensions 1.800 x 1.400 x 0.720 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: crank at (-0.58, 0.99, 0.19). The vice screw and its moving jaw turn on the screw axis. The bench, the lamp and the hooks are static. Rigid node-transform clips spin drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-gunsmith-bench-9ad4f512","cdnUrl":"https://cdn.3dassets.dev/assets/33082/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-gunsmith-bench-9ad4f512","thumbnailUrl":"https://cdn.3dassets.dev/assets/33082/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33082/v1/poster.webp","blurhash":"U6C$P|S200s:~9xsEMIp01RixDRnIp%1NIIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":306204,"triangles":15424,"vertices":12899,"meshes":8,"materials":5,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.8999999761581421,-0.00004271928939625358,-0.3599505504792154],"max":[0.8999999761581421,1.4000426954475382,0.3599505504792154]},"sizeMeters":[1.8,1.4,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:09.018Z","updatedAt":"2026-09-08T16:49:09.217Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33082/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function GunsmithBenchMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33082/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33082/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33082/v1/model.glb\" alt=\"Gunsmith Bench (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33082/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33082/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33083","slug":"mega-weapon-pack-melee-wall-rack-b4ec7325","title":"Melee Wall Rack (Mega Weapon Pack)","summary":"A wall rack for blades and hafted weapons: a framed board with ten steel hooks in two rows and a slotted rail along the bottom for haft butts. Premium modern game asset for shooter and survival projects.","description":"A wall rack for blades and hafted weapons: a framed board with ten steel hooks in two rows and a slotted rail along the bottom for haft butts. Dimensions 1.120 x 0.800 x 0.129 m (X x Y x Z). Origin at the footprint centre with the lowest point of the board on y = 0; hang it at the height the wall wants; metre units, +Y up, muzzle and point toward +Z. Static furniture: the hooks do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-melee-wall-rack-b4ec7325","cdnUrl":"https://cdn.3dassets.dev/assets/33083/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-melee-wall-rack-b4ec7325","thumbnailUrl":"https://cdn.3dassets.dev/assets/33083/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33083/v1/poster.webp","blurhash":"U5Ci25xt00so~T~AM|5803t6~9M}XRxaRkEM","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":317752,"triangles":13644,"vertices":14562,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.5600000023841858,-0.000017086107904684678,-0.06431179265247657],"max":[0.5600000023841858,0.8000170980288337,0.06426862774454152]},"sizeMeters":[1.12,0.8,0.129],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:08.152Z","updatedAt":"2026-09-08T16:49:08.255Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33083/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MeleeWallRackMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33083/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33083/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33083/v1/model.glb\" alt=\"Melee Wall Rack (Mega Weapon Pack)\" 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/33083/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/33083/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33084","slug":"mega-weapon-pack-cleaning-kit-2a0a5c14","title":"Cleaning Kit (Mega Weapon Pack)","summary":"An open gunsmith cleaning roll: a leather roll with four sectioned rods and brass handles, three bore brushes, a solvent bottle with a red cap, a stack of patches and a polymer tin. Premium modern game asset for shooter and survival projects.","description":"An open gunsmith cleaning roll: a leather roll with four sectioned rods and brass handles, three bore brushes, a solvent bottle with a red cap, a stack of patches and a polymer tin. Dimensions 0.440 x 0.128 x 0.300 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static set dressing: nothing in it moves. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-cleaning-kit-2a0a5c14","cdnUrl":"https://cdn.3dassets.dev/assets/33084/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-cleaning-kit-2a0a5c14","thumbnailUrl":"https://cdn.3dassets.dev/assets/33084/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33084/v1/poster.webp","blurhash":"U79%9d$%0Lof4;xa%LNG01I:?GkV~UIoIV%1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":290064,"triangles":16968,"vertices":11428,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.2199999988079071,0.000009460473560016919,-0.15000579770397843],"max":[0.2199999988079071,0.12810732308386025,0.15000579770397843]},"sizeMeters":[0.44,0.128,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:10.268Z","updatedAt":"2026-09-08T16:49:10.400Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33084/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CleaningKitMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33084/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33084/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33084/v1/model.glb\" alt=\"Cleaning Kit (Mega Weapon Pack)\" 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/33084/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/33084/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33085","slug":"mega-weapon-pack-armoury-floor-tile-0d9ea9ec","title":"Armoury Floor Tile (Mega Weapon Pack)","summary":"A two metre square poured concrete floor tile with a proud expansion joint on every edge and a steel drain grate in one corner, for tiling an armoury floor. Premium modern game asset for shooter and survival projects.","description":"A two metre square poured concrete floor tile with a proud expansion joint on every edge and a steel drain grate in one corner, for tiling an armoury floor. Dimensions 2.000 x 0.068 x 2.000 m (X x Y x Z). Modular piece: the origin is the centre of the two metre grid square at floor level; metre units, +Y up, muzzle and point toward +Z. Connectors: n grid at (0, 0.06, 1) facing +Z; s grid at (0, 0.06, -1) facing -Z; e grid at (1, 0.06, 0) facing +X; w grid at (-1, 0.06, 0) facing -X. Static modular piece. The ports are grid edges on the two metre module, not weapon sockets. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-floor-tile-0d9ea9ec","cdnUrl":"https://cdn.3dassets.dev/assets/33085/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-floor-tile-0d9ea9ec","thumbnailUrl":"https://cdn.3dassets.dev/assets/33085/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33085/v1/poster.webp","blurhash":"U7D0Gn-;00Rj-;ayRjof00IU~qWB9Foft7Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19860,"triangles":888,"vertices":782,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.000040009922385238206,-1],"max":[1,0.0679918219787211,1]},"sizeMeters":[2,0.068,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:09.056Z","updatedAt":"2026-09-08T16:49:09.200Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33085/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryFloorTileMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33085/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33085/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33085/v1/model.glb\" alt=\"Armoury Floor Tile (Mega Weapon Pack)\" 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/33085/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/33085/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33086","slug":"mega-weapon-pack-armoury-wall-panel-12de2a25","title":"Armoury Wall Panel (Mega Weapon Pack)","summary":"A two metre concrete wall panel with a proud pier at each edge, a head and a base course, four steel dado rails and a lit strip lamp near the top, for building an armoury on the two metre grid. Premium modern game asset for shooter and survival projects.","description":"A two metre concrete wall panel with a proud pier at each edge, a head and a base course, four steel dado rails and a lit strip lamp near the top, for building an armoury on the two metre grid. Dimensions 2.040 x 2.600 x 0.194 m (X x Y x Z). Modular piece: the origin is the centre of the wall foot on the two metre grid line; metre units, +Y up, muzzle and point toward +Z. Connectors: e grid at (1, 0, -0.017) facing +X; w grid at (-1, 0, -0.017) facing -X. Static modular piece. The ports are grid edges on the two metre module, not weapon sockets. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-wall-panel-12de2a25","cdnUrl":"https://cdn.3dassets.dev/assets/33086/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-wall-panel-12de2a25","thumbnailUrl":"https://cdn.3dassets.dev/assets/33086/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33086/v1/poster.webp","blurhash":"U8F68{~q009G?b?bWA9F00IU?bxuxu%LRjD%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32436,"triangles":1572,"vertices":1254,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.020059778863002,0,-0.09698291135010009],"max":[1.020059778863002,2.5999999046325684,0.09699466087988899]},"sizeMeters":[2.04,2.6,0.194],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:09.163Z","updatedAt":"2026-09-08T16:49:09.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33086/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryWallPanelMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33086/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33086/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33086/v1/model.glb\" alt=\"Armoury Wall Panel (Mega Weapon Pack)\" 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/33086/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/33086/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33088","slug":"mega-weapon-pack-armoury-ceiling-panel-d43dc71f","title":"Armoury Ceiling Panel (Mega Weapon Pack)","summary":"A two metre concrete ceiling panel with a downstand beam on each edge, a lit fluorescent batten across the middle and two duct stubs, so an armoury can be roofed and still read from above. Premium modern game asset for shooter and survival projects.","description":"A two metre concrete ceiling panel with a downstand beam on each edge, a lit fluorescent batten across the middle and two duct stubs, so an armoury can be roofed and still read from above. Dimensions 2.000 x 0.240 x 2.000 m (X x Y x Z). Modular piece: the origin is the centre of the two metre grid square at the ceiling soffit, and the panel hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: n grid at (0, 0.14, 1) facing +Z; s grid at (0, 0.14, -1) facing -Z; e grid at (1, 0.14, 0) facing +X; w grid at (-1, 0.14, 0) facing -X. Static modular piece. The ports are grid edges on the two metre module, not weapon sockets. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-ceiling-panel-d43dc71f","cdnUrl":"https://cdn.3dassets.dev/assets/33088/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-ceiling-panel-d43dc71f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33088/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33088/v1/poster.webp","blurhash":"U6Dl{2_300M{_2WBM{xt009F~qWB00xut7IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21872,"triangles":1020,"vertices":806,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.0000012180581700216297,-1],"max":[1,0.23999877657741195,1]},"sizeMeters":[2,0.24,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:10.295Z","updatedAt":"2026-09-08T16:49:10.416Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33088/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryCeilingPanelMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33088/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33088/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33088/v1/model.glb\" alt=\"Armoury Ceiling Panel (Mega Weapon Pack)\" 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/33088/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/33088/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33087","slug":"mega-weapon-pack-armoury-door-df8288d8","title":"Armoury Door (Mega Weapon Pack)","summary":"A two metre armoury wall bay with a steel security door in it: a braced leaf on two hinge sets with a lever handle and a lock escutcheon, in a proud steel frame. Premium modern game asset for shooter and survival projects.","description":"A two metre armoury wall bay with a steel security door in it: a braced leaf on two hinge sets with a lever handle and a lock escutcheon, in a proud steel frame. Dimensions 2.000 x 2.604 x 0.180 m (X x Y x Z). Modular piece: the origin is the centre of the wall foot on the two metre grid line; metre units, +Y up, muzzle and point toward +Z. Named pivots: door-main at (-0.48, 0.004, 0.02). Connectors: e grid at (1, 0.004, 0) facing +X; w grid at (-1, 0.004, 0) facing -X. The door leaf swings on its hinge side. The lever, the lock and the frame are static. The ports are grid edges on the two metre module, not weapon sockets. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-door-df8288d8","cdnUrl":"https://cdn.3dassets.dev/assets/33087/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-door-df8288d8","thumbnailUrl":"https://cdn.3dassets.dev/assets/33087/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33087/v1/poster.webp","blurhash":"U9DS:tWB00t7~q?a9F9F4nofayRjt7xuWBIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"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":60496,"triangles":2892,"vertices":2374,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0000640892639459,0,-0.0900466968976324],"max":[1.0000640892639459,2.6040000915527344,0.0900466968976324]},"sizeMeters":[2,2.604,0.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:10.325Z","updatedAt":"2026-09-08T16:49:10.527Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33087/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ArmouryDoorMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33087/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33087/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33087/v1/model.glb\" alt=\"Armoury Door (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33087/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33087/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33089","slug":"mega-weapon-pack-armoury-shelf-unit-4c0bb4a7","title":"Armoury Shelf Unit (Mega Weapon Pack)","summary":"A four shelf steel shelving unit for an armoury store: slotted uprights, four trays with a proud lip front and back, and rubber feet. Premium modern game asset for shooter and survival projects.","description":"A four shelf steel shelving unit for an armoury store: slotted uprights, four trays with a proud lip front and back, and rubber feet. Dimensions 1.280 x 1.800 x 0.480 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Static furniture: the shelves do not move. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-shelf-unit-4c0bb4a7","cdnUrl":"https://cdn.3dassets.dev/assets/33089/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-shelf-unit-4c0bb4a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/33089/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33089/v1/poster.webp","blurhash":"U47_7zxv00IT_Nxu9EIU00WA_4ozoyofWBRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"}],"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":161452,"triangles":8688,"vertices":6704,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.6399999856948853,2.3841858265427618e-8,-0.24002685092332057],"max":[0.6399999856948853,1.7999999523162842,0.24002685092332057]},"sizeMeters":[1.28,1.8,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:11.406Z","updatedAt":"2026-09-08T16:49:11.634Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33089/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryShelfUnitMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33089/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33089/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33089/v1/model.glb\" alt=\"Armoury Shelf Unit (Mega Weapon Pack)\" 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/33089/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/33089/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33090","slug":"mega-weapon-pack-ammo-crate-bc3467fa","title":"Ammunition Crate (Mega Weapon Pack)","summary":"A wooden ammunition crate with corner posts, banded ends, a stencilled panel and a battened lid on a back hinge, part packed with shells. Premium modern game asset for shooter and survival projects.","description":"A wooden ammunition crate with corner posts, banded ends, a stencilled panel and a battened lid on a back hinge, part packed with shells. Dimensions 0.640 x 0.402 x 0.452 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: lid at (0, 0.34, -0.218). The lid lifts on its back hinge. The bands and the latch are static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-ammo-crate-bc3467fa","cdnUrl":"https://cdn.3dassets.dev/assets/33090/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-ammo-crate-bc3467fa","thumbnailUrl":"https://cdn.3dassets.dev/assets/33090/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33090/v1/poster.webp","blurhash":"U8DbTU}@0fRkS6$%t4t502IpbtS2IUofxZIq","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"}],"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":138336,"triangles":5930,"vertices":5997,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.3199999928474426,0.000014192037911725519,-0.22599682054801387],"max":[0.3199999928474426,0.4019978667143394,0.22601073411084052]},"sizeMeters":[0.64,0.402,0.452],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:11.302Z","updatedAt":"2026-09-08T16:49:11.481Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33090/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function AmmunitionCrateMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33090/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33090/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33090/v1/model.glb\" alt=\"Ammunition Crate (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33090/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33090/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33091","slug":"mega-weapon-pack-short-carbine-cqb-loadout-57bce469","title":"Short Carbine, CQB Loadout (Mega Weapon Pack)","summary":"The short carbine fitted for close quarters: a reflex sight on the receiver rail, a weapon light under the handguard and a vertical fore grip behind it. Premium modern game asset for shooter and survival projects.","description":"The short carbine fitted for close quarters: a reflex sight on the receiver rail, a weapon light under the handguard and a vertical fore grip behind it. Dimensions 0.059 x 0.295 x 0.680 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.21, -0.34); magazine at (0, 0.162, -0.064); charge at (0, 0.224, -0.138). Connectors: optic optic-rail at (0, 0.2459, -0.044) facing +Y; muzzle muzzle at (0, 0.2075, 0.34) facing +Z; magazine magazine at (0, 0.162, -0.064) facing -Y; underbarrel underbarrel at (0, 0.1753, 0.155) facing -Y; side-rail side-rail at (-0.0322, 0.2075, 0.1645) facing -X; stock stock at (0, 0.21, -0.16) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-short-carbine-cqb-loadout-57bce469","cdnUrl":"https://cdn.3dassets.dev/assets/33091/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-short-carbine-cqb-loadout-57bce469","thumbnailUrl":"https://cdn.3dassets.dev/assets/33091/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33091/v1/poster.webp","blurhash":"U14o4ntS00IU~qDiD$%M004n%M_300-;?c%N","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1419428,"triangles":54544,"vertices":67259,"meshes":16,"materials":11,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.3400000035762787],"max":[0.029600000008940697,0.295527355114283,0.3400000035762787]},"sizeMeters":[0.059,0.296,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:12.648Z","updatedAt":"2026-09-08T16:49:12.831Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33091/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ShortCarbineCQBLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33091/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33091/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33091/v1/model.glb\" alt=\"Short Carbine, CQB Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33091/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33091/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33093","slug":"mega-weapon-pack-standard-rifle-patrol-loadout-a7905b80","title":"Standard Rifle, Patrol Loadout (Mega Weapon Pack)","summary":"The standard rifle fitted for patrol: a three times prism sight on the rail, an angled fore grip under the handguard and a laser module on the left rail. Premium modern game asset for shooter and survival projects.","description":"The standard rifle fitted for patrol: a three times prism sight on the rail, an angled fore grip under the handguard and a laser module on the left rail. Dimensions 0.111 x 0.320 x 0.830 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0.0217, 0.162, -0.0989); charge at (0.0217, 0.224, -0.1729). Connectors: optic optic-rail at (0.0216, 0.2459, -0.0738) facing +Y; muzzle muzzle at (0.0216, 0.2075, 0.4152) facing +Z; magazine magazine at (0.0216, 0.162, -0.0988) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-standard-rifle-patrol-loadout-a7905b80","cdnUrl":"https://cdn.3dassets.dev/assets/33093/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-standard-rifle-patrol-loadout-a7905b80","thumbnailUrl":"https://cdn.3dassets.dev/assets/33093/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33093/v1/poster.webp","blurhash":"U24LaqR.4Txb_4IUI9%N00IT-;%g00%L.9NF","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1695752,"triangles":63844,"vertices":81269,"meshes":12,"materials":10,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.055253822020507624,-4.846849005479825e-9,-0.415149986743927],"max":[0.055253822020507624,0.3195354507118304,0.415149986743927]},"sizeMeters":[0.111,0.32,0.83],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:13.688Z","updatedAt":"2026-09-08T16:49:13.893Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33093/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StandardRiflePatrolLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33093/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33093/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33093/v1/model.glb\" alt=\"Standard Rifle, Patrol Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33093/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33093/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33092","slug":"mega-weapon-pack-long-barrel-rifle-suppressed-6b40f3f7","title":"Long Barrel Rifle, Suppressed (Mega Weapon Pack)","summary":"The long barrelled rifle with a rifle suppressor on the threaded muzzle and a four times scope on the receiver rail. Premium modern game asset for shooter and survival projects.","description":"The long barrelled rifle with a rifle suppressor on the threaded muzzle and a four times scope on the receiver rail. Dimensions 0.068 x 0.325 x 1.184 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0015, 0.162, -0.2659); charge at (-0.0015, 0.224, -0.3399). Connectors: optic optic-rail at (-0.0015, 0.2459, -0.1139) facing +Y; muzzle muzzle at (-0.0015, 0.2075, 0.3681) facing +Z; magazine magazine at (-0.0015, 0.162, -0.2658) facing -Y; underbarrel underbarrel at (-0.0015, 0.1718, 0.0582) facing -Y; side-rail side-rail at (-0.0372, 0.2075, 0.0771) facing -X. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-long-barrel-rifle-suppressed-6b40f3f7","cdnUrl":"https://cdn.3dassets.dev/assets/33092/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-long-barrel-rifle-suppressed-6b40f3f7","thumbnailUrl":"https://cdn.3dassets.dev/assets/33092/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33092/v1/poster.webp","blurhash":"U24U~PM}4o?v_MDiIA?b4TD$%Mxt8{-=?cD*","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":2168500,"triangles":73468,"vertices":107263,"meshes":11,"materials":9,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.03415765820211111,-4.846849005479825e-9,-0.5921484992079973],"max":[0.03415765820211111,0.3246173171853075,0.5921499729156494]},"sizeMeters":[0.068,0.325,1.184],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:13.392Z","updatedAt":"2026-09-08T16:49:13.506Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33092/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function LongBarrelRifleSuppressedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33092/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33092/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33092/v1/model.glb\" alt=\"Long Barrel Rifle, Suppressed (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33092/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33092/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33094","slug":"mega-weapon-pack-bullpup-rifle-optic-loadout-0935242f","title":"Bullpup Rifle, Optic Loadout (Mega Weapon Pack)","summary":"The bullpup rifle with a holographic sight on the full length rail, a fore grip under the handguard and a light beside it. Premium modern game asset for shooter and survival projects.","description":"The bullpup rifle with a holographic sight on the full length rail, a fore grip under the handguard and a light beside it. Dimensions 0.059 x 0.305 x 0.724 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.162, -0.2579); charge at (0, 0.224, 0.0121). Connectors: optic optic-rail at (0, 0.2459, -0.1529) facing +Y; muzzle muzzle at (0, 0.2075, 0.3622) facing +Z; magazine magazine at (0, 0.162, -0.2579) facing -Y; underbarrel underbarrel at (0, 0.1753, 0.1321) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bullpup-rifle-optic-loadout-0935242f","cdnUrl":"https://cdn.3dassets.dev/assets/33094/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bullpup-rifle-optic-loadout-0935242f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33094/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33094/v1/poster.webp","blurhash":"U34o7wWAIAj^_4D%Vs%MDi9E%M-;MwNG%gt6","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1511024,"triangles":57492,"vertices":72062,"meshes":13,"materials":11,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-4.846849005479825e-9,-0.36215001344680786],"max":[0.029600000008940697,0.3050396453966539,0.36215001344680786]},"sizeMeters":[0.059,0.305,0.724],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:13.923Z","updatedAt":"2026-09-08T16:49:14.137Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33094/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupRifleOpticLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33094/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33094/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33094/v1/model.glb\" alt=\"Bullpup Rifle, Optic Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33094/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33094/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33095","slug":"mega-weapon-pack-battle-rifle-marksman-loadout-9d843887","title":"Battle Rifle, Marksman Loadout (Mega Weapon Pack)","summary":"The battle rifle set up for marksmanship: an eight times scope on the rail, a muzzle suppressor and a laser module on the side rail. Premium modern game asset for shooter and survival projects.","description":"The battle rifle set up for marksmanship: an eight times scope on the rail, a muzzle suppressor and a laser module on the side rail. Dimensions 0.118 x 0.353 x 1.184 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0.0205, 0.1779, -0.2659); charge at (0.0205, 0.2459, -0.3399). Connectors: optic optic-rail at (0.0204, 0.2678, -0.2208) facing +Y; muzzle muzzle at (0.0204, 0.2256, 0.3482) facing +Z; magazine magazine at (0.0204, 0.1779, -0.2658) facing -Y; underbarrel underbarrel at (0.0204, 0.1909, 0.0582) facing -Y; side-rail side-rail at (-0.0143, 0.2256, 0.0732) facing -X. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-battle-rifle-marksman-loadout-9d843887","cdnUrl":"https://cdn.3dassets.dev/assets/33095/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-battle-rifle-marksman-loadout-9d843887","thumbnailUrl":"https://cdn.3dassets.dev/assets/33095/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33095/v1/poster.webp","blurhash":"U24B^3My9E%g?wIAIT%N00Im.7s=00-;?vIU","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1985996,"triangles":79688,"vertices":93411,"meshes":13,"materials":11,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.058920741616037,4.668070485713827e-9,-0.5921484966138119],"max":[0.058920741616037,0.35324161834943196,0.5921499729156494]},"sizeMeters":[0.118,0.353,1.184],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:13.960Z","updatedAt":"2026-09-08T16:49:14.249Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33095/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BattleRifleMarksmanLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33095/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33095/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33095/v1/model.glb\" alt=\"Battle Rifle, Marksman Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33095/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33095/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33096","slug":"mega-weapon-pack-piston-carbine-night-loadout-a4b3b18a","title":"Piston Carbine, Night Loadout (Mega Weapon Pack)","summary":"The piston carbine with a night sight on the receiver rail, a light and laser pair under the quad rail and a suppressor on the muzzle. Premium modern game asset for shooter and survival projects.","description":"The piston carbine with a night sight on the receiver rail, a light and laser pair under the quad rail and a suppressor on the muzzle. Dimensions 0.114 x 0.328 x 0.720 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0.0199, 0.204, -0.1879); magazine at (0.0199, 0.162, -0.0939); charge at (0.0199, 0.224, -0.1679). Connectors: optic optic-rail at (0.0199, 0.2459, -0.0738) facing +Y; muzzle muzzle at (0.0199, 0.2075, 0.3602) facing +Z; magazine magazine at (0.0199, 0.162, -0.0939) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-piston-carbine-night-loadout-a4b3b18a","cdnUrl":"https://cdn.3dassets.dev/assets/33096/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-piston-carbine-night-loadout-a4b3b18a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33096/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33096/v1/poster.webp","blurhash":"U24_tls.00o#~qIA9F-=009F-;_34nt7?cRj","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1647960,"triangles":60632,"vertices":79283,"meshes":15,"materials":11,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.057001861484500344,-4.846849005479825e-9,-0.3601485145651341],"max":[0.057001861484500344,0.3280248267667449,0.360150009393692]},"sizeMeters":[0.114,0.328,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:14.432Z","updatedAt":"2026-09-08T16:49:14.595Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33096/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PistonCarbineNightLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33096/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33096/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33096/v1/model.glb\" alt=\"Piston Carbine, Night Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33096/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33096/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33098","slug":"mega-weapon-pack-marksman-rifle-scoped-f49abc0f","title":"Marksman Rifle, Scoped (Mega Weapon Pack)","summary":"The marksman rifle with an eight times scope on its full length rail and a suppressor on the threaded muzzle. Premium modern game asset for shooter and survival projects.","description":"The marksman rifle with an eight times scope on its full length rail and a suppressor on the threaded muzzle. Dimensions 0.071 x 0.355 x 1.234 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0044, 0.1779, -0.2809); charge at (-0.0044, 0.2439, -0.3549); leg-l at (-0.0164, 0.1839, 0.2031); leg-r at (0.0076, 0.1839, 0.2031). Connectors: optic optic-rail at (-0.0044, 0.2658, -0.1338) facing +Y; muzzle muzzle at (-0.0044, 0.2249, 0.3532) facing +Z; magazine magazine at (-0.0044, 0.1779, -0.2808) facing -Y; underbarrel underbarrel at (-0.0044, 0.1902, 0.0432) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-marksman-rifle-scoped-f49abc0f","cdnUrl":"https://cdn.3dassets.dev/assets/33098/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-marksman-rifle-scoped-f49abc0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33098/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33098/v1/poster.webp","blurhash":"U13[;$s.4T%h_ND$Dh-=009E-=x]4T-=_NM_","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1905956,"triangles":77128,"vertices":89719,"meshes":17,"materials":9,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.03550000118138268,4.668070485713827e-9,-0.6171485323765987],"max":[0.03548373463973901,0.354641971004094,0.6171500086784363]},"sizeMeters":[0.071,0.355,1.234],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:14.988Z","updatedAt":"2026-09-08T16:49:15.339Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33098/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MarksmanRifleScopedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33098/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33098/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33098/v1/model.glb\" alt=\"Marksman Rifle, Scoped (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33098/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33098/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33097","slug":"mega-weapon-pack-folding-stock-smg-suppressed-db4809ff","title":"Folding Stock SMG, Suppressed (Mega Weapon Pack)","summary":"The folding stock submachine gun with a suppressor on its threaded muzzle and a reflex sight on the receiver rail. Premium modern game asset for shooter and survival projects.","description":"The folding stock submachine gun with a suppressor on its threaded muzzle and a reflex sight on the receiver rail. Dimensions 0.056 x 0.285 x 0.647 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock-fold at (0, 0.1975, -0.1784); magazine at (0, 0.1555, -0.0804); charge at (0, 0.2135, -0.1584). Connectors: optic optic-rail at (0, 0.2354, -0.0893) facing +Y; muzzle muzzle at (0, 0.1995, 0.1296) facing +Z; magazine magazine at (0, 0.1555, -0.0804) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-folding-stock-smg-suppressed-db4809ff","cdnUrl":"https://cdn.3dassets.dev/assets/33097/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-folding-stock-smg-suppressed-db4809ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/33097/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33097/v1/poster.webp","blurhash":"U14B?{?v4-o~?dD$IT?c0000xH^,Rh%f%OD*","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1189564,"triangles":45748,"vertices":56331,"meshes":13,"materials":10,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.02810000069439411,5.340203640402663e-9,-0.32364851092431496],"max":[0.02810000069439411,0.2849901065111677,0.3236500024795532]},"sizeMeters":[0.056,0.285,0.647],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:14.796Z","updatedAt":"2026-09-08T16:49:15.164Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33097/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FoldingStockSMGSuppressedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33097/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33097/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33097/v1/model.glb\" alt=\"Folding Stock SMG, Suppressed (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33097/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33097/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33099","slug":"mega-weapon-pack-carbine-smg-loadout-c9072316","title":"Carbine SMG, Fitted (Mega Weapon Pack)","summary":"The carbine length submachine gun with a reflex sight, a vertical fore grip and a light under the handguard. Premium modern game asset for shooter and survival projects.","description":"The carbine length submachine gun with a reflex sight, a vertical fore grip and a light under the handguard. Dimensions 0.059 x 0.297 x 0.700 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.2115, -0.35); magazine at (0, 0.1655, -0.036); charge at (0, 0.2255, -0.138). Connectors: optic optic-rail at (0, 0.2474, -0.049) facing +Y; muzzle muzzle at (0, 0.2102, 0.35) facing +Z; magazine magazine at (0, 0.1655, -0.036) facing -Y; underbarrel underbarrel at (0, 0.1795, 0.17) facing -Y; side-rail side-rail at (-0.0307, 0.2102, 0.182) facing -X; stock stock at (0, 0.2115, -0.16) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-carbine-smg-loadout-c9072316","cdnUrl":"https://cdn.3dassets.dev/assets/33099/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-carbine-smg-loadout-c9072316","thumbnailUrl":"https://cdn.3dassets.dev/assets/33099/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33099/v1/poster.webp","blurhash":"U37U9q9b00~V_49Ynf%M00IT~VNMMc%gI^xZ","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1497512,"triangles":57724,"vertices":70903,"meshes":17,"materials":12,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.029600000008940697,-2.4214352745133283e-11,-0.3499999940395355],"max":[0.029600000008940697,0.29698350289391146,0.3499999940395355]},"sizeMeters":[0.059,0.297,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:16.564Z","updatedAt":"2026-09-08T16:49:16.679Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33099/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CarbineSMGFittedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33099/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33099/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33099/v1/model.glb\" alt=\"Carbine SMG, Fitted (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33099/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33099/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33100","slug":"mega-weapon-pack-pdw-brace-loadout-eca9efdd","title":"PDW, Fitted (Mega Weapon Pack)","summary":"The braced personal defence weapon with a reflex sight, a suppressor on the threaded muzzle and a laser on the side rail. Premium modern game asset for shooter and survival projects.","description":"The braced personal defence weapon with a reflex sight, a suppressor on the threaded muzzle and a laser on the side rail. Dimensions 0.102 x 0.282 x 0.604 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0.0232, 0.2, -0.302); magazine at (0.0232, 0.156, -0.08); charge at (0.0232, 0.214, -0.16). Connectors: optic optic-rail at (0.0232, 0.2359, -0.091) facing +Y; muzzle muzzle at (0.0232, 0.2, 0.148) facing +Z; magazine magazine at (0.0232, 0.156, -0.08) facing -Y; underbarrel underbarrel at (0.0232, 0.1703, 0.043) facing -Y; side-rail side-rail at (-0.0066, 0.2, 0.0485) facing -X; stock stock at (0.0232, 0.2, -0.182) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-pdw-brace-loadout-eca9efdd","cdnUrl":"https://cdn.3dassets.dev/assets/33100/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-pdw-brace-loadout-eca9efdd","thumbnailUrl":"https://cdn.3dassets.dev/assets/33100/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33100/v1/poster.webp","blurhash":"U24_wt%M4mM__NIUD%t6008_-;?b00xu?v%N","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1486652,"triangles":58440,"vertices":70094,"meshes":14,"materials":10,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.051256909787008656,5.758910265329931e-9,-0.3019999861717224],"max":[0.051249998831748966,0.28171646211250956,0.30320000648498535]},"sizeMeters":[0.103,0.282,0.605],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:16.645Z","updatedAt":"2026-09-08T23:51:48.900Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33100/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PDWFittedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33100/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33100/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33100/v1/model.glb\" alt=\"PDW, Fitted (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33100/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33100/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33101","slug":"mega-weapon-pack-tactical-shotgun-loadout-e1d57a86","title":"Magazine Shotgun, Fitted (Mega Weapon Pack)","summary":"The magazine fed shotgun with a reflex sight on the receiver rail, a light under the handguard and an angled fore grip. Premium modern game asset for shooter and survival projects.","description":"The magazine fed shotgun with a reflex sight on the receiver rail, a light under the handguard and an angled fore grip. Dimensions 0.068 x 0.309 x 0.822 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (0, 0.2195, -0.411); magazine at (0, 0.1655, -0.111); charge at (0, 0.2335, -0.199). Connectors: optic optic-rail at (0, 0.2554, -0.105) facing +Y; muzzle muzzle at (0, 0.2133, 0.359) facing +Z; magazine magazine at (0, 0.1655, -0.111) facing -Y; underbarrel underbarrel at (0, 0.1776, 0.109) facing -Y; side-rail side-rail at (-0.0357, 0.2133, 0.12) facing -X; stock stock at (0, 0.2195, -0.221) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-tactical-shotgun-loadout-e1d57a86","cdnUrl":"https://cdn.3dassets.dev/assets/33101/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-tactical-shotgun-loadout-e1d57a86","thumbnailUrl":"https://cdn.3dassets.dev/assets/33101/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33101/v1/poster.webp","blurhash":"U13[#eW?00Mw_ND%IA%300Di?b?v00%N?cX4","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1649940,"triangles":65880,"vertices":77416,"meshes":16,"materials":11,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.0340999998152256,-2.42143805007089e-11,-0.41100001335144043],"max":[0.0340999998152256,0.3087868206295073,0.41100001335144043]},"sizeMeters":[0.068,0.309,0.822],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:17.227Z","updatedAt":"2026-09-08T16:49:17.566Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33101/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MagazineShotgunFittedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33101/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33101/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33101/v1/model.glb\" alt=\"Magazine Shotgun, Fitted (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33101/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33101/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33103","slug":"mega-weapon-pack-bullpup-shotgun-loadout-b7599377","title":"Bullpup Shotgun, Fitted (Mega Weapon Pack)","summary":"The bullpup shotgun with a holographic sight on its full length rail. Premium modern game asset for shooter and survival projects.","description":"The bullpup shotgun with a holographic sight on its full length rail. Dimensions 0.082 x 0.255 x 0.765 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: pump at (0.008, 0.1508, 0.0725). Connectors: optic optic-rail at (0.008, 0.1954, -0.1475) facing +Y; muzzle muzzle at (0.008, 0.1508, 0.3825) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bullpup-shotgun-loadout-b7599377","cdnUrl":"https://cdn.3dassets.dev/assets/33103/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bullpup-shotgun-loadout-b7599377","thumbnailUrl":"https://cdn.3dassets.dev/assets/33103/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33103/v1/poster.webp","blurhash":"U12$KqIB9F-;?vD%M{%M9EM_-;j[8_%M-=Mx","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1131912,"triangles":45016,"vertices":53243,"meshes":10,"materials":9,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.040810712463349975,0.000007170788295957076,-0.3824999928474426],"max":[0.04080844186395329,0.25449079746218384,0.3824999928474426]},"sizeMeters":[0.082,0.254,0.765],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:17.909Z","updatedAt":"2026-09-08T16:49:18.090Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33103/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BullpupShotgunFittedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33103/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33103/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33103/v1/model.glb\" alt=\"Bullpup Shotgun, Fitted (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33103/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33103/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33102","slug":"mega-weapon-pack-dmr-semi-auto-scoped-32bc573a","title":"Semi Auto Marksman, Scoped (Mega Weapon Pack)","summary":"The semi automatic marksman rifle with an eight times scope, a suppressor and a laser on the side rail. Premium modern game asset for shooter and survival projects.","description":"The semi automatic marksman rifle with an eight times scope, a suppressor and a laser on the side rail. Dimensions 0.070 x 0.351 x 1.214 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: stock at (-0.0037, 0.2299, -0.607); magazine at (-0.0037, 0.1779, -0.301); charge at (-0.0037, 0.2439, -0.375). Connectors: optic optic-rail at (-0.0037, 0.2658, -0.139) facing +Y; muzzle muzzle at (-0.0037, 0.2249, 0.363) facing +Z; magazine magazine at (-0.0037, 0.1779, -0.301) facing -Y; underbarrel underbarrel at (-0.0037, 0.1912, 0.043) facing -Y; stock stock at (-0.0037, 0.2299, -0.397) facing -Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips stock-open, stock-close, magazine-open, magazine-close, charge-open, charge-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-dmr-semi-auto-scoped-32bc573a","cdnUrl":"https://cdn.3dassets.dev/assets/33102/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-dmr-semi-auto-scoped-32bc573a","thumbnailUrl":"https://cdn.3dassets.dev/assets/33102/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33102/v1/poster.webp","blurhash":"U35=2]4o9Y~V_39FRi%M00oH-;IW4n-;%NM{","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1910364,"triangles":76936,"vertices":89638,"meshes":14,"materials":10,"textures":0,"animations":["stock-open","stock-close","magazine-open","magazine-close","charge-open","charge-close"],"boundingBox":{"min":[-0.034800001181382684,4.668070485713827e-9,-0.6069999933242798],"max":[0.03477452419659356,0.35123987862823297,0.6082000136375427]},"sizeMeters":[0.07,0.351,1.215],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:17.706Z","updatedAt":"2026-09-08T16:49:17.955Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33102/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SemiAutoMarksmanScopedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33102/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33102/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33102/v1/model.glb\" alt=\"Semi Auto Marksman, Scoped (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33102/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33102/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33104","slug":"mega-weapon-pack-bolt-sniper-chassis-scoped-1e5a0d31","title":"Chassis Sniper, Scoped (Mega Weapon Pack)","summary":"The chassis bolt action sniper with a long eight times scope on its rail and a precision suppressor on the muzzle. Premium modern game asset for shooter and survival projects.","description":"The chassis bolt action sniper with a long eight times scope on its rail and a precision suppressor on the muzzle. Dimensions 0.093 x 0.394 x 1.504 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0146, 0.2152, -0.3659); bolt at (-0.0146, 0.2792, -0.2919); leg-l at (-0.0266, 0.22, 0.2437); leg-r at (-0.0026, 0.22, 0.2437). Connectors: optic optic-rail at (-0.0146, 0.3051, -0.1789) facing +Y; muzzle muzzle at (-0.0146, 0.263, 0.4682) facing +Z; magazine magazine at (-0.0146, 0.2152, -0.3659) facing -Y; underbarrel underbarrel at (-0.0146, 0.2263, 0.0382) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-chassis-scoped-1e5a0d31","cdnUrl":"https://cdn.3dassets.dev/assets/33104/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-chassis-scoped-1e5a0d31","thumbnailUrl":"https://cdn.3dassets.dev/assets/33104/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33104/v1/poster.webp","blurhash":"U24U~RM_Dh%h_N9FMw.84nDi%Mxu9E-;.8D$","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":2245200,"triangles":91144,"vertices":105658,"meshes":17,"materials":9,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.04641897147536441,3.032279437707383e-7,-0.7521508875886969],"max":[0.04640595272746122,0.3940585538839062,0.7521499991416931]},"sizeMeters":[0.093,0.394,1.504],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:18.456Z","updatedAt":"2026-09-08T16:49:18.656Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33104/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ChassisSniperScopedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33104/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33104/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33104/v1/model.glb\" alt=\"Chassis Sniper, Scoped (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33104/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33104/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33105","slug":"mega-weapon-pack-bolt-sniper-classic-scoped-379f5378","title":"Wood Sniper, Scoped (Mega Weapon Pack)","summary":"The walnut stocked bolt action sniper with a four times scope on its receiver rail. Premium modern game asset for shooter and survival projects.","description":"The walnut stocked bolt action sniper with a four times scope on its receiver rail. Dimensions 0.089 x 0.272 x 1.170 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0155, 0.1015, -0.1988); bolt at (-0.0155, 0.1635, -0.1348). Connectors: optic optic-rail at (-0.0155, 0.1894, -0.1769) facing +Y; muzzle muzzle at (-0.0155, 0.1485, 0.5851) facing +Z; magazine magazine at (-0.0155, 0.1015, -0.1988) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-bolt-sniper-classic-scoped-379f5378","cdnUrl":"https://cdn.3dassets.dev/assets/33105/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-bolt-sniper-classic-scoped-379f5378","thumbnailUrl":"https://cdn.3dassets.dev/assets/33105/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33105/v1/poster.webp","blurhash":"U35q#39Z0K.8~WD*IU-;01WA?G%101?H-;D%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1565188,"triangles":55568,"vertices":76269,"meshes":11,"materials":9,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.04451219616242093,0.000014414638530982349,-0.5851500034332275],"max":[0.044526302590560306,0.27150125480803117,0.5851500034332275]},"sizeMeters":[0.089,0.271,1.17],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:18.701Z","updatedAt":"2026-09-08T23:14:47.972Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33105/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WoodSniperScopedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33105/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33105/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33105/v1/model.glb\" alt=\"Wood Sniper, Scoped (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33105/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33105/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33106","slug":"mega-weapon-pack-anti-materiel-rifle-scoped-63ba9ec6","title":"Anti Materiel Rifle, Scoped (Mega Weapon Pack)","summary":"The anti materiel rifle with a long eight times scope on the top rail and a laser rangefinder module on the side rail. Premium modern game asset for shooter and survival projects.","description":"The anti materiel rifle with a long eight times scope on the top rail and a laser rangefinder module on the side rail. Dimensions 0.162 x 0.438 x 1.780 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0.0112, 0.2316, -0.3898); bolt at (0.0112, 0.3236, -0.2098); leg-l at (-0.0008, 0.236, 0.1102); leg-r at (0.0232, 0.236, 0.1102). Connectors: optic optic-rail at (0.0112, 0.3495, -0.1749) facing +Y; muzzle muzzle at (0.0112, 0.29, 0.8901) facing +Z; magazine magazine at (0.0112, 0.2316, -0.3898) facing -Y; underbarrel underbarrel at (0.0112, 0.2423, 0.1401) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-anti-materiel-rifle-scoped-63ba9ec6","cdnUrl":"https://cdn.3dassets.dev/assets/33106/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-anti-materiel-rifle-scoped-63ba9ec6","thumbnailUrl":"https://cdn.3dassets.dev/assets/33106/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33106/v1/poster.webp","blurhash":"U14B?[M|00%L~qD%D%-;00D%_N%N00?b_ND%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":2717692,"triangles":85608,"vertices":123275,"meshes":18,"materials":10,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.08120908512009868,3.000814971128307e-7,-0.8901508952723681],"max":[0.08120099324521647,0.4383995261913155,0.8901500105857849]},"sizeMeters":[0.162,0.438,1.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:19.017Z","updatedAt":"2026-09-08T23:14:47.721Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33106/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function AntiMaterielRifleScopedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33106/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33106/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33106/v1/model.glb\" alt=\"Anti Materiel Rifle, Scoped (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33106/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33106/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33108","slug":"mega-weapon-pack-straight-pull-rifle-scoped-7c27fb1e","title":"Straight Pull Rifle, Scoped (Mega Weapon Pack)","summary":"The straight pull rifle with a four times scope on the rail and a suppressor on the threaded muzzle. Premium modern game asset for shooter and survival projects.","description":"The straight pull rifle with a four times scope on the rail and a suppressor on the threaded muzzle. Dimensions 0.105 x 0.266 x 1.334 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (-0.0254, 0.1015, -0.3009); bolt at (-0.0254, 0.1615, -0.1869). Connectors: optic optic-rail at (-0.0254, 0.1874, -0.2788) facing +Y; muzzle muzzle at (-0.0254, 0.1477, 0.4431) facing +Z; magazine magazine at (-0.0254, 0.1015, -0.3009) facing -Y. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-straight-pull-rifle-scoped-7c27fb1e","cdnUrl":"https://cdn.3dassets.dev/assets/33108/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-straight-pull-rifle-scoped-7c27fb1e","thumbnailUrl":"https://cdn.3dassets.dev/assets/33108/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33108/v1/poster.webp","blurhash":"U254~qEN9Z?b^k9ZM{%M00RO={NH0e_2?HD%","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1867220,"triangles":67188,"vertices":90735,"meshes":12,"materials":10,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.05267411668845251,0.00002568092641823394,-0.6671500205993652],"max":[0.05265017520087246,0.2661025838878514,0.6671500205993652]},"sizeMeters":[0.105,0.266,1.334],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:20.293Z","updatedAt":"2026-09-08T23:14:46.656Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33108/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StraightPullRifleScopedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33108/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33108/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33108/v1/model.glb\" alt=\"Straight Pull Rifle, Scoped (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33108/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33108/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33107","slug":"mega-weapon-pack-light-machine-gun-optic-22165c30","title":"Light Machine Gun, Optic (Mega Weapon Pack)","summary":"The box fed light machine gun with a three times prism sight on the rail and a light under the handguard. Premium modern game asset for shooter and survival projects.","description":"The box fed light machine gun with a three times prism sight on the rail and a light under the handguard. Dimensions 0.071 x 0.418 x 0.860 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: magazine at (0, 0.2322, -0.0398); charge at (0, 0.2127, -0.1778); leg-l at (-0.012, 0.148, 0.2502); leg-r at (0.012, 0.148, 0.2502). Connectors: optic optic-rail at (0, 0.2346, -0.1419) facing +Y; muzzle muzzle at (0, 0.19, 0.4301) facing +Z. The trigger linkage, the gas system, the extractor, the feed pawls and any belt run are modelled as solids and left static: a rigid node transform cannot drive a linkage honestly, and faking one costs a consumer more than it gives. Rigid node-transform clips magazine-open, magazine-close, charge-open, charge-close, bipod-open, bipod-close drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-light-machine-gun-optic-22165c30","cdnUrl":"https://cdn.3dassets.dev/assets/33107/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-light-machine-gun-optic-22165c30","thumbnailUrl":"https://cdn.3dassets.dev/assets/33107/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33107/v1/poster.webp","blurhash":"U47-NLE200$*~WD%9Fxu00t6?Hs:01?u.7RP","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1538144,"triangles":60164,"vertices":73076,"meshes":17,"materials":9,"textures":0,"animations":["magazine-open","magazine-close","charge-open","charge-close","bipod-open","bipod-close"],"boundingBox":{"min":[-0.035599999129772186,2.940170087100541e-7,-0.43015000224113464],"max":[0.035599999129772186,0.4177199959990382,0.43015000224113464]},"sizeMeters":[0.071,0.418,0.86],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:20.093Z","updatedAt":"2026-09-08T23:14:46.946Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33107/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function LightMachineGunOpticMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33107/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33107/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33107/v1/model.glb\" alt=\"Light Machine Gun, Optic (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33107/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33107/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33109","slug":"mega-weapon-pack-service-pistol-duty-loadout-7077b9f1","title":"Service Pistol, Duty Loadout (Mega Weapon Pack)","summary":"The service pistol fitted for duty: a miniature reflex sight in the slide cut and a weapon light on the dust cover rail. Premium modern game asset for shooter and survival projects.","description":"The service pistol fitted for duty: a miniature reflex sight in the slide cut and a weapon light on the dust cover rail. Dimensions 0.042 x 0.189 x 0.224 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.1197, 0.0006); hammer at (0, 0.0855, -0.0714); magazine at (0, 0.0865, -0.037). Connectors: muzzle muzzle at (0, 0.1209, 0.0986) facing +Z; magazine magazine at (0, 0.0865, -0.037) facing -Y; optic optic-rail at (0, 0.1453, -0.0674) facing +Y; underbarrel underbarrel at (0, 0.0783, 0.0596) facing -Y. Fitted loadout: the attachments are modelled in place on the host sockets, which stay declared so a developer can strip and refit it. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-service-pistol-duty-loadout-7077b9f1","cdnUrl":"https://cdn.3dassets.dev/assets/33109/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-service-pistol-duty-loadout-7077b9f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/33109/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33109/v1/poster.webp","blurhash":"U24o4nWV4m-;?c4nIA_4ae9Ft7_3_3t7ozt7","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":865544,"triangles":37152,"vertices":39137,"meshes":17,"materials":11,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.020997991768296677,0,-0.11208999902009964],"max":[0.020997991768296677,0.189200001847744,0.11208953282878811]},"sizeMeters":[0.042,0.189,0.224],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:20.795Z","updatedAt":"2026-09-08T23:14:46.334Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33109/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ServicePistolDutyLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33109/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33109/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33109/v1/model.glb\" alt=\"Service Pistol, Duty Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33109/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33109/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33110","slug":"mega-weapon-pack-long-slide-pistol-suppressed-a6bdaa8f","title":"Long Slide Pistol, Suppressed (Mega Weapon Pack)","summary":"The long slide pistol with a pistol suppressor on its threaded muzzle, a reflex sight in the slide cut and a light on the rail. Premium modern game asset for shooter and survival projects.","description":"The long slide pistol with a pistol suppressor on its threaded muzzle, a reflex sight in the slide cut and a light on the rail. Dimensions 0.042 x 0.189 x 0.434 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.1197, -0.0711); hammer at (0, 0.0855, -0.1631); magazine at (0, 0.0865, -0.1287). Connectors: muzzle muzzle at (0, 0.1209, 0.0629) facing +Z; magazine magazine at (0, 0.0865, -0.1287) facing -Y; optic optic-rail at (0, 0.1453, -0.1591) facing +Y; underbarrel underbarrel at (0, 0.0783, 0.0029) facing -Y. Fitted loadout: the attachments are modelled in place on the host sockets, which stay declared so a developer can strip and refit it. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-long-slide-pistol-suppressed-a6bdaa8f","cdnUrl":"https://cdn.3dassets.dev/assets/33110/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-long-slide-pistol-suppressed-a6bdaa8f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33110/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33110/v1/poster.webp","blurhash":"U24.C~IpM{oh~q4nxt%N9D00-;-;-;M|xva#","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1145780,"triangles":48984,"vertices":52213,"meshes":17,"materials":11,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.020998699737394804,0,-0.2169400006532669],"max":[0.020998699737394804,0.189200001847744,0.21814000606536865]},"sizeMeters":[0.042,0.189,0.435],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:20.032Z","updatedAt":"2026-09-08T23:14:47.632Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33110/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function LongSlidePistolSuppressedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33110/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33110/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33110/v1/model.glb\" alt=\"Long Slide Pistol, Suppressed (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33110/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33110/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33111","slug":"mega-weapon-pack-compact-pistol-carry-loadout-5f63bba8","title":"Compact Pistol, Carry Loadout (Mega Weapon Pack)","summary":"The compact pistol with a miniature reflex sight in the slide cut and a compact laser on the short dust cover rail. Premium modern game asset for shooter and survival projects.","description":"The compact pistol with a miniature reflex sight in the slide cut and a compact laser on the short dust cover rail. Dimensions 0.066 x 0.181 x 0.188 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0.0118, 0.1137, -0.0047); hammer at (0.0118, 0.0795, -0.0627); magazine at (0.0118, 0.0805, -0.0283). Connectors: muzzle muzzle at (0.0118, 0.1149, 0.0793) facing +Z; magazine magazine at (0.0118, 0.0805, -0.0283) facing -Y; optic optic-rail at (0.0118, 0.1393, -0.0587) facing +Y; underbarrel underbarrel at (0.0118, 0.0723, 0.0493) facing -Y. Fitted loadout: the attachments are modelled in place on the host sockets, which stay declared so a developer can strip and refit it. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-compact-pistol-carry-loadout-5f63bba8","cdnUrl":"https://cdn.3dassets.dev/assets/33111/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-compact-pistol-carry-loadout-5f63bba8","thumbnailUrl":"https://cdn.3dassets.dev/assets/33111/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33111/v1/poster.webp","blurhash":"U671fsIV00_1D+Rj%LWZD%RixbbJ~VagIV%L","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":901956,"triangles":37884,"vertices":41228,"meshes":15,"materials":10,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.03285185931174337,0,-0.09417000412940979],"max":[0.03284868474047846,0.18130000222921372,0.09417000412940979]},"sizeMeters":[0.066,0.181,0.188],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T16:49:21.423Z","updatedAt":"2026-09-08T23:14:46.184Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33111/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CompactPistolCarryLoadoutMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33111/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33111/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33111/v1/model.glb\" alt=\"Compact Pistol, Carry Loadout (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33111/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33111/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33112","slug":"mega-weapon-pack-machine-pistol-loadout-196d2260","title":"Machine Pistol, Fitted (Mega Weapon Pack)","summary":"The machine pistol with a reflex sight in the slide cut, a suppressor on the muzzle and a light on the dust cover rail. Premium modern game asset for shooter and survival projects.","description":"The machine pistol with a reflex sight in the slide cut, a suppressor on the muzzle and a light on the dust cover rail. Dimensions 0.042 x 0.278 x 0.367 m (X x Y x Z). Origin at the footprint centre, resting on y = 0; metre units, +Y up, muzzle and point toward +Z. Named pivots: slide at (0, 0.2087, -0.0756); hammer at (0, 0.1745, -0.1446); magazine at (0, 0.1755, -0.1102). Connectors: muzzle muzzle at (0, 0.2099, 0.0193) facing +Z; magazine magazine at (0, 0.1755, -0.1103) facing -Y; optic optic-rail at (0, 0.2343, -0.1406) facing +Y; underbarrel underbarrel at (0, 0.1673, -0.0197) facing -Y. Fitted loadout: the attachments are modelled in place on the host sockets, which stay declared so a developer can strip and refit it. The slide, the hammer and the magazine each work on their own pivot. The trigger linkage, the disconnector, the extractor and the recoil spring are modelled as solids but are deliberately static: a rigid node transform cannot drive a linkage, and faking one costs a consumer more than it gives. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close, cock drive named nodes on their own pivots. No skinning and no skeleton. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-machine-pistol-loadout-196d2260","cdnUrl":"https://cdn.3dassets.dev/assets/33112/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-machine-pistol-loadout-196d2260","thumbnailUrl":"https://cdn.3dassets.dev/assets/33112/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33112/v1/poster.webp","blurhash":"U34_wrWB9FRj~qD%M{xvIU4n%M_3RiD%%M?b","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"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":1252872,"triangles":49952,"vertices":58551,"meshes":17,"materials":11,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close","cock"],"boundingBox":{"min":[-0.021003290081324677,-5.388632401404081e-9,-0.18334999680519104],"max":[0.021003290081324677,0.27819999937973916,0.18455000221729279]},"sizeMeters":[0.042,0.278,0.368],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T16:49:22.135Z","updatedAt":"2026-09-08T23:14:45.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33112/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MachinePistolFittedMegaWeaponPack(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/33112/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33112/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33112/v1/model.glb\" alt=\"Machine Pistol, Fitted (Mega Weapon Pack)\" camera-controls auto-rotate autoplay></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/33112/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","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)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","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/33112/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"33113","slug":"mega-weapon-pack-armoury-room-ef2704a1-starter-scene","title":"Armoury room (Mega Weapon Pack)","summary":"A six by four metre concrete armoury stocked the way a real one is, walled on three sides under lit battens with the front left open so the room can be seen into. A display rack fills the back wall with a suppressed carbine on a fore grip, a second carbine wearing a reflex...","description":"A six by four metre concrete armoury stocked the way a real one is, walled on three sides under lit battens with the front left open so the room can be seen into. A display rack fills the back wall with a suppressed carbine on a fore grip, a second carbine wearing a reflex sight and an angled grip, and a scoped rifle with a spare magazine on it; beside it a pegboard carries three suppressed handguns. A blade rack of four knives, a machete and a tomahawk fills the left wall, with a stocked shelf unit under it. A gunsmith bench along the right holds the cleaning roll, an ammunition can and a crate with two transport cases stacked beneath. Two more four bay shelf units stand against the back wall, every shelf holding an ammunition can or a crate, and crates and cans are stacked across the floor between them, leaving a path from the door to the bench. Every fitting in the room is on a weapon, mated on a declared socket, so the assembly a developer would do is proved here rather than implied.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-room-ef2704a1-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/33113/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-room-ef2704a1-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/33113/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33113/v1/poster.webp","blurhash":"U3E{hC?H00kW?a_4-pD%00o}M_xuxHsk9G9F","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":10342832,"triangles":489250,"vertices":532689,"meshes":184,"materials":16,"textures":0,"animations":[],"boundingBox":{"min":[-3.1469829113501,-0.00004271928939625358,-2.146994660879889],"max":[3.1469829113501,2.6040000915527344,2.020059778863002]},"sizeMeters":[6.294,2.604,4.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T16:49:28.371Z","updatedAt":"2026-09-08T23:14:45.631Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33113/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryRoomMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33113/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33113/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33113/v1/model.glb\" alt=\"Armoury room (Mega Weapon Pack)\" 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/33113/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/33113/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33114","slug":"mega-weapon-pack-gunsmith-workshop-21fd181b","title":"Gunsmith workshop (Mega Weapon Pack)","summary":"A six by four metre walled workshop behind the armoury under lit battens, open at the front so it can be seen into: two planked benches, a battle rifle built up on the first with an eight times scope, an angled grip, a side rail laser, a suppressor and a spare magazine on...","description":"A six by four metre walled workshop behind the armoury under lit battens, open at the front so it can be seen into: two planked benches, a battle rifle built up on the first with an eight times scope, an angled grip, a side rail laser, a suppressor and a spare magazine on five different sockets, an ammunition can beside it, a handgun in an open case on the second with its reflex sight, suppressor and magazine fitted and a can and a crate beside it, a long case on the floor holding a marksman rifle with a scope, a fore grip and a precision suppressor, three steel shelf units against the side and back walls stacked with ammunition cans and crates, a pair of stacked transport cases between the benches, and crates and cans across the floor.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-gunsmith-workshop-21fd181b","cdnUrl":"https://cdn.3dassets.dev/assets/33114/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-gunsmith-workshop-21fd181b","thumbnailUrl":"https://cdn.3dassets.dev/assets/33114/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33114/v1/poster.webp","blurhash":"U3E.^V-p00?v?v_4xuD%00tS4TIAV[t1IA9F","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":7470272,"triangles":367318,"vertices":391448,"meshes":153,"materials":16,"textures":0,"animations":[],"boundingBox":{"min":[-3.1469829113501,-0.00004271928939625358,-2.146994660879889],"max":[3.1469829113501,2.6040000915527344,2.020059778863002]},"sizeMeters":[6.294,2.604,4.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T16:49:28.693Z","updatedAt":"2026-09-08T23:14:45.374Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33114/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GunsmithWorkshopMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33114/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33114/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33114/v1/model.glb\" alt=\"Gunsmith workshop (Mega Weapon Pack)\" 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/33114/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/33114/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33116","slug":"mega-weapon-pack-blade-store-8a25d255","title":"Blade store (Mega Weapon Pack)","summary":"A six by four metre walled blade store under lit battens, open at the front so it can be seen into: three wall racks of knives and throwing stars along the back wall, a bench with two swords, a spear and a row of throwing knives on it, a floor rack of axes, a sledgehammer and...","description":"A six by four metre walled blade store under lit battens, open at the front so it can be seen into: three wall racks of knives and throwing stars along the back wall, a bench with two swords, a spear and a row of throwing knives on it, a floor rack of axes, a sledgehammer and two tomahawks, a shelf unit of thrown weapons, a fourth shelf unit of ammunition cans and crates down the left wall, crates stacked across the floor with a pair of transport cases beside them, and bats, batons, a crowbar and a wrench laid out around them.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-blade-store-8a25d255","cdnUrl":"https://cdn.3dassets.dev/assets/33116/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-blade-store-8a25d255","thumbnailUrl":"https://cdn.3dassets.dev/assets/33116/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33116/v1/poster.webp","blurhash":"U4EyVv?H00?v~q_3WWM{00W=H=4nIUMx9F01","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":8078652,"triangles":384326,"vertices":390521,"meshes":136,"materials":15,"textures":0,"animations":[],"boundingBox":{"min":[-3.1469829113501,-0.00004271928939625358,-2.146994660879889],"max":[3.1469829113501,2.6040000915527344,2.1350000143051147]},"sizeMeters":[6.294,2.604,4.282],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T16:49:29.611Z","updatedAt":"2026-09-08T23:28:39.187Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33116/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BladeStoreMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33116/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33116/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33116/v1/model.glb\" alt=\"Blade store (Mega Weapon Pack)\" 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/33116/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/33116/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"33115","slug":"mega-weapon-pack-range-store-0faaa7e2","title":"Range store (Mega Weapon Pack)","summary":"A six by four metre walled range store under lit battens, open at the front so it can be seen into: a bench of scoped bolt action and straight pull rifles with an ammunition can, a second bench with a top fed light machine gun wearing its prism sight and flash hider beside a...","description":"A six by four metre walled range store under lit battens, open at the front so it can be seen into: a bench of scoped bolt action and straight pull rifles with an ammunition can, a second bench with a top fed light machine gun wearing its prism sight and flash hider beside a crate and a cleaning roll, a floor rack holding an anti materiel rifle under a night sight and a lever action with a muzzle brake, an open case with a scoped wood stocked sniper in it, two four bay shelf units stacked with ammunition cans and crates, and more crates, cans and a closed transport case across the floor.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-range-store-0faaa7e2","cdnUrl":"https://cdn.3dassets.dev/assets/33115/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-range-store-0faaa7e2","thumbnailUrl":"https://cdn.3dassets.dev/assets/33115/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33115/v1/poster.webp","blurhash":"U3EyY%?I00%#^+_4x]D%00tR8^Vro#s*Di4:","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"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":11991272,"triangles":501458,"vertices":606321,"meshes":167,"materials":16,"textures":0,"animations":[],"boundingBox":{"min":[-3.1469829113501,-0.00004271928939625358,-2.146994660879889],"max":[3.1469829113501,2.6040000915527344,2.020059778863002]},"sizeMeters":[6.294,2.604,4.167],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T16:49:29.699Z","updatedAt":"2026-09-08T23:14:45.230Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33115/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RangeStoreMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33115/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33115/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33115/v1/model.glb\" alt=\"Range store (Mega Weapon Pack)\" 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/33115/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/33115/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"mega-weapon-pack","title":"Armoury and gunsmith shop","url":"https://3dassets.dev/demos/mega-weapon-pack"}}}