{"data":{"id":158,"slug":"tactical-shooter-hill-town","title":"Tactical Shooter Hill Town","summary":"Free 3D game assets for a tactical FPS: a modular Mediterranean hill town map kit, twenty two invented weapon archetypes and eight operators in four poses each.","description":"A complete set for a round based, two team, objective shooter set in a Mediterranean hill town, where attackers plant a device at a site and defenders stop them. The map kit is thirty modules on a 4 m bay grid at a 3.5 m storey: plaster and ochre wall bays, shuttered windows, a hinged timber door, an arched passage, corner posts, a balcony, tiled roof slopes, ridge caps, gable halves, a parapet, stairs and steps, cobbled and interior tiles, a garden wall, a courtyard gate, a fountain, a market stall, crates, barrels, sandbags, a jersey barrier, a drum, a bench, a potted olive, a wall lamp, an objective site marker and barrier tape. The armoury holds twenty two invented archetypes from a compact pistol to a light machine gun, plus a knife, five grenades, a riot shield, a defuse kit and the objective device, with magazines, slides, pumps, bolts, a revolver cylinder and the device lid on their own animated nodes. The roster is two teams of four operators, teal grey for the defenders and sand olive for the attackers, each in a standing aim, crouched aim, running and kneeling pose. Every character is a static posed figure: there is no rig, skeleton or skinning anywhere, and each pose ships as its own model. The design is original throughout: no published game names, logos, map layouts, callouts, character or weapon names, and no badges, insignia or lettering. Metre units, +Y up, +Z front, ground contact at y = 0.","url":"https://3dassets.dev/packs/tactical-shooter-hill-town","coverUrl":"https://cdn.3dassets.dev/assets/27595/v1/poster.webp","assetCount":85,"aiGenerated":true,"aiGeneratedAssetCount":85,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":10620776,"totalTriangles":444317,"starterScene":{"id":"27595","slug":"tactical-shooter-hill-town-fountain-squa-a5996d68-starter-scene","title":"Fountain square at site A (Tactical Shooter Hill Town)","summary":"A Mediterranean hill town square set up as objective site A. Two closed and roofed two storey houses face each other across cobbled ground, one with a balcony over a courtyard gate, and a flat roofed block with an arched passage closes the back. The square is furnished with...","description":"A Mediterranean hill town square set up as objective site A. Two closed and roofed two storey houses face each other across cobbled ground, one with a balcony over a courtyard gate, and a flat roofed block with an arched passage closes the back. The square is furnished with an octagonal fountain, a market stall, crates, barrels, drums, benches and potted olives, with sandbags and a concrete barrier holding the south entrance and barrier tape marking the spawn side. At the site marker an attacker kneels over the objective device while defenders hold the crates and the passage and a second attacker runs in from the outside stair.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-fountain-squa-a5996d68-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/27595/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-fountain-squa-a5996d68-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/27595/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27595/v1/poster.webp","blurhash":"U6Ambqt7004.nN%LX8Ip00xX~px]x^D*en%1","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":2369104,"triangles":106965,"vertices":91684,"meshes":135,"materials":12,"textures":2,"animations":[],"boundingBox":{"min":[-18.249992523719936,-0.000050354676368054296,-8],"max":[18.249992523719936,9.285875647451025,16.249992523719936]},"sizeMeters":[36.5,9.286,24.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":1,"publishedAt":"2026-09-08T00:00:16.322Z","updatedAt":"2026-09-08T02:03:44.693Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27595/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FountainSquareAtSiteATacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27595/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27595/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27595/v1/model.glb\" alt=\"Fountain square at site A (Tactical Shooter Hill Town)\" 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/27595/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/27595/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"27512","slug":"tactical-shooter-hill-town-wall-plaster-bay-29f4fb1f","title":"Plaster Wall Bay (Tactical Shooter Hill Town)","summary":"Free 3D model of a white lime render wall bay for a tactical FPS hill town map kit on a 4 m grid. Measures 4.00 by 3.50 by 0.36 m.","description":"Plain white lime render wall bay: a rendered panel on a projecting limestone plinth with a stone band under the eaves, built for a Mediterranean hill town game map. Dimensions 4.00 by 3.50 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level; wall ports sit at each end at 1.75 m.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wall-plaster-bay-29f4fb1f","cdnUrl":"https://cdn.3dassets.dev/assets/27512/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wall-plaster-bay-29f4fb1f","thumbnailUrl":"https://cdn.3dassets.dev/assets/27512/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27512/v1/poster.webp","blurhash":"U8F$U{-;00Rj?b~WNG0K00WB~qRjjZt7WBIo","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":51052,"triangles":36,"vertices":86,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00002779091710958248,-0.17993713187047944],"max":[2.001199960708618,3.5000451650098388,0.17993713187047944]},"sizeMeters":[4.001,3.5,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:40.779Z","updatedAt":"2026-09-07T23:59:40.896Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27512/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlasterWallBayTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27512/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27512/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27512/v1/model.glb\" alt=\"Plaster Wall Bay (Tactical Shooter Hill Town)\" 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/27512/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/27512/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27514","slug":"tactical-shooter-hill-town-wall-ochre-bay-69de2074","title":"Ochre Wall Bay (Tactical Shooter Hill Town)","summary":"Free 3D model of a warm ochre render wall bay for a tactical FPS hill town map kit on a 4 m grid. Measures 4.00 by 3.50 by 0.36 m.","description":"Plain warm ochre render wall bay: a rendered panel on a projecting limestone plinth with a stone band under the eaves, built for a Mediterranean hill town game map. Dimensions 4.00 by 3.50 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level; wall ports sit at each end at 1.75 m.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wall-ochre-bay-69de2074","cdnUrl":"https://cdn.3dassets.dev/assets/27514/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wall-ochre-bay-69de2074","thumbnailUrl":"https://cdn.3dassets.dev/assets/27514/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27514/v1/poster.webp","blurhash":"U5D+C]^j00RR:$}@kr0f0NM{}nXTbv.7Sh9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":51044,"triangles":36,"vertices":86,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00002779091710958248,-0.17993713187047944],"max":[2.001199960708618,3.5000451650098388,0.17993713187047944]},"sizeMeters":[4.001,3.5,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:40.955Z","updatedAt":"2026-09-07T23:59:41.077Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27514/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OchreWallBayTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27514/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27514/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27514/v1/model.glb\" alt=\"Ochre Wall Bay (Tactical Shooter Hill Town)\" 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/27514/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/27514/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27511","slug":"tactical-shooter-hill-town-wall-shuttered-window-93c0030e","title":"Wall Bay With Shuttered Window (Tactical Shooter Hill Town)","summary":"Free 3D model of a plaster wall bay with a shuttered window for a tactical FPS map kit on a 4 m grid. Measures 4.00 by 3.50 by 0.46 m.","description":"Rendered wall bay with a stone-dressed window opening, a projecting sill and a pair of hinged timber shutters over a recessed dark reveal. Dimensions 4.00 by 3.50 by 0.46 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. The pivot is the grid origin at ground level; each shutter leaf hinges on its own outer jamb.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wall-shuttered-window-93c0030e","cdnUrl":"https://cdn.3dassets.dev/assets/27511/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wall-shuttered-window-93c0030e","thumbnailUrl":"https://cdn.3dassets.dev/assets/27511/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27511/v1/poster.webp","blurhash":"U6F62z9F00M{_3~q9F0000?bxZIU-;xuWBD%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":102068,"triangles":2032,"vertices":1869,"meshes":5,"materials":4,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-2,0.00002779091710958248,-0.20996734519486068],"max":[2.001199960708618,3.5000451650098388,0.24999252371993363]},"sizeMeters":[4.001,3.5,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:40.758Z","updatedAt":"2026-09-07T23:59:40.875Z","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/27511/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 WallBayWithShutteredWindowTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27511/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/27511/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27511/v1/model.glb\" alt=\"Wall Bay With Shuttered Window (Tactical Shooter Hill Town)\" 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/27511/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/27511/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27513","slug":"tactical-shooter-hill-town-wall-timber-door-fcdc3a01","title":"Wall Bay With Timber Door (Tactical Shooter Hill Town)","summary":"Free 3D model of a plaster wall bay with a hinged timber door for a tactical FPS map kit on a 4 m grid. Measures 4.00 by 3.50 by 0.73 m.","description":"Rendered wall bay with a stone-dressed doorway, a worn threshold step and a plank door on strap hinges that swings outward. Dimensions 4.00 by 3.50 by 0.73 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. The pivot is the grid origin at ground level; the door leaf hinges on the left jamb.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wall-timber-door-fcdc3a01","cdnUrl":"https://cdn.3dassets.dev/assets/27513/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wall-timber-door-fcdc3a01","thumbnailUrl":"https://cdn.3dassets.dev/assets/27513/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27513/v1/poster.webp","blurhash":"U9Eo=7xu00t7~q_3D%4o00t7s:IUIUWBt7Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":101456,"triangles":1356,"vertices":1288,"meshes":5,"materials":5,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-2,0.00002779091710958248,-0.18000137094874064],"max":[2.001199960708618,3.5000451650098388,0.5500013757171123]},"sizeMeters":[4.001,3.5,0.73],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:40.850Z","updatedAt":"2026-09-07T23:59:40.937Z","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/27513/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 WallBayWithTimberDoorTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27513/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/27513/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27513/v1/model.glb\" alt=\"Wall Bay With Timber Door (Tactical Shooter Hill Town)\" 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/27513/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/27513/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27516","slug":"tactical-shooter-hill-town-wall-arched-passage-6f25f940","title":"Arched Passage Bay (Tactical Shooter Hill Town)","summary":"Free 3D model of an arched passage wall bay for a tactical FPS hill town map kit with a 2.40 m opening. Measures 4.00 by 3.50 by 0.36 m.","description":"Wall bay pierced by a round-headed passage: a 2.40 m opening with a voussoir ring and dressed stone jambs, wide enough to walk a squad through. Dimensions 4.00 by 3.50 by 0.36 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wall-arched-passage-6f25f940","cdnUrl":"https://cdn.3dassets.dev/assets/27516/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wall-arched-passage-6f25f940","thumbnailUrl":"https://cdn.3dassets.dev/assets/27516/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27516/v1/poster.webp","blurhash":"U7EMI2%L00-;_3~qIV4n00xtRj9FM{%Mt79F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":65508,"triangles":644,"vertices":602,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00002779091710958248,-0.17993713187047944],"max":[2.001199960708618,3.5000451650098388,0.17993713187047944]},"sizeMeters":[4.001,3.5,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:42.466Z","updatedAt":"2026-09-07T23:59:42.565Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27516/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArchedPassageBayTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27516/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27516/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27516/v1/model.glb\" alt=\"Arched Passage Bay (Tactical Shooter Hill Town)\" 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/27516/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/27516/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27515","slug":"tactical-shooter-hill-town-corner-post-97245195","title":"Stone Corner Post (Tactical Shooter Hill Town)","summary":"Free 3D model of a dressed stone corner post for a tactical FPS hill town map kit. Measures 0.48 by 3.50 by 0.48 m.","description":"Quoined limestone corner column that squares two wall runs, taking a wall port from each of the four directions at the same point. Dimensions 0.48 by 3.50 by 0.48 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level; all four wall ports are coincident on the column axis at 1.75 m.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-corner-post-97245195","cdnUrl":"https://cdn.3dassets.dev/assets/27515/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-corner-post-97245195","thumbnailUrl":"https://cdn.3dassets.dev/assets/27515/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27515/v1/poster.webp","blurhash":"U18;S$~q0000tkaeMxbvMzfkxtjG?bj@9FWV","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":72008,"triangles":876,"vertices":778,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.2399060029908139,0,-0.2399060029908139],"max":[0.2399060029908139,3.5,0.2399060029908139]},"sizeMeters":[0.48,3.5,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:42.443Z","updatedAt":"2026-09-07T23:59:42.559Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27515/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneCornerPostTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27515/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27515/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27515/v1/model.glb\" alt=\"Stone Corner Post (Tactical Shooter Hill Town)\" 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/27515/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/27515/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27517","slug":"tactical-shooter-hill-town-balcony-bay-52db6fc6","title":"Balcony Wall Bay (Tactical Shooter Hill Town)","summary":"Free 3D model of a wall bay with a stone balcony and iron rail for a tactical FPS map kit on a 4 m grid. Measures 4.00 by 3.50 by 1.48 m.","description":"Wall bay with a tall balcony doorway, a corbelled stone slab projecting 1.15 m and a wrought iron balustrade on three sides. Dimensions 4.00 by 3.50 by 1.48 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at the bay floor level; place it on a storey course so the balcony overhangs the street.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-balcony-bay-52db6fc6","cdnUrl":"https://cdn.3dassets.dev/assets/27517/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-balcony-bay-52db6fc6","thumbnailUrl":"https://cdn.3dassets.dev/assets/27517/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27517/v1/poster.webp","blurhash":"U9ECtS0K00ax~q-;4o9F00?bj=IVIVofxuRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":91348,"triangles":1824,"vertices":1724,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00002779091710958248,-0.179888250992995],"max":[2.001199960708618,3.5000451650098388,1.2948882009250933]},"sizeMeters":[4.001,3.5,1.475],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:42.493Z","updatedAt":"2026-09-07T23:59:42.613Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27517/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalconyWallBayTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27517/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27517/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27517/v1/model.glb\" alt=\"Balcony Wall Bay (Tactical Shooter Hill Town)\" 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/27517/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/27517/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27518","slug":"tactical-shooter-hill-town-roof-tile-slope-7a571081","title":"Tiled Roof Slope (Tactical Shooter Hill Town)","summary":"Free 3D model of a terracotta tiled roof slope for a tactical FPS hill town map kit, 4.00 m wide over a 4.00 m run. Measures 4.00 by 2.13 by 4.09 m.","description":"One bay of pantiled roof at a 26 degree pitch with eleven rolled tile courses and a timber eaves board, rising 1.95 m over a 4.00 m run. Dimensions 4.00 by 2.13 by 4.09 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at the eaves; the slope climbs toward +Z, so rotate it by 180 degrees for the opposite pitch.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-roof-tile-slope-7a571081","cdnUrl":"https://cdn.3dassets.dev/assets/27518/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-roof-tile-slope-7a571081","thumbnailUrl":"https://cdn.3dassets.dev/assets/27518/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27518/v1/poster.webp","blurhash":"U27Al0^%5X-W^%^jjvog00E3}=Io0202s*f3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":75180,"triangles":384,"vertices":426,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-1.9998803767233393,-0.00012475765622399493,-0.060110783306984966],"max":[2.001199960708618,2.1311445883599593,4.028494358062744]},"sizeMeters":[4.001,2.131,4.089],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:42.591Z","updatedAt":"2026-09-07T23:59:42.704Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27518/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TiledRoofSlopeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27518/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27518/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27518/v1/model.glb\" alt=\"Tiled Roof Slope (Tactical Shooter Hill Town)\" 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/27518/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/27518/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27521","slug":"tactical-shooter-hill-town-roof-ridge-cap-3d9b60dd","title":"Roof Ridge Cap (Tactical Shooter Hill Town)","summary":"Free 3D model of a terracotta ridge cap for a tactical FPS hill town map kit 4.00 m long. Measures 4.00 by 0.26 by 0.37 m.","description":"Half-round ridge cap that closes the gap where two roof slopes meet, with eight bedded collar rings along its length. Dimensions 4.00 by 0.26 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at the underside of the cap; set it at the ridge line height of the slopes it closes.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-roof-ridge-cap-3d9b60dd","cdnUrl":"https://cdn.3dassets.dev/assets/27521/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-roof-ridge-cap-3d9b60dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/27521/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27521/v1/poster.webp","blurhash":"U58:t]tREMxa-o~AozNa00%0^jSzE30LxB={","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":58024,"triangles":332,"vertices":396,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.000054702044049920184,-0.185064241462447],"max":[2,0.2549452931875785,0.185064241462447]},"sizeMeters":[4,0.255,0.37],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:44.207Z","updatedAt":"2026-09-07T23:59:44.297Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27521/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofRidgeCapTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27521/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27521/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27521/v1/model.glb\" alt=\"Roof Ridge Cap (Tactical Shooter Hill Town)\" 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/27521/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/27521/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27519","slug":"tactical-shooter-hill-town-roof-gable-half-b2841bcd","title":"Roof Gable Half (Tactical Shooter Hill Town)","summary":"Free 3D model of a rendered half gable with a tiled verge for a tactical FPS hill town map kit, 4.00 m wide. Measures 4.08 by 2.08 by 0.46 m.","description":"Half of a rendered gable wall: a right angled triangle rising 1.95 m from the eaves to the ridge with a tiled verge course on the rake, so two placed as a mirrored pair close one 8 m gable end. Dimensions 4.08 by 2.08 by 0.46 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at the wall head and the rake climbs toward +X; rotate the second half by 180 degrees to meet it at the ridge.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-roof-gable-half-b2841bcd","cdnUrl":"https://cdn.3dassets.dev/assets/27519/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-roof-gable-half-b2841bcd","thumbnailUrl":"https://cdn.3dassets.dev/assets/27519/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27519/v1/poster.webp","blurhash":"UHC~^=9F9F%M00%MxuM|00R+%MW.~qjGIBj@","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54196,"triangles":140,"vertices":166,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.0526046752929688,-0.00007049760787794512,-0.23000238586920796],"max":[2.0299999713897705,2.078921361467952,0.23000238586920796]},"sizeMeters":[4.083,2.079,0.46],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:44.034Z","updatedAt":"2026-09-07T23:59:44.124Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27519/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofGableHalfTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27519/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27519/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27519/v1/model.glb\" alt=\"Roof Gable Half (Tactical Shooter Hill Town)\" 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/27519/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/27519/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27520","slug":"tactical-shooter-hill-town-roof-parapet-197a1149","title":"Roof Parapet (Tactical Shooter Hill Town)","summary":"Free 3D model of a rendered roof parapet with a stone coping for a tactical FPS map kit. Measures 4.00 by 0.74 by 0.34 m.","description":"Low rendered parapet with a projecting stone coping and shallow pilasters, high enough to break sight lines from a flat roof. Dimensions 4.00 by 0.74 by 0.34 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at the roof surface.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-roof-parapet-197a1149","cdnUrl":"https://cdn.3dassets.dev/assets/27520/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-roof-parapet-197a1149","thumbnailUrl":"https://cdn.3dassets.dev/assets/27520/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27520/v1/poster.webp","blurhash":"UAC%58%M9G%Lt7~qxuM|00Rj_3ayax00M{%M","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":64792,"triangles":660,"vertices":593,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.00006805389194569633,-0.16992706076235237],"max":[2,0.739916987866086,0.16992706076235237]},"sizeMeters":[4,0.74,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:44.137Z","updatedAt":"2026-09-07T23:59:44.257Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27520/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofParapetTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27520/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27520/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27520/v1/model.glb\" alt=\"Roof Parapet (Tactical Shooter Hill Town)\" 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/27520/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/27520/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27522","slug":"tactical-shooter-hill-town-external-stair-run-322e7f01","title":"External Stone Stair Run (Tactical Shooter Hill Town)","summary":"Free 3D model of an external stone stair run for a tactical FPS hill town map kit climbing 3.50 m in twelve steps. Measures 1.34 by 4.50 by 4.36 m.","description":"Open stone stair of twelve 0.292 m risers with nosed treads and a plain iron handrail, the usual way onto a hill town first floor. Dimensions 1.34 by 4.50 by 4.36 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the footprint centre at the bottom step; the run climbs toward +Z.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-external-stair-run-322e7f01","cdnUrl":"https://cdn.3dassets.dev/assets/27522/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-external-stair-run-322e7f01","thumbnailUrl":"https://cdn.3dassets.dev/assets/27522/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27522/v1/poster.webp","blurhash":"U797b9~p014n00IU?H%M4nIVt8xu~qRkIUxt","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":117856,"triangles":3008,"vertices":2615,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6724613648461606,-0.00002740844108717333,-2.1818895071844655],"max":[0.6725469148566129,4.503415584564209,2.1818895071844655]},"sizeMeters":[1.345,4.503,4.364],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:44.314Z","updatedAt":"2026-09-07T23:59:44.484Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27522/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ExternalStoneStairRunTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27522/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27522/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27522/v1/model.glb\" alt=\"External Stone Stair Run (Tactical Shooter Hill Town)\" 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/27522/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/27522/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27523","slug":"tactical-shooter-hill-town-stone-step-block-d7ca9ab2","title":"Stone Step Block (Tactical Shooter Hill Town)","summary":"Free 3D model of a three step stone block for a tactical FPS hill town map kit. Measures 2.06 by 0.61 by 1.20 m.","description":"Short flight of three worn limestone steps with nosed treads, for level changes across a square or up to a doorway. Dimensions 2.06 by 0.61 by 1.20 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the footprint centre at the bottom step; the flight climbs toward +Z.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-stone-step-block-d7ca9ab2","cdnUrl":"https://cdn.3dassets.dev/assets/27523/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-stone-step-block-d7ca9ab2","thumbnailUrl":"https://cdn.3dassets.dev/assets/27523/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27523/v1/poster.webp","blurhash":"U6Bg3s~p00R%IU-;%MM{009F?bofxu9FIUt6","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":63216,"triangles":648,"vertices":558,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-1.0299999713897705,0.00004342588829875371,-0.5999505433498691],"max":[1.0299999713897705,0.6149565836484444,0.5999505433498691]},"sizeMeters":[2.06,0.615,1.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:45.728Z","updatedAt":"2026-09-07T23:59:45.811Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27523/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneStepBlockTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27523/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27523/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27523/v1/model.glb\" alt=\"Stone Step Block (Tactical Shooter Hill Town)\" 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/27523/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/27523/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27524","slug":"tactical-shooter-hill-town-freestanding-archway-e1485f94","title":"Freestanding Stone Archway (Tactical Shooter Hill Town)","summary":"Free 3D model of a freestanding stone archway for a tactical FPS hill town map kit. Measures 4.34 by 4.22 by 0.92 m.","description":"Town gate arch standing on its own: a round-headed 2.60 m opening between quoined piers with a moulded cornice over the head. Dimensions 4.34 by 4.22 by 0.92 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the footprint centre at ground level; the passage runs along Z.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-freestanding-archway-e1485f94","cdnUrl":"https://cdn.3dassets.dev/assets/27524/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-freestanding-archway-e1485f94","thumbnailUrl":"https://cdn.3dassets.dev/assets/27524/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27524/v1/poster.webp","blurhash":"U5Ci{y-;00t6~q?bM{4n9FazIUIURk-;t79F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":73612,"triangles":1036,"vertices":801,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2.1700000762939453,-0.00013262942439284942,-0.45986756583712746],"max":[2.1700000762939453,4.220132419616043,0.45986756583712746]},"sizeMeters":[4.34,4.22,0.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:45.775Z","updatedAt":"2026-09-07T23:59:45.862Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27524/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FreestandingStoneArchwayTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27524/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27524/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27524/v1/model.glb\" alt=\"Freestanding Stone Archway (Tactical Shooter Hill Town)\" 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/27524/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/27524/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27525","slug":"tactical-shooter-hill-town-floor-tile-450ece79","title":"Stone Floor Tile (Tactical Shooter Hill Town)","summary":"Free 3D model of a 4 m stone floor tile for a tactical FPS hill town map kit. Measures 4.00 by 0.10 by 4.00 m.","description":"Interior floor bay of laid limestone flags with raised joints, sized to the 4 m grid so rooms tile without a seam. Dimensions 4.00 by 0.10 by 4.00 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level; the walking surface is 0.10 m above it.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-floor-tile-450ece79","cdnUrl":"https://cdn.3dassets.dev/assets/27525/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-floor-tile-450ece79","thumbnailUrl":"https://cdn.3dassets.dev/assets/27525/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27525/v1/poster.webp","blurhash":"U4B3+,?a00fk-;ayRjof00D*~qRj9FoeofRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":58844,"triangles":444,"vertices":404,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.000050354676368054296,-2],"max":[2,0.10005035640490273,2]},"sizeMeters":[4,0.1,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:46.102Z","updatedAt":"2026-09-07T23:59:46.206Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27525/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneFloorTileTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27525/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27525/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27525/v1/model.glb\" alt=\"Stone Floor Tile (Tactical Shooter Hill Town)\" 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/27525/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/27525/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27526","slug":"tactical-shooter-hill-town-cobbled-ground-tile-fde0e19b","title":"Cobbled Ground Tile (Tactical Shooter Hill Town)","summary":"Free 3D model of a 4 m cobbled ground tile for a tactical FPS hill town map kit. Measures 4.00 by 0.12 by 4.00 m.","description":"Square of laid stone setts over a concrete bed, the ground surface of the town square, with edge ports on all four sides so a road runs on unbroken. Dimensions 4.00 by 0.12 by 4.00 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level; the walking surface averages 0.10 m above it. The sett relief is geometry, not a normal map.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-cobbled-ground-tile-fde0e19b","cdnUrl":"https://cdn.3dassets.dev/assets/27526/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-cobbled-ground-tile-fde0e19b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27526/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27526/v1/poster.webp","blurhash":"U4B3.@-;00oM%MWCaxof00E1~qNGD$t6WVRk","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":123216,"triangles":2060,"vertices":3136,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.00003213429061350165,-2],"max":[2,0.11960042285529549,2]},"sizeMeters":[4,0.12,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:46.120Z","updatedAt":"2026-09-07T23:59:46.231Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27526/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CobbledGroundTileTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27526/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27526/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27526/v1/model.glb\" alt=\"Cobbled Ground Tile (Tactical Shooter Hill Town)\" 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/27526/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/27526/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27527","slug":"tactical-shooter-hill-town-low-garden-wall-af8ce217","title":"Low Garden Wall (Tactical Shooter Hill Town)","summary":"Free 3D model of a low stone garden wall for a tactical FPS hill town map kit. Measures 4.00 by 0.88 by 0.42 m.","description":"Waist high rubble stone wall with a flat coping, the cover that edges a terrace or a kitchen garden in a hill town. Dimensions 4.00 by 0.88 by 0.42 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The pivot is the grid origin at ground level.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-low-garden-wall-af8ce217","cdnUrl":"https://cdn.3dassets.dev/assets/27527/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-low-garden-wall-af8ce217","thumbnailUrl":"https://cdn.3dassets.dev/assets/27527/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27527/v1/poster.webp","blurhash":"U8B|HPxu9Fxt%M~qt7Io00s:?bayIU00Rj%M","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":66576,"triangles":768,"vertices":693,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00004516500983869909,-0.20996734519486068],"max":[2,0.8799548302217897,0.20996734519486068]},"sizeMeters":[4,0.88,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":1,"publishedAt":"2026-09-07T23:59:47.454Z","updatedAt":"2026-09-08T10:37:32.625Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27527/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LowGardenWallTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27527/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27527/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27527/v1/model.glb\" alt=\"Low Garden Wall (Tactical Shooter Hill Town)\" 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/27527/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/27527/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27528","slug":"tactical-shooter-hill-town-octagonal-fountain-a601c6d9","title":"Octagonal Town Fountain (Tactical Shooter Hill Town)","summary":"Free 3D model of an octagonal stone town fountain for a tactical FPS hill town map kit. Measures 3.44 by 2.26 by 3.44 m.","description":"Octagonal limestone drinking fountain: a coped basin with standing water, a turned central column, an upper bowl and four iron spouts. Dimensions 3.44 by 2.26 by 3.44 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The water surface is flat geometry at 0.46 m, not a simulated fluid.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-octagonal-fountain-a601c6d9","cdnUrl":"https://cdn.3dassets.dev/assets/27528/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-octagonal-fountain-a601c6d9","thumbnailUrl":"https://cdn.3dassets.dev/assets/27528/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27528/v1/poster.webp","blurhash":"U6A100%M00M{9FRjtRt700WA_NR*.8xts9WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":115052,"triangles":2276,"vertices":2220,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.7200000286102295,0.00006070827024040604,-1.7200000286102295],"max":[1.7200000286102295,2.2599392821930167,1.7200000286102295]},"sizeMeters":[3.44,2.26,3.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:47.538Z","updatedAt":"2026-09-07T23:59:47.661Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27528/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OctagonalTownFountainTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27528/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27528/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27528/v1/model.glb\" alt=\"Octagonal Town Fountain (Tactical Shooter Hill Town)\" 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/27528/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/27528/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27529","slug":"tactical-shooter-hill-town-market-awning-stall-4c76765a","title":"Market Awning Stall (Tactical Shooter Hill Town)","summary":"Free 3D model of a timber market stall with a canvas awning for a tactical FPS map kit. Measures 2.56 by 2.73 by 1.78 m.","description":"Trestle market stall with a plank counter, a scalloped sand canvas awning on four posts and open produce trays, the sort that fills a town square on market day. Dimensions 2.56 by 2.73 by 1.78 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-market-awning-stall-4c76765a","cdnUrl":"https://cdn.3dassets.dev/assets/27529/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-market-awning-stall-4c76765a","thumbnailUrl":"https://cdn.3dassets.dev/assets/27529/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27529/v1/poster.webp","blurhash":"UGA,aos;0Ls:~pt6D*a|9ukCxtWB02a{-:j?","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":70924,"triangles":2412,"vertices":2077,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.2799999713897705,0,-0.889949014197264],"max":[1.2799999713897705,2.7300432961475396,0.889949014197264]},"sizeMeters":[2.56,2.73,1.78],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:47.722Z","updatedAt":"2026-09-07T23:59:47.824Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27529/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarketAwningStallTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27529/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27529/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27529/v1/model.glb\" alt=\"Market Awning Stall (Tactical Shooter Hill Town)\" 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/27529/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/27529/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27530","slug":"tactical-shooter-hill-town-crate-stack-36a3ee55","title":"Timber Crate Stack (Tactical Shooter Hill Town)","summary":"Free 3D model of a stack of five timber crates for a tactical FPS hill town map kit. Measures 1.45 by 1.30 by 0.99 m.","description":"Five banded timber shipping crates stacked and turned off square, chest high cover for a market square or a loading corner. Dimensions 1.45 by 1.30 by 0.99 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-crate-stack-36a3ee55","cdnUrl":"https://cdn.3dassets.dev/assets/27530/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-crate-stack-36a3ee55","thumbnailUrl":"https://cdn.3dassets.dev/assets/27530/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27530/v1/poster.webp","blurhash":"U15|cn}X0N1IE%xFaxEz0#AD^5-A,@afsAxG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":129200,"triangles":4860,"vertices":4166,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.7252705693244934,-0.000014392241540428508,-0.496292510922385],"max":[0.7252705693244934,1.3000143445578245,0.496292510922385]},"sizeMeters":[1.451,1.3,0.993],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:47.772Z","updatedAt":"2026-09-07T23:59:47.880Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27530/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimberCrateStackTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27530/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27530/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27530/v1/model.glb\" alt=\"Timber Crate Stack (Tactical Shooter Hill Town)\" 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/27530/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/27530/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27531","slug":"tactical-shooter-hill-town-wine-barrel-b78f51f9","title":"Oak Wine Barrel (Tactical Shooter Hill Town)","summary":"Free 3D model of an oak wine barrel with iron hoops for a tactical FPS hill town map kit. Measures 0.75 by 0.90 by 0.74 m.","description":"Standing oak barrel with a bulged stave belly, four iron hoops, a headed top and a bung, the standard dressing of a cellar or tavern front. Dimensions 0.75 by 0.90 by 0.74 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wine-barrel-b78f51f9","cdnUrl":"https://cdn.3dassets.dev/assets/27531/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wine-barrel-b78f51f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/27531/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27531/v1/poster.webp","blurhash":"U15z%W=y0M5l^2jX9]Wr0xNZ=d$jo}oh$*jX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39772,"triangles":1208,"vertices":856,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.37599998712539673,0,-0.37030840737704634],"max":[0.37599998712539673,0.8949999809265137,0.37030840737704634]},"sizeMeters":[0.752,0.895,0.741],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:49.094Z","updatedAt":"2026-09-07T23:59:49.202Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27531/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OakWineBarrelTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27531/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27531/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27531/v1/model.glb\" alt=\"Oak Wine Barrel (Tactical Shooter Hill Town)\" 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/27531/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/27531/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27532","slug":"tactical-shooter-hill-town-sandbag-wall-d60c87eb","title":"Sandbag Wall (Tactical Shooter Hill Town)","summary":"Free 3D model of a stacked sandbag wall for a tactical FPS hill town map kit. Measures 2.15 by 1.12 by 0.65 m.","description":"Six courses of filled sandbags laid two deep in broken bond, the improvised chest high cover a defending team drops across an entrance. Dimensions 2.15 by 1.12 by 0.65 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-sandbag-wall-d60c87eb","cdnUrl":"https://cdn.3dassets.dev/assets/27532/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-sandbag-wall-d60c87eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/27532/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27532/v1/poster.webp","blurhash":"U7FP4x^+00bb~p~os:9a00xs^*IoIWM}X4R$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":109216,"triangles":6000,"vertices":4500,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.0740293264389038,0.000045622437787717907,-0.3229594089603113],"max":[1.0740293264389038,1.1185543884340996,0.3229594089603113]},"sizeMeters":[2.148,1.119,0.646],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:49.128Z","updatedAt":"2026-09-07T23:59:49.223Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27532/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SandbagWallTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27532/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27532/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27532/v1/model.glb\" alt=\"Sandbag Wall (Tactical Shooter Hill Town)\" 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/27532/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/27532/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27533","slug":"tactical-shooter-hill-town-jersey-barrier-6e2ec6af","title":"Concrete Jersey Barrier (Tactical Shooter Hill Town)","summary":"Free 3D model of a concrete jersey barrier for a tactical FPS hill town map kit. Measures 2.02 by 0.95 by 0.62 m.","description":"Cast concrete traffic barrier with the usual splayed toe and end keys, plus a lifting eye on the top face. Dimensions 2.02 by 0.95 by 0.62 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-jersey-barrier-6e2ec6af","cdnUrl":"https://cdn.3dassets.dev/assets/27533/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-jersey-barrier-6e2ec6af","thumbnailUrl":"https://cdn.3dassets.dev/assets/27533/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27533/v1/poster.webp","blurhash":"U8EMI2~q00%MRk~W-:D%00D%-;RjxuM{WBf6","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":60556,"triangles":420,"vertices":409,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.0120000839233398,0.00005704370238984735,-0.3119666996584874],"max":[1.0120000839233398,0.949999988079071,0.3119666996584874]},"sizeMeters":[2.024,0.95,0.624],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:49.355Z","updatedAt":"2026-09-07T23:59:49.462Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27533/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteJerseyBarrierTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27533/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27533/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27533/v1/model.glb\" alt=\"Concrete Jersey Barrier (Tactical Shooter Hill Town)\" 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/27533/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/27533/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27534","slug":"tactical-shooter-hill-town-oil-drum-05bbfef9","title":"Steel Oil Drum (Tactical Shooter Hill Town)","summary":"Free 3D model of a 200 litre steel oil drum for a tactical FPS hill town map kit. Measures 0.61 by 0.89 by 0.60 m.","description":"Standing steel drum with two rolling hoops, rolled rims and a bung on the head, the loose cover that clutters a yard or an alley. Dimensions 0.61 by 0.89 by 0.60 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-oil-drum-05bbfef9","cdnUrl":"https://cdn.3dassets.dev/assets/27534/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-oil-drum-05bbfef9","thumbnailUrl":"https://cdn.3dassets.dev/assets/27534/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27534/v1/poster.webp","blurhash":"U13S3Cxb00M{_NoL8^bF%NjbIUkBRij@t8ay","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17448,"triangles":912,"vertices":623,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3040110175870876,0,-0.3000119250116195],"max":[0.3040110175870876,0.8850019092787225,0.3000119250116195]},"sizeMeters":[0.608,0.885,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:49.395Z","updatedAt":"2026-09-07T23:59:49.516Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27534/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteelOilDrumTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27534/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27534/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27534/v1/model.glb\" alt=\"Steel Oil Drum (Tactical Shooter Hill Town)\" 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/27534/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/27534/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27535","slug":"tactical-shooter-hill-town-stone-bench-d23e3fa4","title":"Stone Square Bench (Tactical Shooter Hill Town)","summary":"Free 3D model of a stone bench with timber slats for a tactical FPS hill town map kit. Measures 1.80 by 0.57 by 0.48 m.","description":"Public bench of two limestone cheeks under a slab seat with four worn timber slats on top, the fixed seating of a town square. Dimensions 1.80 by 0.57 by 0.48 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-stone-bench-d23e3fa4","cdnUrl":"https://cdn.3dassets.dev/assets/27535/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-stone-bench-d23e3fa4","thumbnailUrl":"https://cdn.3dassets.dev/assets/27535/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27535/v1/poster.webp","blurhash":"U49QN+-;pc~qrC~Wkq9Z00DiMxE2K%00wH?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":87016,"triangles":972,"vertices":843,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-0.8999999761581421,0.000028074714154946445,-0.23997618920541058],"max":[0.8999999761581421,0.569986101380782,0.23997618920541058]},"sizeMeters":[1.8,0.57,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:50.725Z","updatedAt":"2026-09-07T23:59:50.840Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27535/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneSquareBenchTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27535/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27535/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27535/v1/model.glb\" alt=\"Stone Square Bench (Tactical Shooter Hill Town)\" 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/27535/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/27535/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27536","slug":"tactical-shooter-hill-town-potted-olive-tree-d8abdf74","title":"Potted Olive Tree (Tactical Shooter Hill Town)","summary":"Free 3D model of a potted olive tree for a tactical FPS hill town map kit. Measures 1.71 by 2.17 by 1.61 m.","description":"Young olive in a terracotta pot: a gnarled trunk, five limbs and clustered grey green canopy masses, the standing dressing of a square or a terrace. Dimensions 1.71 by 2.17 by 1.61 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The canopy is solid clustered geometry, not alpha cards, so it reads from every angle without a cutout texture.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-potted-olive-tree-d8abdf74","cdnUrl":"https://cdn.3dassets.dev/assets/27536/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-potted-olive-tree-d8abdf74","thumbnailUrl":"https://cdn.3dassets.dev/assets/27536/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27536/v1/poster.webp","blurhash":"U88qNQxu00E2?]bbDQslD+V[%Kt6DQV@yCbv","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":84600,"triangles":1748,"vertices":1454,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.8528697490692139,-0.0000021322316986482903,-0.8028953871131944],"max":[0.8528697490692139,2.1720141297795825,0.8028953871131944]},"sizeMeters":[1.706,2.172,1.606],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":2,"publishedAt":"2026-09-07T23:59:50.744Z","updatedAt":"2026-09-08T07:11:07.130Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27536/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PottedOliveTreeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27536/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27536/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27536/v1/model.glb\" alt=\"Potted Olive Tree (Tactical Shooter Hill Town)\" 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/27536/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/27536/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27537","slug":"tactical-shooter-hill-town-wall-lamp-bracket-d2e06af9","title":"Wall Lamp On Iron Bracket (Tactical Shooter Hill Town)","summary":"Free 3D model of a wrought iron wall lamp for a tactical FPS hill town map kit. Measures 0.27 by 0.62 by 0.60 m.","description":"Street lantern on a scrolled iron bracket with a fixing plate, a hexagonal hood and a frosted glazed body, mounted on a wall face. Dimensions 0.27 by 0.62 by 0.60 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The origin is at the bottom of the wall plate, which is the point to set against a wall face; the lamp projects toward +Z. The glazing is opaque geometry and emits no light.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-wall-lamp-bracket-d2e06af9","cdnUrl":"https://cdn.3dassets.dev/assets/27537/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-wall-lamp-bracket-d2e06af9","thumbnailUrl":"https://cdn.3dassets.dev/assets/27537/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27537/v1/poster.webp","blurhash":"U35OQo~q4n00bJRkaet6004n-;~q-o%2RjIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":63184,"triangles":656,"vertices":581,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.13498877158923012,0,-0.30251446895925044],"max":[0.13498877158923012,0.623289942741394,0.30251446895925044]},"sizeMeters":[0.27,0.623,0.605],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:50.983Z","updatedAt":"2026-09-07T23:59:51.113Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27537/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallLampOnIronBracketTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27537/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27537/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27537/v1/model.glb\" alt=\"Wall Lamp On Iron Bracket (Tactical Shooter Hill Town)\" 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/27537/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/27537/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27538","slug":"tactical-shooter-hill-town-timber-double-gate-f95b207a","title":"Timber Double Gate (Tactical Shooter Hill Town)","summary":"Free 3D model of a timber double gate in a stone surround for a tactical FPS map kit with a 3.00 m opening. Measures 4.00 by 3.50 by 0.40 m.","description":"Courtyard gate bay: two braced plank leaves on strap hinges in a dressed stone surround with a moulded head, each leaf swinging outward on its own jamb. Dimensions 4.00 by 3.50 by 0.40 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. The pivot is the grid origin at ground level.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-timber-double-gate-f95b207a","cdnUrl":"https://cdn.3dassets.dev/assets/27538/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-timber-double-gate-f95b207a","thumbnailUrl":"https://cdn.3dassets.dev/assets/27538/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27538/v1/poster.webp","blurhash":"U8BMunf600of_N-;DiD%I;t7MxM{Ri%MtRDj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":119976,"triangles":2556,"vertices":2256,"meshes":6,"materials":3,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-2,0.000007629627368999081,-0.1999572740867336],"max":[2,3.499992370372631,0.1999572740867336]},"sizeMeters":[4,3.5,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:51.078Z","updatedAt":"2026-09-07T23:59:51.173Z","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/27538/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 TimberDoubleGateTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27538/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/27538/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27538/v1/model.glb\" alt=\"Timber Double Gate (Tactical Shooter Hill Town)\" 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/27538/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/27538/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27539","slug":"tactical-shooter-hill-town-site-marker-board-e51e7c23","title":"Objective Site Marker Board (Tactical Shooter Hill Town)","summary":"Free 3D model of a painted objective site marker board for a tactical FPS map kit. Measures 1.24 by 1.54 by 0.44 m.","description":"Braced timber board on two legs carrying a large painted letter A, the plain marker that names an objective site on a round based map. Dimensions 1.24 by 1.54 by 0.44 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The letter is painted geometry standing 3 mm proud of the board; there is no texture lettering to localise.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-site-marker-board-e51e7c23","cdnUrl":"https://cdn.3dassets.dev/assets/27539/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-site-marker-board-e51e7c23","thumbnailUrl":"https://cdn.3dassets.dev/assets/27539/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27539/v1/poster.webp","blurhash":"U47J;5OD01so~Boy57M|4.xZ-;Ip4nni?bS#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":86960,"triangles":972,"vertices":837,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-0.6203798055648804,0,-0.21997649529871804],"max":[0.6203798055648804,1.5399999618530273,0.21997649529871804]},"sizeMeters":[1.241,1.54,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:52.298Z","updatedAt":"2026-09-07T23:59:52.384Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27539/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ObjectiveSiteMarkerBoardTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27539/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27539/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27539/v1/model.glb\" alt=\"Objective Site Marker Board (Tactical Shooter Hill Town)\" 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/27539/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/27539/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27540","slug":"tactical-shooter-hill-town-barrier-tape-stand-c2405c14","title":"Spawn Barrier Tape Stand (Tactical Shooter Hill Town)","summary":"Free 3D model of a barrier tape stand for a tactical FPS hill town map kit. Measures 2.88 by 1.08 by 0.48 m.","description":"Pair of weighted iron posts carrying a banded hazard tape at 1.00 m, the soft boundary that marks a spawn area or a closed street. Dimensions 2.88 by 1.08 by 0.48 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. The tape is a flat banded strip of geometry between the two posts, so it reads without a transparent texture.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-barrier-tape-stand-c2405c14","cdnUrl":"https://cdn.3dassets.dev/assets/27540/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-barrier-tape-stand-c2405c14","thumbnailUrl":"https://cdn.3dassets.dev/assets/27540/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27540/v1/poster.webp","blurhash":"U36a*QIU01-p~p-:4oRk00-o?a4o00xu~pIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":15268,"triangles":548,"vertices":570,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.4399999380111694,-0.00006038212894210471,-0.23994871857481567],"max":[1.4399999380111694,1.0800604246717573,0.23994871857481567]},"sizeMeters":[2.88,1.08,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:52.343Z","updatedAt":"2026-09-07T23:59:52.434Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27540/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpawnBarrierTapeStandTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27540/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27540/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27540/v1/model.glb\" alt=\"Spawn Barrier Tape Stand (Tactical Shooter Hill Town)\" 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/27540/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/27540/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27541","slug":"tactical-shooter-hill-town-compact-pistol-d527475f","title":"Compact Pistol (Tactical Shooter Hill Town)","summary":"Free 3D model of a compact pistol for a tactical FPS game, an invented archetype with a working magazine and slide. Measures 0.04 by 0.17 by 0.22 m.","description":"Compact polymer framed sidearm with a short slide, a flush fitting magazine and a stub accessory rail, the concealable pistol of a tactical shooter loadout. Dimensions 0.04 by 0.17 by 0.22 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-compact-pistol-d527475f","cdnUrl":"https://cdn.3dassets.dev/assets/27541/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-compact-pistol-d527475f","thumbnailUrl":"https://cdn.3dassets.dev/assets/27541/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27541/v1/poster.webp","blurhash":"U13us8?b00IU?coeD$M{4nD$Rj%Nt5V@a}%N","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":61276,"triangles":2440,"vertices":2493,"meshes":6,"materials":3,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close"],"boundingBox":{"min":[-0.019002502414809993,0,-0.10756245752643674],"max":[0.019002502414809993,0.17300277820031687,0.10755856335163116]},"sizeMeters":[0.038,0.173,0.215],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:52.578Z","updatedAt":"2026-09-07T23:59:52.699Z","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/27541/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 CompactPistolTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27541/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/27541/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27541/v1/model.glb\" alt=\"Compact Pistol (Tactical Shooter Hill Town)\" 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/27541/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/27541/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27542","slug":"tactical-shooter-hill-town-service-pistol-bc484087","title":"Service Pistol (Tactical Shooter Hill Town)","summary":"Free 3D model of a service pistol for a tactical FPS game, an invented archetype with a working magazine and slide. Measures 0.04 by 0.19 by 0.25 m.","description":"Full size service sidearm with a squared slide, chequered grip panels, a full length accessory rail and a double stack magazine. Dimensions 0.04 by 0.19 by 0.25 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-service-pistol-bc484087","cdnUrl":"https://cdn.3dassets.dev/assets/27542/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-service-pistol-bc484087","thumbnailUrl":"https://cdn.3dassets.dev/assets/27542/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27542/v1/poster.webp","blurhash":"U13bgsxv00ob_4t7D$M_D%IURjt8V?ITa#-=","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":61812,"triangles":2452,"vertices":2526,"meshes":6,"materials":3,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close"],"boundingBox":{"min":[-0.018999053615700735,0,-0.12676028038500453],"max":[0.018999053615700735,0.1889975384957613,0.12676331400871277]},"sizeMeters":[0.038,0.189,0.254],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:52.660Z","updatedAt":"2026-09-07T23:59:52.748Z","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/27542/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 ServicePistolTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27542/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/27542/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27542/v1/model.glb\" alt=\"Service Pistol (Tactical Shooter Hill Town)\" 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/27542/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/27542/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27543","slug":"tactical-shooter-hill-town-machine-pistol-a0a4e649","title":"Machine Pistol (Tactical Shooter Hill Town)","summary":"Free 3D model of a machine pistol for a tactical FPS game, an invented archetype with a working magazine and slide. Measures 0.04 by 0.20 by 0.29 m.","description":"Select fire machine pistol: a lengthened slide over a squared receiver with an extended magazine and a folding forward brace. Dimensions 0.04 by 0.20 by 0.29 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips slide-open, slide-close, magazine-open, magazine-close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-machine-pistol-a0a4e649","cdnUrl":"https://cdn.3dassets.dev/assets/27543/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-machine-pistol-a0a4e649","thumbnailUrl":"https://cdn.3dassets.dev/assets/27543/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27543/v1/poster.webp","blurhash":"U13[#d%g4n%2~qWBD$of9E8_IUx]t6D%R*?b","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":64932,"triangles":2584,"vertices":2671,"meshes":6,"materials":3,"textures":0,"animations":["slide-open","slide-close","magazine-open","magazine-close"],"boundingBox":{"min":[-0.019004393805189135,0.000005766180703095647,-0.14655020833015442],"max":[0.019004393805189135,0.19699490121162586,0.14655020833015442]},"sizeMeters":[0.038,0.197,0.293],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:53.876Z","updatedAt":"2026-09-07T23:59:53.979Z","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/27543/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 MachinePistolTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27543/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/27543/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27543/v1/model.glb\" alt=\"Machine Pistol (Tactical Shooter Hill Town)\" 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/27543/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/27543/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27544","slug":"tactical-shooter-hill-town-heavy-revolver-2615cb81","title":"Heavy Revolver (Tactical Shooter Hill Town)","summary":"Free 3D model of a heavy six shot revolver for a tactical FPS game, an invented archetype with a swing out cylinder. Measures 0.06 by 0.23 by 0.35 m.","description":"Large frame six shot revolver with a full underlug barrel, a ventilated rib, a timber grip and a cylinder that swings out to the left on its crane. Dimensions 0.06 by 0.23 by 0.35 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The chambers are modelled recesses and fire nothing; there is no ammunition, ejector or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-heavy-revolver-2615cb81","cdnUrl":"https://cdn.3dassets.dev/assets/27544/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-heavy-revolver-2615cb81","thumbnailUrl":"https://cdn.3dassets.dev/assets/27544/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27544/v1/poster.webp","blurhash":"U13+4XX-00-B?vWBD$%M00VX%MgO4maw-=M|","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":72364,"triangles":2308,"vertices":2191,"meshes":5,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.03151561473520753,0,-0.17301105985401877],"max":[0.031515616031608545,0.226000241423931,0.17300951480865479]},"sizeMeters":[0.063,0.226,0.346],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:53.946Z","updatedAt":"2026-09-07T23:59:54.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/27544/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 HeavyRevolverTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27544/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/27544/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27544/v1/model.glb\" alt=\"Heavy Revolver (Tactical Shooter Hill Town)\" 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/27544/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/27544/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27546","slug":"tactical-shooter-hill-town-compact-smg-f5f44256","title":"Compact Submachine Gun (Tactical Shooter Hill Town)","summary":"Free 3D model of a compact submachine gun for a tactical FPS game, an invented archetype with working named parts. Measures 0.07 by 0.33 by 0.41 m.","description":"Compact blowback submachine gun with a folding wire stock, a short handguard and a magazine housed in the grip well. Dimensions 0.07 by 0.33 by 0.41 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-compact-smg-f5f44256","cdnUrl":"https://cdn.3dassets.dev/assets/27546/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-compact-smg-f5f44256","thumbnailUrl":"https://cdn.3dassets.dev/assets/27546/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27546/v1/poster.webp","blurhash":"U12rs:Rj4mxu?cWWITj=9Fof%MRi8_j[%Nj]","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":89516,"triangles":4140,"vertices":3725,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.037505556506080576,5.622456372700313e-7,-0.20534999668598175],"max":[0.037505556506080576,0.324998094079272,0.20534999668598175]},"sizeMeters":[0.075,0.325,0.411],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:54.242Z","updatedAt":"2026-09-07T23:59:54.338Z","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/27546/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 CompactSubmachineGunTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27546/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/27546/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27546/v1/model.glb\" alt=\"Compact Submachine Gun (Tactical Shooter Hill Town)\" 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/27546/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/27546/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27545","slug":"tactical-shooter-hill-town-full-smg-627e8565","title":"Full Size Submachine Gun (Tactical Shooter Hill Town)","summary":"Free 3D model of a full size submachine gun for a tactical FPS game, an invented archetype with working named parts. Measures 0.07 by 0.33 by 0.58 m.","description":"Full size submachine gun with a longer barrel, a slotted handguard, a folding wire stock and a straight stick magazine. Dimensions 0.07 by 0.33 by 0.58 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-full-smg-627e8565","cdnUrl":"https://cdn.3dassets.dev/assets/27545/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-full-smg-627e8565","thumbnailUrl":"https://cdn.3dassets.dev/assets/27545/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27545/v1/poster.webp","blurhash":"U13us74n9E~q~qD%IU-;4mt7t8M{00-;xuIU","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":91564,"triangles":4188,"vertices":3835,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.03750077936397349,5.136155178386836e-7,-0.2917500138282776],"max":[0.03750077936397349,0.3250116824016426,0.2917500138282776]},"sizeMeters":[0.075,0.325,0.584],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:54.217Z","updatedAt":"2026-09-07T23:59:54.306Z","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/27545/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 FullSizeSubmachineGunTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27545/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/27545/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27545/v1/model.glb\" alt=\"Full Size Submachine Gun (Tactical Shooter Hill Town)\" 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/27545/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/27545/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27547","slug":"tactical-shooter-hill-town-pump-shotgun-5b373d89","title":"Pump Action Shotgun (Tactical Shooter Hill Town)","summary":"Free 3D model of a pump action shotgun for a tactical FPS game, an invented archetype with working named parts. Measures 0.06 by 0.33 by 0.95 m.","description":"Tube fed pump action shotgun in timber furniture, with a ribbed sliding forend that cycles on its own node. Dimensions 0.06 by 0.33 by 0.95 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-pump-shotgun-5b373d89","cdnUrl":"https://cdn.3dassets.dev/assets/27547/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-pump-shotgun-5b373d89","thumbnailUrl":"https://cdn.3dassets.dev/assets/27547/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27547/v1/poster.webp","blurhash":"U13bE$Os9so_^kI.Myt70dIU,[wh4.xH-:ae","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":129408,"triangles":4284,"vertices":4175,"meshes":5,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.03099765169142378,-0.000016577269653567095,-0.47415217757225037],"max":[0.03099765169142378,0.32499583436765495,0.47415217757225037]},"sizeMeters":[0.062,0.325,0.948],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:55.602Z","updatedAt":"2026-09-07T23:59:55.696Z","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/27547/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 PumpActionShotgunTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27547/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/27547/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27547/v1/model.glb\" alt=\"Pump Action Shotgun (Tactical Shooter Hill Town)\" 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/27547/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/27547/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27548","slug":"tactical-shooter-hill-town-semi-auto-shotgun-eed4a083","title":"Semi Automatic Shotgun (Tactical Shooter Hill Town)","summary":"Free 3D model of a semi automatic shotgun for a tactical FPS game, an invented archetype with working named parts. Measures 0.06 by 0.33 by 0.99 m.","description":"Gas operated semi automatic shotgun with a synthetic stock, a magazine tube under the barrel and a reciprocating charging handle. Dimensions 0.06 by 0.33 by 0.99 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-semi-auto-shotgun-eed4a083","cdnUrl":"https://cdn.3dassets.dev/assets/27548/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-semi-auto-shotgun-eed4a083","thumbnailUrl":"https://cdn.3dassets.dev/assets/27548/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27548/v1/poster.webp","blurhash":"U02i9Ct700tQ~qM_9Eof00D%-;og00t7~qxu","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":82120,"triangles":3540,"vertices":3524,"meshes":4,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.031997904746975996,0.000015460378803455743,-0.49335217475891113],"max":[0.03199855171805563,0.32499644730745914,0.49335217475891113]},"sizeMeters":[0.064,0.325,0.987],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:55.622Z","updatedAt":"2026-09-07T23:59:55.729Z","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/27548/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 SemiAutomaticShotgunTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27548/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/27548/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27548/v1/model.glb\" alt=\"Semi Automatic Shotgun (Tactical Shooter Hill Town)\" 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/27548/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/27548/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27549","slug":"tactical-shooter-hill-town-defender-carbine-897b5bd0","title":"Defender Carbine (Tactical Shooter Hill Town)","summary":"Free 3D model of a defender carbine for a tactical FPS game, an invented archetype with working named parts. Measures 0.06 by 0.33 by 0.74 m.","description":"Short barrelled defending team carbine: a compact receiver, a vented handguard, a fixed stock and a curved thirty round magazine. Dimensions 0.06 by 0.33 by 0.74 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-defender-carbine-897b5bd0","cdnUrl":"https://cdn.3dassets.dev/assets/27549/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-defender-carbine-897b5bd0","thumbnailUrl":"https://cdn.3dassets.dev/assets/27549/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27549/v1/poster.webp","blurhash":"U03R{__200xm~qRiDiM|0000a-N400M{?b-;","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":89844,"triangles":3972,"vertices":3802,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.028014025792548185,0.00002157286745871345,-0.36855217814445496],"max":[0.028014025792548185,0.3250072872385037,0.36855217814445496]},"sizeMeters":[0.056,0.325,0.737],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:55.778Z","updatedAt":"2026-09-07T23:59:55.866Z","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/27549/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 DefenderCarbineTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27549/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/27549/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27549/v1/model.glb\" alt=\"Defender Carbine (Tactical Shooter Hill Town)\" 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/27549/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/27549/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27550","slug":"tactical-shooter-hill-town-attacker-assault-rifle-b84190ac","title":"Attacker Assault Rifle (Tactical Shooter Hill Town)","summary":"Free 3D model of a attacker assault rifle for a tactical FPS game, an invented archetype with working named parts. Measures 0.06 by 0.33 by 0.87 m.","description":"Attacking team assault rifle with a mid length barrel, a long slotted handguard, a curved magazine and a full top rail. Dimensions 0.06 by 0.33 by 0.87 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-attacker-assault-rifle-b84190ac","cdnUrl":"https://cdn.3dassets.dev/assets/27550/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-attacker-assault-rifle-b84190ac","thumbnailUrl":"https://cdn.3dassets.dev/assets/27550/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27550/v1/poster.webp","blurhash":"U12~W9R,00xw?dM_MutA9EM^%LoP9Eoi%ioZ","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":91560,"triangles":4008,"vertices":3893,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.027979722744661754,0.000019813207764785012,-0.43575218319892883],"max":[0.027979722744661754,0.3250077921356803,0.43575218319892883]},"sizeMeters":[0.056,0.325,0.872],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:55.935Z","updatedAt":"2026-09-07T23:59:56.041Z","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/27550/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 AttackerAssaultRifleTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27550/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/27550/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27550/v1/model.glb\" alt=\"Attacker Assault Rifle (Tactical Shooter Hill Town)\" 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/27550/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/27550/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27551","slug":"tactical-shooter-hill-town-marksman-rifle-44d21155","title":"Marksman Rifle (Tactical Shooter Hill Town)","summary":"Free 3D model of a marksman rifle for a tactical FPS game, an invented archetype with working named parts. Measures 0.07 by 0.35 by 1.02 m.","description":"Semi automatic designated marksman rifle with a heavy barrel, a cheek riser stock, a twenty round magazine and a mounted telescopic sight. Dimensions 0.07 by 0.35 by 1.02 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-marksman-rifle-44d21155","cdnUrl":"https://cdn.3dassets.dev/assets/27551/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-marksman-rifle-44d21155","thumbnailUrl":"https://cdn.3dassets.dev/assets/27551/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27551/v1/poster.webp","blurhash":"U025}mIo4m%g_4IAMwtR00M_-=WA4m%N.9R%","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":93748,"triangles":4144,"vertices":4084,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.03312369135405709,-0.000004902781265664347,-0.5077521800994873],"max":[0.03312369135405709,0.35301277872420433,0.5077521800994873]},"sizeMeters":[0.066,0.353,1.016],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:57.172Z","updatedAt":"2026-09-07T23:59:57.271Z","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/27551/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 MarksmanRifleTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27551/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/27551/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27551/v1/model.glb\" alt=\"Marksman Rifle (Tactical Shooter Hill Town)\" 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/27551/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/27551/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27552","slug":"tactical-shooter-hill-town-bolt-sniper-rifle-4bf1076c","title":"Bolt Action Sniper Rifle (Tactical Shooter Hill Town)","summary":"Free 3D model of a bolt action sniper rifle for a tactical FPS game, an invented archetype with working named parts. Measures 0.14 by 0.35 by 1.18 m.","description":"Bolt action precision rifle with a long heavy barrel, a chassis stock with a cheek riser, a mounted telescopic sight and a working bolt handle. Dimensions 0.14 by 0.35 by 1.18 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips bolt-open, bolt-close, magazine-open, magazine-close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-bolt-sniper-rifle-4bf1076c","cdnUrl":"https://cdn.3dassets.dev/assets/27552/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-bolt-sniper-rifle-4bf1076c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27552/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27552/v1/poster.webp","blurhash":"U02Ykao}8_%3~qIUD%xu009Fxut600%3_3NF","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":101388,"triangles":4420,"vertices":4357,"meshes":6,"materials":3,"textures":0,"animations":["bolt-open","bolt-close","magazine-open","magazine-close"],"boundingBox":{"min":[-0.0675855631514016,-0.000022461693960723617,-0.5893521904945374],"max":[0.06757177199704446,0.3529972989657511,0.5893521904945374]},"sizeMeters":[0.135,0.353,1.179],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:57.234Z","updatedAt":"2026-09-07T23:59:57.317Z","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/27552/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 BoltActionSniperRifleTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27552/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/27552/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27552/v1/model.glb\" alt=\"Bolt Action Sniper Rifle (Tactical Shooter Hill Town)\" 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/27552/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/27552/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27553","slug":"tactical-shooter-hill-town-light-machine-gun-bb8b7e43","title":"Light Machine Gun (Tactical Shooter Hill Town)","summary":"Free 3D model of a light machine gun for a tactical FPS game, an invented archetype with working named parts. Measures 0.18 by 0.34 by 1.04 m.","description":"Belt fed light machine gun with a box ammunition carrier, a carry handle over the barrel and a folded bipod under the muzzle. Dimensions 0.18 by 0.34 by 1.04 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The bore is a modelled recess and fires nothing; there is no muzzle flash, projectile, recoil or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-light-machine-gun-bb8b7e43","cdnUrl":"https://cdn.3dassets.dev/assets/27553/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-light-machine-gun-bb8b7e43","thumbnailUrl":"https://cdn.3dassets.dev/assets/27553/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27553/v1/poster.webp","blurhash":"U14ef@~q00009G00ad~q00D%?b?b_3~qkD00","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":98224,"triangles":4312,"vertices":4202,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.09165404006171664,-4.5742840371065796e-7,-0.5221521854400635],"max":[0.09165404006171664,0.33702091803886736,0.5221521854400635]},"sizeMeters":[0.183,0.337,1.044],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:57.336Z","updatedAt":"2026-09-07T23:59:57.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/27553/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 LightMachineGunTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27553/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/27553/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27553/v1/model.glb\" alt=\"Light Machine Gun (Tactical Shooter Hill Town)\" 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/27553/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/27553/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27554","slug":"tactical-shooter-hill-town-combat-knife-dd39d49b","title":"Combat Knife (Tactical Shooter Hill Town)","summary":"Free 3D model of a combat knife lying flat for a tactical FPS game, an invented archetype with a ribbed grip. Measures 0.05 by 0.04 by 0.35 m.","description":"Fixed blade combat knife lying on its side: a clip point blade with a serrated spine section, a steel guard, a ribbed rubber grip and a pommel. Dimensions 0.05 by 0.04 by 0.35 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The model lies flat so it can be dropped straight onto the ground as a pickup.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-combat-knife-dd39d49b","cdnUrl":"https://cdn.3dassets.dev/assets/27554/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-combat-knife-dd39d49b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27554/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27554/v1/poster.webp","blurhash":"U35hc7_34m00M{IUaxxu004n_3_4-;?bogIT","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":24560,"triangles":1048,"vertices":963,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.027000000700354576,-2.2893953604066763e-7,-0.17632615566253662],"max":[0.027000000700354576,0.040000228045466366,0.17632615566253662]},"sizeMeters":[0.054,0.04,0.353],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:57.514Z","updatedAt":"2026-09-07T23:59:57.602Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27554/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CombatKnifeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27554/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27554/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27554/v1/model.glb\" alt=\"Combat Knife (Tactical Shooter Hill Town)\" 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/27554/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/27554/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27555","slug":"tactical-shooter-hill-town-fragmentation-grenade-5a45f14c","title":"Fragmentation Grenade (Tactical Shooter Hill Town)","summary":"Free 3D model of a fragmentation grenade for a tactical FPS game, an invented archetype standing upright. Measures 0.07 by 0.12 by 0.07 m.","description":"Hand thrown fragmentation grenade with an ovoid scored body, a safety lever and a pull ring on the fuse head. Dimensions 0.07 by 0.12 by 0.07 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The lever and ring are static geometry: nothing detaches, and there is no fuse timer, effect or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-fragmentation-grenade-5a45f14c","cdnUrl":"https://cdn.3dassets.dev/assets/27555/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-fragmentation-grenade-5a45f14c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27555/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27555/v1/poster.webp","blurhash":"U44_z#xu00D%_Nxu9EIURit7t8M{D%kC-;V@","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":25120,"triangles":1356,"vertices":932,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03270113597367831,0,-0.03270113597367831],"max":[0.03270113597367831,0.11935000121593475,0.03270113597367831]},"sizeMeters":[0.065,0.119,0.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:58.820Z","updatedAt":"2026-09-07T23:59:59.037Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27555/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FragmentationGrenadeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27555/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27555/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27555/v1/model.glb\" alt=\"Fragmentation Grenade (Tactical Shooter Hill Town)\" 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/27555/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/27555/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27556","slug":"tactical-shooter-hill-town-flash-grenade-06e43836","title":"Flash Grenade (Tactical Shooter Hill Town)","summary":"Free 3D model of a flash grenade for a tactical FPS game, an invented archetype standing upright. Measures 0.08 by 0.14 by 0.06 m.","description":"Cylindrical flash grenade with a ported steel body, a safety lever and a pull ring, the standard entry aid of a tactical shooter. Dimensions 0.08 by 0.14 by 0.06 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The lever and ring are static geometry: nothing detaches, and there is no fuse timer, effect or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-flash-grenade-06e43836","cdnUrl":"https://cdn.3dassets.dev/assets/27556/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-flash-grenade-06e43836","thumbnailUrl":"https://cdn.3dassets.dev/assets/27556/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27556/v1/poster.webp","blurhash":"U27-j1Ri00WF?dt89YIT4-xur]E100t8_NM^","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":14444,"triangles":576,"vertices":559,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.039000000804662704,0,-0.03199621492269023],"max":[0.038996214207434494,0.14239999651908875,0.03199621492269023]},"sizeMeters":[0.078,0.142,0.064],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:58.922Z","updatedAt":"2026-09-07T23:59:59.042Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27556/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlashGrenadeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27556/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27556/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27556/v1/model.glb\" alt=\"Flash Grenade (Tactical Shooter Hill Town)\" 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/27556/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/27556/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27557","slug":"tactical-shooter-hill-town-smoke-grenade-fa3e11eb","title":"Smoke Grenade (Tactical Shooter Hill Town)","summary":"Free 3D model of a smoke grenade for a tactical FPS game, an invented archetype standing upright. Measures 0.08 by 0.18 by 0.08 m.","description":"Tall cylindrical smoke grenade with a vented top plate, a banded body, a safety lever and a pull ring. Dimensions 0.08 by 0.18 by 0.08 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The lever and ring are static geometry: nothing detaches, and there is no fuse timer, effect or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-smoke-grenade-fa3e11eb","cdnUrl":"https://cdn.3dassets.dev/assets/27557/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-smoke-grenade-fa3e11eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/27557/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27557/v1/poster.webp","blurhash":"U268BM-;008_?ws;9EIn0Lae-oRkD%oyx]M|","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":17808,"triangles":816,"vertices":631,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.03850083213560318,0,-0.03850083213560318],"max":[0.03850083213560318,0.1793999969959259,0.03850083213560318]},"sizeMeters":[0.077,0.179,0.077],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:58.984Z","updatedAt":"2026-09-07T23:59:59.197Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27557/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmokeGrenadeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27557/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27557/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27557/v1/model.glb\" alt=\"Smoke Grenade (Tactical Shooter Hill Town)\" 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/27557/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/27557/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27558","slug":"tactical-shooter-hill-town-incendiary-grenade-752e8a11","title":"Incendiary Grenade (Tactical Shooter Hill Town)","summary":"Free 3D model of a incendiary grenade for a tactical FPS game, an invented archetype standing upright. Measures 0.07 by 0.12 by 0.07 m.","description":"Squat incendiary grenade with a heavy base, a broad top cap, a safety lever and a pull ring. Dimensions 0.07 by 0.12 by 0.07 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The lever and ring are static geometry: nothing detaches, and there is no fuse timer, effect or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-incendiary-grenade-752e8a11","cdnUrl":"https://cdn.3dassets.dev/assets/27558/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-incendiary-grenade-752e8a11","thumbnailUrl":"https://cdn.3dassets.dev/assets/27558/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27558/v1/poster.webp","blurhash":"UA71p3og00Rj_Nof9FWBWCjukBay4nay-;j[","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":12388,"triangles":496,"vertices":461,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03600320497417837,0,-0.03600320497417837],"max":[0.03600320497417837,0.11940000206232071,0.03600320497417837]},"sizeMeters":[0.072,0.119,0.072],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T23:59:59.052Z","updatedAt":"2026-09-07T23:59:59.177Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27558/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IncendiaryGrenadeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27558/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27558/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27558/v1/model.glb\" alt=\"Incendiary Grenade (Tactical Shooter Hill Town)\" 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/27558/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/27558/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27559","slug":"tactical-shooter-hill-town-decoy-grenade-7d5d3a53","title":"Decoy Grenade (Tactical Shooter Hill Town)","summary":"Free 3D model of a decoy grenade for a tactical FPS game, an invented archetype standing upright. Measures 0.07 by 0.20 by 0.07 m.","description":"Decoy grenade with a knurled body band, a short whip antenna, a safety lever and a pull ring. Dimensions 0.07 by 0.20 by 0.07 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Original invented archetype: it carries no maker, model or product name, and no markings, logos or lettering. The lever and ring are static geometry: nothing detaches, and there is no fuse timer, effect or damage data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-decoy-grenade-7d5d3a53","cdnUrl":"https://cdn.3dassets.dev/assets/27559/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-decoy-grenade-7d5d3a53","thumbnailUrl":"https://cdn.3dassets.dev/assets/27559/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27559/v1/poster.webp","blurhash":"U24U]Axu00D%?bof9FM{00Rj_4xu00Rj_4%M","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":20348,"triangles":684,"vertices":890,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03350297861372173,0,-0.03350297861372173],"max":[0.03350297861372173,0.19833040237426758,0.03350297861372173]},"sizeMeters":[0.067,0.198,0.067],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:00.494Z","updatedAt":"2026-09-08T00:00:00.590Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27559/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DecoyGrenadeTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27559/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27559/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27559/v1/model.glb\" alt=\"Decoy Grenade (Tactical Shooter Hill Town)\" 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/27559/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/27559/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27560","slug":"tactical-shooter-hill-town-objective-device-24da01ad","title":"Objective Device Case (Tactical Shooter Hill Town)","summary":"Free 3D model of a briefcase objective device for a tactical FPS game, with a keypad, an antenna and a hinged lid. Measures 0.44 by 0.31 by 0.37 m.","description":"The round objective: a hard case holding a tray with a twelve key pad, an indicator block, routed cable and a whip antenna, with a lid that lifts on its back edge. Dimensions 0.44 by 0.31 by 0.37 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Rigid node-transform clips open, close drive the named parts on their own pivots. There is no skinning and no skeleton; every other surface is static. Invented prop with no markings, lettering or logos, and no explosive, timer or gameplay behaviour of any kind: it is a case with a lid.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-objective-device-24da01ad","cdnUrl":"https://cdn.3dassets.dev/assets/27560/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-objective-device-24da01ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/27560/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27560/v1/poster.webp","blurhash":"U04_wtIW00NDV;9E?vtA00kC?v%001~qIAE0","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":71280,"triangles":3376,"vertices":2763,"meshes":7,"materials":5,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.2199999988079071,0.0000105322723397,-0.18313079293560688],"max":[0.2199999988079071,0.3130003191001135,0.18312631511843214]},"sizeMeters":[0.44,0.313,0.366],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:00.535Z","updatedAt":"2026-09-08T00:00:00.623Z","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/27560/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 ObjectiveDeviceCaseTacticalShooterHillTown(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/27560/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/27560/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27560/v1/model.glb\" alt=\"Objective Device Case (Tactical Shooter Hill Town)\" 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/27560/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/27560/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"27561","slug":"tactical-shooter-hill-town-defuse-kit-bcaf54e3","title":"Defuse Kit Pouch (Tactical Shooter Hill Town)","summary":"Free 3D model of an open defuse kit pouch for a tactical FPS game, with cutters, a driver and a cable coil. Measures 0.30 by 0.16 by 0.22 m.","description":"Open canvas tool pouch laid on the ground: wire cutters, a long screwdriver, an insulated probe and a coil of cable in a moulded tray. Dimensions 0.30 by 0.16 by 0.22 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Invented prop with no markings or lettering. The tools are static geometry and carry no gameplay behaviour.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-defuse-kit-bcaf54e3","cdnUrl":"https://cdn.3dassets.dev/assets/27561/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-defuse-kit-bcaf54e3","thumbnailUrl":"https://cdn.3dassets.dev/assets/27561/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27561/v1/poster.webp","blurhash":"U4D]bg~p00^$?b-oxYt700D+0304-%o#0301","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":40532,"triangles":1960,"vertices":1515,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000000596046448,-0.0000017572978914665027,-0.11225000023841858],"max":[0.15000000596046448,0.16175780601115755,0.11225436289499745]},"sizeMeters":[0.3,0.162,0.225],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:00.676Z","updatedAt":"2026-09-08T00:00:00.803Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27561/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DefuseKitPouchTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27561/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27561/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27561/v1/model.glb\" alt=\"Defuse Kit Pouch (Tactical Shooter Hill Town)\" 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/27561/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/27561/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27562","slug":"tactical-shooter-hill-town-riot-shield-dbe37eaa","title":"Riot Shield (Tactical Shooter Hill Town)","summary":"Free 3D model of a standing riot shield for a tactical FPS game, curved with a vision port and a forearm cuff. Measures 0.62 by 1.08 by 0.16 m.","description":"Curved ballistic riot shield standing on its own foot rail, with a darkened vision port, three reinforcing ribs and a forearm cuff and grab handle on the back. Dimensions 0.62 by 1.08 by 0.16 m (X by Y by Z). Metre units, +Y up, +Z front; the origin sits on the ground at the footprint centre unless stated otherwise. Lime plaster, terracotta tile, grey limestone, oiled timber, blued iron, bright steel, teal-grey and sand-olive cloth. Static geometry; no rig, skeleton, animation, collision or navigation data. Invented design with no markings or lettering. It stands on its foot rail at y = 0 and has no rig or collision volume.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-riot-shield-dbe37eaa","cdnUrl":"https://cdn.3dassets.dev/assets/27562/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-riot-shield-dbe37eaa","thumbnailUrl":"https://cdn.3dassets.dev/assets/27562/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27562/v1/poster.webp","blurhash":"U76I$-y?00HqyXpIRPR4L~Z$x]o}%#t7MdRP","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":23320,"triangles":964,"vertices":918,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.31001248980818075,0,-0.08185968663325803],"max":[0.31001248980818075,1.0799999237060547,0.08182677453192293]},"sizeMeters":[0.62,1.08,0.164],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:00.697Z","updatedAt":"2026-09-08T00:00:00.820Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27562/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RiotShieldTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27562/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27562/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27562/v1/model.glb\" alt=\"Riot Shield (Tactical Shooter Hill Town)\" 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/27562/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/27562/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27563","slug":"tactical-shooter-hill-town-patrol-officer-standing-aim-5f18d932","title":"Patrol Officer Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.75 by 1.75 by 1.28 m.","description":"Patrol Officer of the defending side, in teal grey: a soft peaked cap and a light stab vest over the shirt, with belt pouches and a torch. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.75 by 1.75 by 1.28 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-patrol-officer-standing-aim-5f18d932","cdnUrl":"https://cdn.3dassets.dev/assets/27563/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-patrol-officer-standing-aim-5f18d932","thumbnailUrl":"https://cdn.3dassets.dev/assets/27563/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27563/v1/poster.webp","blurhash":"U24VL0Mw00?w?^j?DNah4Toz?]Vs4URi?ux^","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":144020,"triangles":7516,"vertices":5832,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3750370906431549,0,-0.638700815609887],"max":[0.3750370906431549,1.7508584260940552,0.6387046575546265]},"sizeMeters":[0.75,1.751,1.277],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:02.080Z","updatedAt":"2026-09-08T00:00:02.170Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27563/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatrolOfficerStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27563/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27563/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27563/v1/model.glb\" alt=\"Patrol Officer Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27563/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/27563/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27564","slug":"tactical-shooter-hill-town-patrol-officer-crouch-aim-c273b87d","title":"Patrol Officer Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.75 by 1.38 by 1.19 m.","description":"Patrol Officer of the defending side, in teal grey: a soft peaked cap and a light stab vest over the shirt, with belt pouches and a torch. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.75 by 1.38 by 1.19 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-patrol-officer-crouch-aim-c273b87d","cdnUrl":"https://cdn.3dassets.dev/assets/27564/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-patrol-officer-crouch-aim-c273b87d","thumbnailUrl":"https://cdn.3dassets.dev/assets/27564/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27564/v1/poster.webp","blurhash":"U35YKKic00u5_Nof8_WB00XS?^n300M{?b%g","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":143812,"triangles":7516,"vertices":5820,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.37585575413376676,0,-0.592678080706134],"max":[0.37585575413376676,1.3782590627670288,0.592677116394043]},"sizeMeters":[0.752,1.378,1.185],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:02.273Z","updatedAt":"2026-09-08T00:00:02.371Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27564/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatrolOfficerCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27564/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27564/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27564/v1/model.glb\" alt=\"Patrol Officer Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27564/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/27564/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27566","slug":"tactical-shooter-hill-town-patrol-officer-running-0dfe67ff","title":"Patrol Officer Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.67 by 1.64 by 1.60 m.","description":"Patrol Officer of the defending side, in teal grey: a soft peaked cap and a light stab vest over the shirt, with belt pouches and a torch. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.67 by 1.64 by 1.60 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-patrol-officer-running-0dfe67ff","cdnUrl":"https://cdn.3dassets.dev/assets/27566/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-patrol-officer-running-0dfe67ff","thumbnailUrl":"https://cdn.3dassets.dev/assets/27566/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27566/v1/poster.webp","blurhash":"U255k8%1009Z?^ozDORP00S$_Nv#4nR*?axa","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":144336,"triangles":7516,"vertices":5856,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3355411651939091,0,-0.8023829990213732],"max":[0.3355411651939091,1.6364431381225586,0.8024040460586548]},"sizeMeters":[0.671,1.636,1.605],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:02.341Z","updatedAt":"2026-09-08T00:00:02.459Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27566/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatrolOfficerRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27566/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27566/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27566/v1/model.glb\" alt=\"Patrol Officer Running Pose (Tactical Shooter Hill Town)\" 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/27566/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/27566/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27565","slug":"tactical-shooter-hill-town-patrol-officer-planting-5ede95bc","title":"Patrol Officer Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.59 by 1.33 by 0.83 m.","description":"Patrol Officer of the defending side, in teal grey: a soft peaked cap and a light stab vest over the shirt, with belt pouches and a torch. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.59 by 1.33 by 0.83 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-patrol-officer-planting-5ede95bc","cdnUrl":"https://cdn.3dassets.dev/assets/27565/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-patrol-officer-planting-5ede95bc","thumbnailUrl":"https://cdn.3dassets.dev/assets/27565/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27565/v1/poster.webp","blurhash":"U45rJR_N0000yDbvIUR500Di.8?biwxF%Mo}","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":123900,"triangles":6548,"vertices":4993,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.29634457323921315,0,-0.41526835043316745],"max":[0.29632118524449236,1.3342705965042114,0.41527488121711315]},"sizeMeters":[0.593,1.334,0.831],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:02.334Z","updatedAt":"2026-09-08T00:00:02.444Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27565/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PatrolOfficerPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27565/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27565/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27565/v1/model.glb\" alt=\"Patrol Officer Planting Pose (Tactical Shooter Hill Town)\" 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/27565/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/27565/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27567","slug":"tactical-shooter-hill-town-assault-trooper-standing-ai-4aabf3cb","title":"Assault Trooper Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.82 by 1.79 by 1.28 m.","description":"Assault Trooper of the defending side, in teal grey: a full combat helmet, a heavy plate carrier with shoulder pads and stacked magazine pouches. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.82 by 1.79 by 1.28 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-assault-trooper-standing-ai-4aabf3cb","cdnUrl":"https://cdn.3dassets.dev/assets/27567/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-assault-trooper-standing-ai-4aabf3cb","thumbnailUrl":"https://cdn.3dassets.dev/assets/27567/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27567/v1/poster.webp","blurhash":"U24oQLRP00%g?btR9ZIA4To}?^Mw9FRP-;%g","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":150904,"triangles":7984,"vertices":6137,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.40863429439800186,0,-0.6414855165031828],"max":[0.40866259293846785,1.7865474224090576,0.6414445638656616]},"sizeMeters":[0.817,1.787,1.283],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:03.663Z","updatedAt":"2026-09-08T00:00:03.757Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27567/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssaultTrooperStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27567/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27567/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27567/v1/model.glb\" alt=\"Assault Trooper Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27567/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/27567/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27568","slug":"tactical-shooter-hill-town-assault-trooper-crouch-aim-ba290269","title":"Assault Trooper Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.82 by 1.40 by 1.19 m.","description":"Assault Trooper of the defending side, in teal grey: a full combat helmet, a heavy plate carrier with shoulder pads and stacked magazine pouches. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.82 by 1.40 by 1.19 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-assault-trooper-crouch-aim-ba290269","cdnUrl":"https://cdn.3dassets.dev/assets/27568/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-assault-trooper-crouch-aim-ba290269","thumbnailUrl":"https://cdn.3dassets.dev/assets/27568/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27568/v1/poster.webp","blurhash":"U35rA3a000pJ_2oz9ZRP00g4_Nm,0KM{-;%g","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":151116,"triangles":7984,"vertices":6152,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.4096057782789867,0,-0.5939502586598479],"max":[0.4096051323247679,1.4036694765090942,0.5939695239067078]},"sizeMeters":[0.819,1.404,1.188],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:03.875Z","updatedAt":"2026-09-08T00:00:03.973Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27568/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssaultTrooperCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27568/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27568/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27568/v1/model.glb\" alt=\"Assault Trooper Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27568/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/27568/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27569","slug":"tactical-shooter-hill-town-assault-trooper-running-fe5f7050","title":"Assault Trooper Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.73 by 1.67 by 1.62 m.","description":"Assault Trooper of the defending side, in teal grey: a full combat helmet, a heavy plate carrier with shoulder pads and stacked magazine pouches. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.73 by 1.67 by 1.62 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-assault-trooper-running-fe5f7050","cdnUrl":"https://cdn.3dassets.dev/assets/27569/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-assault-trooper-running-fe5f7050","thumbnailUrl":"https://cdn.3dassets.dev/assets/27569/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27569/v1/poster.webp","blurhash":"U34evUxu00D%$iofOERj4TWX?vn$ELRj$itR","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":151492,"triangles":7984,"vertices":6179,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.36467322053138607,0,-0.8085687272863443],"max":[0.36467322053138607,1.669335961341858,0.8085966110229492]},"sizeMeters":[0.729,1.669,1.617],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:03.919Z","updatedAt":"2026-09-08T00:00:04.012Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27569/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssaultTrooperRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27569/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27569/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27569/v1/model.glb\" alt=\"Assault Trooper Running Pose (Tactical Shooter Hill Town)\" 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/27569/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/27569/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27570","slug":"tactical-shooter-hill-town-assault-trooper-planting-438a1a3b","title":"Assault Trooper Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.65 by 1.36 by 0.85 m.","description":"Assault Trooper of the defending side, in teal grey: a full combat helmet, a heavy plate carrier with shoulder pads and stacked magazine pouches. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.65 by 1.36 by 0.85 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-assault-trooper-planting-438a1a3b","cdnUrl":"https://cdn.3dassets.dev/assets/27570/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-assault-trooper-planting-438a1a3b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27570/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27570/v1/poster.webp","blurhash":"U45hiK~p8w00j=WVR+WB009F%#?ut7xa$%kB","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":130448,"triangles":7016,"vertices":5279,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.32300737344321323,0,-0.42571512043337856],"max":[0.32299570587288057,1.3585424423217773,0.4257266142292135]},"sizeMeters":[0.646,1.359,0.851],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:04.039Z","updatedAt":"2026-09-08T00:00:04.157Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27570/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AssaultTrooperPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27570/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27570/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27570/v1/model.glb\" alt=\"Assault Trooper Planting Pose (Tactical Shooter Hill Town)\" 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/27570/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/27570/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27571","slug":"tactical-shooter-hill-town-recon-operator-standing-aim-4e708016","title":"Recon Operator Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.71 by 1.72 by 1.27 m.","description":"Recon Operator of the defending side, in teal grey: a rolled beanie, a slim chest rig and a shoulder radio with a whip aerial. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.71 by 1.72 by 1.27 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-recon-operator-standing-aim-4e708016","cdnUrl":"https://cdn.3dassets.dev/assets/27571/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-recon-operator-standing-aim-4e708016","thumbnailUrl":"https://cdn.3dassets.dev/assets/27571/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27571/v1/poster.webp","blurhash":"U24_%-Md00.T_2oy4:RQ4TtR?^Md01M|_2-:","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":151860,"triangles":7498,"vertices":6380,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.35499106418048876,0,-0.6356647754418939],"max":[0.3550177588713258,1.7215144634246826,0.6356202363967896]},"sizeMeters":[0.71,1.722,1.271],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:05.234Z","updatedAt":"2026-09-08T00:00:05.323Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27571/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReconOperatorStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27571/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27571/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27571/v1/model.glb\" alt=\"Recon Operator Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27571/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/27571/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27572","slug":"tactical-shooter-hill-town-recon-operator-crouch-aim-2be4e72b","title":"Recon Operator Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.71 by 1.36 by 1.18 m.","description":"Recon Operator of the defending side, in teal grey: a rolled beanie, a slim chest rig and a shoulder radio with a whip aerial. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.71 by 1.36 by 1.18 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-recon-operator-crouch-aim-2be4e72b","cdnUrl":"https://cdn.3dassets.dev/assets/27572/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-recon-operator-crouch-aim-2be4e72b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27572/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27572/v1/poster.webp","blurhash":"U368EVVr00%#~VX856wc00Os_N#70LM{?H-p","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":151840,"triangles":7498,"vertices":6380,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.35585837845816204,0,-0.5903755547036824],"max":[0.35583607633764275,1.3551597595214844,0.5904161334037781]},"sizeMeters":[0.712,1.355,1.181],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:05.492Z","updatedAt":"2026-09-08T00:00:05.601Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27572/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReconOperatorCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27572/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27572/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27572/v1/model.glb\" alt=\"Recon Operator Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27572/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/27572/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27573","slug":"tactical-shooter-hill-town-recon-operator-running-f971f4ae","title":"Recon Operator Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.64 by 1.61 by 1.59 m.","description":"Recon Operator of the defending side, in teal grey: a rolled beanie, a slim chest rig and a shoulder radio with a whip aerial. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.64 by 1.61 by 1.59 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-recon-operator-running-f971f4ae","cdnUrl":"https://cdn.3dassets.dev/assets/27573/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-recon-operator-running-f971f4ae","thumbnailUrl":"https://cdn.3dassets.dev/assets/27573/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27573/v1/poster.webp","blurhash":"U35Y4z%10057xXjYNekD00S6?^wa9GRl-pxZ","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":152432,"triangles":7498,"vertices":6422,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.31977141639890494,0,-0.7964970511485634],"max":[0.31977141639890494,1.6090167760849,0.7965143322944641]},"sizeMeters":[0.64,1.609,1.593],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:05.509Z","updatedAt":"2026-09-08T00:00:05.619Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27573/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReconOperatorRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27573/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27573/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27573/v1/model.glb\" alt=\"Recon Operator Running Pose (Tactical Shooter Hill Town)\" 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/27573/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/27573/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27574","slug":"tactical-shooter-hill-town-recon-operator-planting-c962f487","title":"Recon Operator Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.56 by 1.31 by 0.81 m.","description":"Recon Operator of the defending side, in teal grey: a rolled beanie, a slim chest rig and a shoulder radio with a whip aerial. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.56 by 1.31 by 0.81 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-recon-operator-planting-c962f487","cdnUrl":"https://cdn.3dassets.dev/assets/27574/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-recon-operator-planting-c962f487","thumbnailUrl":"https://cdn.3dassets.dev/assets/27574/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27574/v1/poster.webp","blurhash":"U66keX~p4T00xaofNHNG00D%%g.7oJxZxtj[","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":132616,"triangles":6530,"vertices":5544,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.28139111602428607,0,-0.40622297874671603],"max":[0.28142617514250273,1.3119086027145386,0.40625004251653685]},"sizeMeters":[0.563,1.312,0.812],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:05.655Z","updatedAt":"2026-09-08T00:00:05.786Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27574/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ReconOperatorPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27574/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27574/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27574/v1/model.glb\" alt=\"Recon Operator Planting Pose (Tactical Shooter Hill Town)\" 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/27574/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/27574/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27575","slug":"tactical-shooter-hill-town-breacher-standing-aim-271e6ca8","title":"Breacher Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.81 by 1.76 by 1.27 m.","description":"Breacher of the defending side, in teal grey: a visored helmet, heavy shoulder and shin pads and a thick front plate. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.81 by 1.76 by 1.27 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-breacher-standing-aim-271e6ca8","cdnUrl":"https://cdn.3dassets.dev/assets/27575/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-breacher-standing-aim-271e6ca8","thumbnailUrl":"https://cdn.3dassets.dev/assets/27575/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27575/v1/poster.webp","blurhash":"U24x[1jE00XU~qt74nMd4Tbv.mZ~4nM{?b%z","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":153016,"triangles":7992,"vertices":6219,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.40357863353989687,0,-0.6352911118964715],"max":[0.4036009959269658,1.7574189901351929,0.6352803707122803]},"sizeMeters":[0.807,1.757,1.271],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:06.872Z","updatedAt":"2026-09-08T00:00:06.965Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27575/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreacherStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27575/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27575/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27575/v1/model.glb\" alt=\"Breacher Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27575/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/27575/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27576","slug":"tactical-shooter-hill-town-breacher-crouch-aim-a7d52918","title":"Breacher Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.81 by 1.38 by 1.18 m.","description":"Breacher of the defending side, in teal grey: a visored helmet, heavy shoulder and shin pads and a thick front plate. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.81 by 1.38 by 1.18 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-breacher-crouch-aim-a7d52918","cdnUrl":"https://cdn.3dassets.dev/assets/27576/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-breacher-crouch-aim-a7d52918","thumbnailUrl":"https://cdn.3dassets.dev/assets/27576/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27576/v1/poster.webp","blurhash":"U35rA2r?00Os^+xu9ZMx00XS_NrX4nD%?H?c","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":152332,"triangles":7992,"vertices":6178,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.4045160858199729,0,-0.5885499117330181],"max":[0.40449353606650257,1.3806289434432983,0.5885429978370667]},"sizeMeters":[0.809,1.381,1.177],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:07.123Z","updatedAt":"2026-09-08T00:00:07.213Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27576/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreacherCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27576/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27576/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27576/v1/model.glb\" alt=\"Breacher Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27576/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/27576/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27577","slug":"tactical-shooter-hill-town-breacher-running-6fd9182e","title":"Breacher Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.72 by 1.64 by 1.60 m.","description":"Breacher of the defending side, in teal grey: a visored helmet, heavy shoulder and shin pads and a thick front plate. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.72 by 1.64 by 1.60 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-breacher-running-6fd9182e","cdnUrl":"https://cdn.3dassets.dev/assets/27577/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-breacher-running-6fd9182e","thumbnailUrl":"https://cdn.3dassets.dev/assets/27577/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27577/v1/poster.webp","blurhash":"U24eyb%L004.-Ut6EgIo00R+?^s,9uNG-A%L","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":152584,"triangles":7992,"vertices":6198,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3599089783723148,0,-0.7991805988822861],"max":[0.3599089783723148,1.6421185731887817,0.7992129325866699]},"sizeMeters":[0.72,1.642,1.598],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:07.150Z","updatedAt":"2026-09-08T00:00:07.254Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27577/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreacherRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27577/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27577/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27577/v1/model.glb\" alt=\"Breacher Running Pose (Tactical Shooter Hill Town)\" 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/27577/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/27577/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27578","slug":"tactical-shooter-hill-town-breacher-planting-882c9fcf","title":"Breacher Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for a defending team, a static posed figure with no rig or skeleton. Measures 0.64 by 1.34 by 0.84 m.","description":"Breacher of the defending side, in teal grey: a visored helmet, heavy shoulder and shin pads and a thick front plate. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.64 by 1.34 by 0.84 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-breacher-planting-882c9fcf","cdnUrl":"https://cdn.3dassets.dev/assets/27578/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-breacher-planting-882c9fcf","thumbnailUrl":"https://cdn.3dassets.dev/assets/27578/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27578/v1/poster.webp","blurhash":"U35X}k~q0000nhaeR-R+009F.S?vtSt7xXs.","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":132592,"triangles":7024,"vertices":5309,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3193294433490041,0,-0.4190214098684046],"max":[0.3193825056374111,1.3363922834396362,0.41897301862255804]},"sizeMeters":[0.639,1.336,0.838],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:07.335Z","updatedAt":"2026-09-08T00:00:07.485Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27578/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreacherPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27578/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27578/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27578/v1/model.glb\" alt=\"Breacher Planting Pose (Tactical Shooter Hill Town)\" 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/27578/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/27578/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27579","slug":"tactical-shooter-hill-town-desert-scout-standing-aim-982a7039","title":"Desert Scout Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.72 by 1.73 by 1.27 m.","description":"Desert Scout of the attacking side, in sand olive: a wrapped head scarf, light webbing over a loose shirt and a single hip pouch. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.72 by 1.73 by 1.27 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-desert-scout-standing-aim-982a7039","cdnUrl":"https://cdn.3dassets.dev/assets/27579/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-desert-scout-standing-aim-982a7039","thumbnailUrl":"https://cdn.3dassets.dev/assets/27579/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27579/v1/poster.webp","blurhash":"U57dtID+00~V~VWE4ot30Lxu^*D*9GWB-:t7","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":146344,"triangles":7597,"vertices":6000,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3595277492290517,0,-0.6368548293626789],"max":[0.3595875401579535,1.7312957048416138,0.6368932723999023]},"sizeMeters":[0.719,1.731,1.274],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:08.568Z","updatedAt":"2026-09-08T00:00:08.676Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27579/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DesertScoutStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27579/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27579/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27579/v1/model.glb\" alt=\"Desert Scout Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27579/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/27579/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27580","slug":"tactical-shooter-hill-town-desert-scout-crouch-aim-25593f66","title":"Desert Scout Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.72 by 1.36 by 1.18 m.","description":"Desert Scout of the attacking side, in sand olive: a wrapped head scarf, light webbing over a loose shirt and a single hip pouch. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.72 by 1.36 by 1.18 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-desert-scout-crouch-aim-25593f66","cdnUrl":"https://cdn.3dassets.dev/assets/27580/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-desert-scout-crouch-aim-25593f66","thumbnailUrl":"https://cdn.3dassets.dev/assets/27580/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27580/v1/poster.webp","blurhash":"U68D|SD*00~o^*WUD*s:00%1~VD+4.V[-:t7","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":145476,"triangles":7597,"vertices":5947,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.36036741274674206,0,-0.5914328582190352],"max":[0.36037881876001693,1.3628594875335693,0.591421365737915]},"sizeMeters":[0.721,1.363,1.183],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:08.877Z","updatedAt":"2026-09-08T00:00:08.972Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27580/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DesertScoutCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27580/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27580/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27580/v1/model.glb\" alt=\"Desert Scout Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27580/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/27580/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27582","slug":"tactical-shooter-hill-town-desert-scout-running-7e5f8bc4","title":"Desert Scout Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.65 by 1.62 by 1.60 m.","description":"Desert Scout of the attacking side, in sand olive: a wrapped head scarf, light webbing over a loose shirt and a single hip pouch. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.65 by 1.62 by 1.60 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-desert-scout-running-7e5f8bc4","cdnUrl":"https://cdn.3dassets.dev/assets/27582/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-desert-scout-running-7e5f8bc4","thumbnailUrl":"https://cdn.3dassets.dev/assets/27582/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27582/v1/poster.webp","blurhash":"U57nH^t700IU?Ht6D*M|01of~oRQ9ZRj-pxu","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":146380,"triangles":7597,"vertices":6007,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3234884695406017,0,-0.7988029118150607],"max":[0.3234884695406017,1.6181589365005493,0.7987533807754517]},"sizeMeters":[0.647,1.618,1.598],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:09.917Z","updatedAt":"2026-09-08T00:00:10.007Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27582/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DesertScoutRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27582/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27582/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27582/v1/model.glb\" alt=\"Desert Scout Running Pose (Tactical Shooter Hill Town)\" 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/27582/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/27582/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27581","slug":"tactical-shooter-hill-town-desert-scout-planting-4b461fe9","title":"Desert Scout Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.57 by 1.32 by 0.82 m.","description":"Desert Scout of the attacking side, in sand olive: a wrapped head scarf, light webbing over a loose shirt and a single hip pouch. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.57 by 1.32 by 0.82 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-desert-scout-planting-4b461fe9","cdnUrl":"https://cdn.3dassets.dev/assets/27581/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-desert-scout-planting-4b461fe9","thumbnailUrl":"https://cdn.3dassets.dev/assets/27581/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27581/v1/poster.webp","blurhash":"U88gmO~o0101%Kt5M|Ip019a?a?aRkj]xut6","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":126152,"triangles":6629,"vertices":5157,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.28629274091138723,0,-0.40860316887141823],"max":[0.2862766298740874,1.3193625211715698,0.4086554177280737]},"sizeMeters":[0.573,1.319,0.817],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:09.107Z","updatedAt":"2026-09-08T00:00:09.208Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27581/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DesertScoutPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27581/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27581/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27581/v1/model.glb\" alt=\"Desert Scout Planting Pose (Tactical Shooter Hill Town)\" 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/27581/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/27581/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27583","slug":"tactical-shooter-hill-town-heavy-gunner-standing-aim-9e0a8dfa","title":"Heavy Gunner Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.83 by 1.82 by 1.28 m.","description":"Heavy Gunner of the attacking side, in sand olive: a tied bandana, bare forearms and two crossed ammunition belts over a heavy frame. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.83 by 1.82 by 1.28 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-heavy-gunner-standing-aim-9e0a8dfa","cdnUrl":"https://cdn.3dassets.dev/assets/27583/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-heavy-gunner-standing-aim-9e0a8dfa","thumbnailUrl":"https://cdn.3dassets.dev/assets/27583/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27583/v1/poster.webp","blurhash":"U47wygIW00^%_2oz4:M{00t7~pIV4:M|?H-p","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":153416,"triangles":7736,"vertices":6338,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.41676135973507866,0,-0.6412142815802406],"max":[0.41676135973507866,1.819327712059021,0.6412481069564819]},"sizeMeters":[0.834,1.819,1.282],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:10.197Z","updatedAt":"2026-09-08T00:00:10.301Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27583/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeavyGunnerStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27583/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27583/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27583/v1/model.glb\" alt=\"Heavy Gunner Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27583/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/27583/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27584","slug":"tactical-shooter-hill-town-heavy-gunner-crouch-aim-96700a8c","title":"Heavy Gunner Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.84 by 1.43 by 1.19 m.","description":"Heavy Gunner of the attacking side, in sand olive: a tied bandana, bare forearms and two crossed ammunition belts over a heavy frame. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.84 by 1.43 by 1.19 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-heavy-gunner-crouch-aim-96700a8c","cdnUrl":"https://cdn.3dassets.dev/assets/27584/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-heavy-gunner-crouch-aim-96700a8c","thumbnailUrl":"https://cdn.3dassets.dev/assets/27584/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27584/v1/poster.webp","blurhash":"U68NX$E200^*?HofE1Rj00xt~oIC4.Rk?Gxu","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":152564,"triangles":7736,"vertices":6286,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.4177658878476911,0,-0.5931452513568753],"max":[0.4177658878476911,1.4321573972702026,0.5931552648544312]},"sizeMeters":[0.836,1.432,1.186],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:10.500Z","updatedAt":"2026-09-08T00:00:10.593Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27584/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeavyGunnerCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27584/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27584/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27584/v1/model.glb\" alt=\"Heavy Gunner Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27584/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/27584/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27585","slug":"tactical-shooter-hill-town-heavy-gunner-running-02d05fb0","title":"Heavy Gunner Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.75 by 1.70 by 1.62 m.","description":"Heavy Gunner of the attacking side, in sand olive: a tied bandana, bare forearms and two crossed ammunition belts over a heavy frame. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.75 by 1.70 by 1.62 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-heavy-gunner-running-02d05fb0","cdnUrl":"https://cdn.3dassets.dev/assets/27585/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-heavy-gunner-running-02d05fb0","thumbnailUrl":"https://cdn.3dassets.dev/assets/27585/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27585/v1/poster.webp","blurhash":"U67nB#xu00D%%1ofNHRj01bF~oWC9ZRj%Lxu","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":154084,"triangles":7736,"vertices":6384,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3773073998399841,0,-0.8092451333857749],"max":[0.3773073998399841,1.700438141822815,0.8092009425163269]},"sizeMeters":[0.755,1.7,1.618],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:10.662Z","updatedAt":"2026-09-08T00:00:10.756Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27585/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeavyGunnerRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27585/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27585/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27585/v1/model.glb\" alt=\"Heavy Gunner Running Pose (Tactical Shooter Hill Town)\" 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/27585/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/27585/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27586","slug":"tactical-shooter-hill-town-heavy-gunner-planting-5de4e61b","title":"Heavy Gunner Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.67 by 1.39 by 0.86 m.","description":"Heavy Gunner of the attacking side, in sand olive: a tied bandana, bare forearms and two crossed ammunition belts over a heavy frame. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.67 by 1.39 by 0.86 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-heavy-gunner-planting-5de4e61b","cdnUrl":"https://cdn.3dassets.dev/assets/27586/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-heavy-gunner-planting-5de4e61b","thumbnailUrl":"https://cdn.3dassets.dev/assets/27586/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27586/v1/poster.webp","blurhash":"U68D;4~V0100%1t6NGM|009G~V^+E2WC%Lxt","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":133440,"triangles":6768,"vertices":5508,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3346496999234658,0,-0.4306957343080553],"max":[0.33467898388058204,1.386448860168457,0.43071998334007]},"sizeMeters":[0.669,1.386,0.861],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:11.487Z","updatedAt":"2026-09-08T00:00:11.580Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27586/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeavyGunnerPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27586/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27586/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27586/v1/model.glb\" alt=\"Heavy Gunner Planting Pose (Tactical Shooter Hill Town)\" 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/27586/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/27586/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27587","slug":"tactical-shooter-hill-town-field-engineer-standing-aim-98f90071","title":"Field Engineer Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.75 by 1.74 by 1.27 m.","description":"Field Engineer of the attacking side, in sand olive: goggles pushed up on the brow and a tool vest of small pouches over rolled sleeves. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.75 by 1.74 by 1.27 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-field-engineer-standing-aim-98f90071","cdnUrl":"https://cdn.3dassets.dev/assets/27587/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-field-engineer-standing-aim-98f90071","thumbnailUrl":"https://cdn.3dassets.dev/assets/27587/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27587/v1/poster.webp","blurhash":"U56@[+IU00_2-:ayIVj[01xu~oD*9Gj@-:j[","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":146936,"triangles":7480,"vertices":6027,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.37251557717341094,0,-0.6362429380868903],"max":[0.37251557717341094,1.7369805574417114,0.6362854242324829]},"sizeMeters":[0.745,1.737,1.273],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:11.808Z","updatedAt":"2026-09-08T00:00:11.907Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27587/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldEngineerStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27587/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27587/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27587/v1/model.glb\" alt=\"Field Engineer Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27587/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/27587/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27588","slug":"tactical-shooter-hill-town-field-engineer-crouch-aim-76a53f60","title":"Field Engineer Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.75 by 1.37 by 1.18 m.","description":"Field Engineer of the attacking side, in sand olive: goggles pushed up on the brow and a tool vest of small pouches over rolled sleeves. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.75 by 1.37 by 1.18 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-field-engineer-crouch-aim-76a53f60","cdnUrl":"https://cdn.3dassets.dev/assets/27588/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-field-engineer-crouch-aim-76a53f60","thumbnailUrl":"https://cdn.3dassets.dev/assets/27588/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27588/v1/poster.webp","blurhash":"U67nE.IV00^%-:ofIVV[00xt~oD*9GRj-pxu","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":146736,"triangles":7480,"vertices":6016,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.373367399161458,0,-0.5904782622098508],"max":[0.373367399161458,1.368132543414863,0.5904957056045532]},"sizeMeters":[0.747,1.368,1.181],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:12.104Z","updatedAt":"2026-09-08T00:00:12.196Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27588/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldEngineerCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27588/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27588/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27588/v1/model.glb\" alt=\"Field Engineer Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27588/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/27588/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27589","slug":"tactical-shooter-hill-town-field-engineer-running-1cfd1306","title":"Field Engineer Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.67 by 1.62 by 1.60 m.","description":"Field Engineer of the attacking side, in sand olive: goggles pushed up on the brow and a tool vest of small pouches over rolled sleeves. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.67 by 1.62 by 1.60 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-field-engineer-running-1cfd1306","cdnUrl":"https://cdn.3dassets.dev/assets/27589/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-field-engineer-running-1cfd1306","thumbnailUrl":"https://cdn.3dassets.dev/assets/27589/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27589/v1/poster.webp","blurhash":"U77U0Ls:00M{t6j[R+a{02kB~UV[IVaxxuj^","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":147188,"triangles":7480,"vertices":6048,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.3349501385079256,0,-0.7989264307257988],"max":[0.3349501385079256,1.6232070922851562,0.7989076972007751]},"sizeMeters":[0.67,1.623,1.598],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:12.283Z","updatedAt":"2026-09-08T00:00:12.415Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27589/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldEngineerRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27589/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27589/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27589/v1/model.glb\" alt=\"Field Engineer Running Pose (Tactical Shooter Hill Town)\" 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/27589/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/27589/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27590","slug":"tactical-shooter-hill-town-field-engineer-planting-5a5d1cd1","title":"Field Engineer Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.59 by 1.32 by 0.82 m.","description":"Field Engineer of the attacking side, in sand olive: goggles pushed up on the brow and a tool vest of small pouches over rolled sleeves. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.59 by 1.32 by 0.82 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-field-engineer-planting-5a5d1cd1","cdnUrl":"https://cdn.3dassets.dev/assets/27590/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-field-engineer-planting-5a5d1cd1","thumbnailUrl":"https://cdn.3dassets.dev/assets/27590/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27590/v1/poster.webp","blurhash":"U67-QM~V0001t5ocR*Rl009Z~V^*Rkjuxat6","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":127620,"triangles":6512,"vertices":5185,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.29500182421625193,0,-0.41129901813331854],"max":[0.2950129868649646,1.3238819618939182,0.4113328230275689]},"sizeMeters":[0.59,1.324,0.823],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:13.080Z","updatedAt":"2026-09-08T00:00:13.170Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27590/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldEngineerPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27590/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27590/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27590/v1/model.glb\" alt=\"Field Engineer Planting Pose (Tactical Shooter Hill Town)\" 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/27590/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/27590/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27591","slug":"tactical-shooter-hill-town-veteran-standing-aim-cf2fb2e5","title":"Veteran Standing Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a standing aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.77 by 1.76 by 1.28 m.","description":"Veteran of the attacking side, in sand olive: a full balaclava, a worn leather jacket and a light chest rig over sand trousers. The figure stands squared to the target with the rifle shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.77 by 1.76 by 1.28 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-veteran-standing-aim-cf2fb2e5","cdnUrl":"https://cdn.3dassets.dev/assets/27591/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-veteran-standing-aim-cf2fb2e5","thumbnailUrl":"https://cdn.3dassets.dev/assets/27591/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27591/v1/poster.webp","blurhash":"U4681@IW00^%sqofW-M|01xs~VE3NZRjsq%M","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":140348,"triangles":7498,"vertices":5667,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.38590715658677394,0,-0.6376495864257663],"max":[0.38590715658677394,1.7606397867202759,0.6376790404319763]},"sizeMeters":[0.772,1.761,1.275],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:13.408Z","updatedAt":"2026-09-08T00:00:13.512Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27591/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VeteranStandingAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27591/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27591/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27591/v1/model.glb\" alt=\"Veteran Standing Aim Pose (Tactical Shooter Hill Town)\" 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/27591/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/27591/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27592","slug":"tactical-shooter-hill-town-veteran-crouch-aim-973b1852","title":"Veteran Crouched Aim Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a crouched aim pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.77 by 1.39 by 1.18 m.","description":"Veteran of the attacking side, in sand olive: a full balaclava, a worn leather jacket and a light chest rig over sand trousers. The figure is down in a low crouch behind cover, one knee dropped, with the rifle still shouldered. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.77 by 1.39 by 1.18 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-veteran-crouch-aim-973b1852","cdnUrl":"https://cdn.3dassets.dev/assets/27592/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-veteran-crouch-aim-973b1852","thumbnailUrl":"https://cdn.3dassets.dev/assets/27592/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27592/v1/poster.webp","blurhash":"U56kCcIp00?Gs:t6WUM|01xs~VIVNZIWr]-:","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":139432,"triangles":7498,"vertices":5611,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3868300631698277,0,-0.5913092967180889],"max":[0.3868300631698277,1.3859587907791138,0.5913186073303223]},"sizeMeters":[0.774,1.386,1.183],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:13.834Z","updatedAt":"2026-09-08T00:00:13.994Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27592/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VeteranCrouchedAimPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27592/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27592/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27592/v1/model.glb\" alt=\"Veteran Crouched Aim Pose (Tactical Shooter Hill Town)\" 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/27592/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/27592/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27593","slug":"tactical-shooter-hill-town-veteran-running-1660b930","title":"Veteran Running Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a running pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.69 by 1.65 by 1.60 m.","description":"Veteran of the attacking side, in sand olive: a full balaclava, a worn leather jacket and a light chest rig over sand trousers. The figure is caught mid stride at a run with the rifle carried low. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. A generic carbine is modelled into the hands as part of the same mesh and cannot be swapped or removed. Dimensions 0.69 by 1.65 by 1.60 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-veteran-running-1660b930","cdnUrl":"https://cdn.3dassets.dev/assets/27593/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-veteran-running-1660b930","thumbnailUrl":"https://cdn.3dassets.dev/assets/27593/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27593/v1/poster.webp","blurhash":"U4681]js00WXMyayx[oe01t6~oM|gKayRQj[","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":139844,"triangles":7498,"vertices":5640,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.3462815582752228,0,-0.8018674426389926],"max":[0.3462815582752228,1.645585298538208,0.8018136620521545]},"sizeMeters":[0.693,1.646,1.604],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:13.938Z","updatedAt":"2026-09-08T00:00:14.035Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27593/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VeteranRunningPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27593/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27593/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27593/v1/model.glb\" alt=\"Veteran Running Pose (Tactical Shooter Hill Town)\" 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/27593/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/27593/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27594","slug":"tactical-shooter-hill-town-veteran-planting-80bf1253","title":"Veteran Planting Pose (Tactical Shooter Hill Town)","summary":"Free 3D model of a tactical FPS operator character in a kneeling at the objective pose for an attacking team, a static posed figure with no rig or skeleton. Measures 0.61 by 1.34 by 0.83 m.","description":"Veteran of the attacking side, in sand olive: a full balaclava, a worn leather jacket and a light chest rig over sand trousers. The figure kneels on one knee with both hands working at the objective, weapon stowed and hands empty. This is a static posed figure, with no rig or skeleton: the pose is baked into the mesh and the four poses of this operator ship as four separate models. The hands are empty and open over the ground so an objective prop can be placed under them. Dimensions 0.61 by 1.34 by 0.83 m (X by Y by Z). Metre units, +Y up, the figure faces +Z, ground contact at y = 0 with the origin on the footprint centre. Invented uniform and equipment: no badges, insignia, flags, unit markings or lettering, and no wound, blood or gore geometry. Static geometry; no rig, skeleton, skinning, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-veteran-planting-80bf1253","cdnUrl":"https://cdn.3dassets.dev/assets/27594/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-veteran-planting-80bf1253","thumbnailUrl":"https://cdn.3dassets.dev/assets/27594/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27594/v1/poster.webp","blurhash":"U46kCc~V0101M|Rkoyt6004:^*^*%extjGM|","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":119688,"triangles":6530,"vertices":4793,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.30656818220106563,0,-0.41616919970657545],"max":[0.30656089181784263,1.3417246341705322,0.4162004657680218]},"sizeMeters":[0.613,1.342,0.832],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T00:00:14.683Z","updatedAt":"2026-09-08T00:00:14.784Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27594/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function VeteranPlantingPoseTacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27594/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27594/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27594/v1/model.glb\" alt=\"Veteran Planting Pose (Tactical Shooter Hill Town)\" 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/27594/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/27594/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"27595","slug":"tactical-shooter-hill-town-fountain-squa-a5996d68-starter-scene","title":"Fountain square at site A (Tactical Shooter Hill Town)","summary":"A Mediterranean hill town square set up as objective site A. Two closed and roofed two storey houses face each other across cobbled ground, one with a balcony over a courtyard gate, and a flat roofed block with an arched passage closes the back. The square is furnished with...","description":"A Mediterranean hill town square set up as objective site A. Two closed and roofed two storey houses face each other across cobbled ground, one with a balcony over a courtyard gate, and a flat roofed block with an arched passage closes the back. The square is furnished with an octagonal fountain, a market stall, crates, barrels, drums, benches and potted olives, with sandbags and a concrete barrier holding the south entrance and barrier tape marking the spawn side. At the site marker an attacker kneels over the objective device while defenders hold the crates and the passage and a second attacker runs in from the outside stair.","status":"published","url":"https://3dassets.dev/assets/tactical-shooter-hill-town-fountain-squa-a5996d68-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/27595/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tactical-shooter-hill-town-fountain-squa-a5996d68-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/27595/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/27595/v1/poster.webp","blurhash":"U6Ambqt7004.nN%LX8Ip00xX~px]x^D*en%1","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":2369104,"triangles":106965,"vertices":91684,"meshes":135,"materials":12,"textures":2,"animations":[],"boundingBox":{"min":[-18.249992523719936,-0.000050354676368054296,-8],"max":[18.249992523719936,9.285875647451025,16.249992523719936]},"sizeMeters":[36.5,9.286,24.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":1,"publishedAt":"2026-09-08T00:00:16.322Z","updatedAt":"2026-09-08T02:03:44.693Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/27595/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FountainSquareAtSiteATacticalShooterHillTown(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/27595/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/27595/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/27595/v1/model.glb\" alt=\"Fountain square at site A (Tactical Shooter Hill Town)\" 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/27595/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/27595/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"tactical-shooter-hill-town","title":"Tactical shooter hill town","url":"https://3dassets.dev/demos/tactical-shooter-hill-town"}}}