{"data":{"id":168,"slug":"battle-royale-town-and-airfield","title":"Battle Royale Town and Airfield","summary":"Free 3D game assets for a battle royale: a modular town and airfield building kit, ground loot on a five step rarity ladder, five vehicles and four posed operators.","description":"A complete set for the first circle of a modern warfare battle royale, where an abandoned town edge meets a small airfield. The building kit is thirty modules on a 4 m bay grid at a 3.5 m storey: concrete and brick wall bays, a blast damaged bay, windows glazed and boarded over, a hinged steel door, a tilting roller shutter, corner columns, floor slabs plain and with a stair well, a stair flight, flat roof slabs and corners with parapets, a rooftop stair hut, an air handling unit, a water tank on a frame, a balcony bay, a shop bay with an awning, the fuel station canopy and pump island, a control tower base and glazed cab, hangar arch bays and an end wall with sliding doors, 8 m runway and taxiway slabs with emissive edge lights, blast walls, chain link fence and gate, and pavement. Ground loot covers twenty five pieces: five invented weapon archetypes lying on emissive rarity rings in the plain grey, green, blue, purple and gold ladder the genre uses, each with its own magazine and slide or bolt clips, plus armour plates, a plate carrier, two packs, a medical kit, a bandage roll, an ammunition box, three crates and cases with hinged lids, a supply drop in the air and landed with its canopy spilled, a buy station, a gas mask, a field radio, cash, a self revive kit, two throwables and a loot duffel. Five vehicles carry rolling wheels, opening doors and turning rotors: a quad bike, a four door SUV, a six wheel cargo truck with a canvas tilt, a technical pickup with a pintle ring gun and a light utility helicopter with sliding cabin doors. Four operators cover the drop under a canopy, the landing slide, the standing aim and a revive with the downed teammate in the same model. Every figure is a static posed model: there is no rig, skeleton or skinning anywhere in this library, and each pose ships as its own file. Eighteen dressing pieces finish the place: a windsock, a runway edge light, a radar dish, a fuel bowser, an aircraft tug, tyres, sandbags, jersey barriers, an abandoned saloon, a burnt out shell, a dumpster, a bus shelter, a street lamp, a road sign, an oil drum, a pallet stack, a cone and a wheelie bin. The design is original throughout: no game names, logos, map layouts, callouts, operator 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/battle-royale-town-and-airfield","coverUrl":"https://cdn.3dassets.dev/assets/28276/v1/poster.webp","assetCount":83,"aiGenerated":true,"aiGeneratedAssetCount":83,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":24711416,"totalTriangles":940604,"starterScene":{"id":"28276","slug":"battle-royale-town-and-airfield-first-ci-310e2e00-starter-scene","title":"First circle town edge (Battle Royale Town and Airfield)","summary":"A free modern military battle royale scene, 72 m across and 33 m deep, set on the first circle boundary where an abandoned town edge meets a small airfield. Two buildings stand on the left, both closed on all four sides and roofed with a parapet: a two storey block with shop...","description":"A free modern military battle royale scene, 72 m across and 33 m deep, set on the first circle boundary where an abandoned town edge meets a small airfield. Two buildings stand on the left, both closed on all four sides and roofed with a parapet: a two storey block with shop bays and awnings on the street, boarded windows and a balcony above, carrying air handling units and a stair head hut on its roof, and a three storey block with a blast hole through one flank and a water tank on top. Between them the fuel station canopy shelters two pump islands, with a buy station and a wrecked pickup carrying a ring mounted gun in the forecourt. The road runs east past a saloon abandoned across the kerb, a burnt out shell, an SUV, jersey barriers, a bus shelter, lamps, signs, bins and a dumpster. Beyond the chain link fence and its open gate is the airfield: the control tower with its glazed cab, a three bay arched hangar with the sliding doors on its end wall, a helicopter on the apron with a tug and a fuel bowser, blast walls along the road, a windsock, a radar dish and a runway with lit edges where a supply drop has landed and spilled its parachute. Weapon spawns of every rarity sit on the shop floor, on the rooftop, inside the hangar and out on the runway, with crates, an ammunition box, packs and a medical kit around them. Four operators are in play: one dropping under a canopy over the tower, one sliding in on the road, one aiming from the rooftop parapet and one reviving a downed teammate behind the sandbags. Static layout: the models keep their own clips, the scene adds none.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-first-ci-310e2e00-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/28276/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-first-ci-310e2e00-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/28276/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28276/v1/poster.webp","blurhash":"U79QaHIA00OD4n-;%MD%00Wq^*-p~p9FM{-;","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":7831092,"triangles":470530,"vertices":368102,"meshes":459,"materials":16,"textures":2,"animations":[],"boundingBox":{"min":[-34,-0.2501409949177327,-2],"max":[38.310375690460205,22.068156242370605,30.679978658815514]},"sizeMeters":[72.31,22.318,32.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":1,"publishedAt":"2026-09-08T02:57:07.883Z","updatedAt":"2026-09-08T04:08:16.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28276/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FirstCircleTownEdgeBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28276/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28276/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28276/v1/model.glb\" alt=\"First circle town edge (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28276/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28276/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"28189","slug":"battle-royale-town-and-airfield-wall-bay-concrete-f5090f88","title":"Concrete Wall Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular weathered concrete wall bay, 4 m wide and 3.5 m high, with a connector port at each end.","description":"A plain cast concrete wall bay for the town kit: a 4 m by 3.5 m panel 0.3 m thick on a proud plinth, with a string course near the head and a shallow expansion joint pilaster either side of centre. The pivot is on the grid origin, so bays run end to end and stack at a 3.5 m storey. Dimensions 4.00 × 3.50 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-concrete-f5090f88","cdnUrl":"https://cdn.3dassets.dev/assets/28189/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-concrete-f5090f88","thumbnailUrl":"https://cdn.3dassets.dev/assets/28189/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28189/v1/poster.webp","blurhash":"U5Dvfv_200IU?b~qbF0000WB~WWBxu-;WB9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":202940,"triangles":540,"vertices":471,"meshes":1,"materials":1,"textures":1,"animations":[],"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-08T02:56:46.191Z","updatedAt":"2026-09-08T02:56:46.309Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28189/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteWallBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28189/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28189/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28189/v1/model.glb\" alt=\"Concrete Wall Bay 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28189/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28189/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28188","slug":"battle-royale-town-and-airfield-wall-bay-brick-955302e0","title":"Brick Wall Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular faded brick wall bay, 4 m wide and 3.5 m high, with a connector port at each end.","description":"The faded brick finish of the plain wall bay: the same 4 m by 3.5 m panel and grid pivot, in weathered brickwork with cast concrete bands. Dimensions 4.00 × 3.50 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-brick-955302e0","cdnUrl":"https://cdn.3dassets.dev/assets/28188/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-brick-955302e0","thumbnailUrl":"https://cdn.3dassets.dev/assets/28188/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28188/v1/poster.webp","blurhash":"U4Cr=v_200Ipz.~ByE0M02RP^5kX%3.7b08{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":203492,"triangles":540,"vertices":471,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.000001394214588890108,-0.20002685085215952],"max":[2,3.499992370372631,0.20002685085215952]},"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-08T02:56:46.175Z","updatedAt":"2026-09-08T02:56:46.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28188/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BrickWallBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28188/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28188/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28188/v1/model.glb\" alt=\"Brick Wall Bay 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28188/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28188/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28187","slug":"battle-royale-town-and-airfield-wall-bay-concrete-dama-55da459c","title":"Blast Damaged Wall Bay (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular concrete wall bay blown open, with bent reinforcement across the breach and rubble at the foot.","description":"The blast damaged finish of the plain wall bay: the same 4 m by 3.5 m panel and grid pivot with a two metre breach torn through it, bent reinforcing bars crossing the hole and broken concrete pushed out onto the plinth. Dimensions 4.02 × 3.52 × 0.77 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-concrete-dama-55da459c","cdnUrl":"https://cdn.3dassets.dev/assets/28187/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-concrete-dama-55da459c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28187/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28187/v1/poster.webp","blurhash":"U4DJI$xu00WC~p~qIo0000of-URjtl%MIA9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":234728,"triangles":1572,"vertices":1566,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.19985109764167275],"max":[2.01200008392334,3.5239661597978547,0.5674438347203394]},"sizeMeters":[4.024,3.524,0.767],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:46.159Z","updatedAt":"2026-09-08T02:56:46.268Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28187/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BlastDamagedWallBayBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28187/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28187/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28187/v1/model.glb\" alt=\"Blast Damaged Wall Bay (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28187/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28187/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28193","slug":"battle-royale-town-and-airfield-wall-bay-window-7039a800","title":"Window Wall Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular concrete wall bay with a steel framed window, cill and lintel, 4 m wide with a connector port at each end.","description":"A concrete wall bay pierced by a 1.6 m by 1.5 m opening: a steel window frame with a centre mullion set inside the reveal, a proud cast cill below and a lintel over. The pivot is on the grid origin and a port sits at each end. Dimensions 4.02 × 3.52 × 0.44 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-window-7039a800","cdnUrl":"https://cdn.3dassets.dev/assets/28193/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-window-7039a800","thumbnailUrl":"https://cdn.3dassets.dev/assets/28193/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28193/v1/poster.webp","blurhash":"U5DcaZ_400xt?b~qt74n00M{.8M|xa-:Io9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":228944,"triangles":1500,"vertices":1426,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.220069225158887],"max":[2.01200008392334,3.5239661597978547,0.220069225158887]},"sizeMeters":[4.024,3.524,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:46.403Z","updatedAt":"2026-09-08T02:56:46.663Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28193/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WindowWallBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28193/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28193/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28193/v1/model.glb\" alt=\"Window Wall Bay 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28193/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28193/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28194","slug":"battle-royale-town-and-airfield-wall-bay-window-boarde-897fb749","title":"Boarded Window Wall Bay (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular wall bay with a smashed window boarded over with timber, 4 m wide with a connector port at each end.","description":"The boarded finish of the window wall bay: the same opening with the pane smashed out, shards left in the top corners and four timber boards nailed across the front, standing proud of the reveal. Dimensions 4.02 × 3.52 × 0.49 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-window-boarde-897fb749","cdnUrl":"https://cdn.3dassets.dev/assets/28194/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-window-boarde-897fb749","thumbnailUrl":"https://cdn.3dassets.dev/assets/28194/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28194/v1/poster.webp","blurhash":"U5DvZfM_00X9sl~qR,0K00xurqRP?v-;IA8_","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":282200,"triangles":1948,"vertices":1834,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.220069225158887],"max":[2.01200008392334,3.5239661597978547,0.27011994507763937]},"sizeMeters":[4.024,3.524,0.49],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:46.873Z","updatedAt":"2026-09-08T02:56:46.982Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28194/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoardedWindowWallBayBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28194/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28194/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28194/v1/model.glb\" alt=\"Boarded Window Wall Bay (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28194/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28194/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28190","slug":"battle-royale-town-and-airfield-wall-bay-steel-door-7c128dee","title":"Steel Door Wall Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular concrete wall bay with a hinged steel door, 4 m wide with a connector port at each end. Animated open and close.","description":"A concrete wall bay with a 1.12 m by 2.42 m doorway through it: a lined reveal, a proud lintel, a steel threshold plate and a hinged steel leaf with a push bar, a kick plate and three barrel hinges on the left stile. Dimensions 4.02 × 3.52 × 0.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The wall, frame and threshold are fixed; only the leaf turns.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-steel-door-7c128dee","cdnUrl":"https://cdn.3dassets.dev/assets/28190/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-steel-door-7c128dee","thumbnailUrl":"https://cdn.3dassets.dev/assets/28190/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28190/v1/poster.webp","blurhash":"U4Csji_300RP?H~qRk0000Rk_3WAM|-;-:D%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":225364,"triangles":1312,"vertices":1322,"meshes":4,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.24998534356037588],"max":[2.01200008392334,3.5239661597978547,0.24998534356037588]},"sizeMeters":[4.024,3.524,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:46.217Z","updatedAt":"2026-09-08T02:56:46.327Z","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/28190/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 SteelDoorWallBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28190/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/28190/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28190/v1/model.glb\" alt=\"Steel Door Wall Bay 4 m (Battle Royale Town and Airfield)\" 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/28190/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/28190/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28192","slug":"battle-royale-town-and-airfield-wall-bay-roller-door-2026b430","title":"Roller Shutter Wall Bay (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular wall bay with a 3.2 m roller shutter that tilts open on its head, with a connector port at each end.","description":"A shopfront or lock up bay: a concrete wall with a 3.2 m by 3 m opening, guide channels each side and a slatted shutter with a yellow bottom rail hung from the box over the head. Dimensions 4.02 × 3.52 × 0.59 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. A rigid node cannot roll a curtain into its drum, so the shutter leaf tilts up on the head hinge in one piece and the box, guides and wall stay fixed.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wall-bay-roller-door-2026b430","cdnUrl":"https://cdn.3dassets.dev/assets/28192/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wall-bay-roller-door-2026b430","thumbnailUrl":"https://cdn.3dassets.dev/assets/28192/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28192/v1/poster.webp","blurhash":"U49G~$4m00xdtC%NM]RN~o?b01D%-:?aRi02","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":245144,"triangles":2368,"vertices":2119,"meshes":6,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.1800343103141341],"max":[2.01200008392334,3.5239661597978547,0.41002227250358936]},"sizeMeters":[4.024,3.524,0.59],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:46.286Z","updatedAt":"2026-09-08T02:56:46.384Z","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/28192/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 RollerShutterWallBayBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28192/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/28192/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28192/v1/model.glb\" alt=\"Roller Shutter Wall Bay (Battle Royale Town and Airfield)\" 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/28192/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/28192/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28191","slug":"battle-royale-town-and-airfield-corner-column-ff7fef7b","title":"Concrete Corner Column (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a chamfered concrete corner column 3.5 m tall with a hazard banded impact guard at the base.","description":"The column that closes a corner where two wall bays meet: a chamfered octagonal concrete shaft on a spread base, capped at the storey line, with a banded impact guard at the foot. Dimensions 0.85 × 3.53 × 0.85 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-corner-column-ff7fef7b","cdnUrl":"https://cdn.3dassets.dev/assets/28191/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-corner-column-ff7fef7b","thumbnailUrl":"https://cdn.3dassets.dev/assets/28191/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28191/v1/poster.webp","blurhash":"U28z#{?a0000tUR-RMxW?bkBIUe?_1n*9HX7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":220172,"triangles":552,"vertices":1342,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.42639670488889503,3.352760291619461e-10,-0.42639670488889503],"max":[0.42639670488889503,3.5300002098083496,0.42639670488889503]},"sizeMeters":[0.853,3.53,0.853],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:45.240Z","updatedAt":"2026-09-08T02:56:45.358Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28191/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteCornerColumnBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28191/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28191/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28191/v1/model.glb\" alt=\"Concrete Corner Column (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28191/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28191/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28195","slug":"battle-royale-town-and-airfield-floor-slab-9a5655a1","title":"Concrete Floor Slab 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m by 4 m concrete floor slab 0.2 m thick with connector ports on all four edges.","description":"The floor and flat roof deck of the town kit: a 4 m square concrete slab 0.2 m thick with a service duct cover on one edge and a raised screed kerb each side. The pivot is on the grid origin and a port sits at the middle of each edge. Dimensions 4.00 × 0.25 × 4.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-floor-slab-9a5655a1","cdnUrl":"https://cdn.3dassets.dev/assets/28195/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-floor-slab-9a5655a1","thumbnailUrl":"https://cdn.3dassets.dev/assets/28195/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28195/v1/poster.webp","blurhash":"U5BDWo-;00RQ-;aeRjof00IT~qW;4nozt6Ri","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"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":198788,"triangles":432,"vertices":371,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.000003814813684499541,-2],"max":[2,0.2500038148136845,2]},"sizeMeters":[4,0.25,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:47.017Z","updatedAt":"2026-09-08T02:56:47.111Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28195/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteFloorSlab4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28195/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28195/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28195/v1/model.glb\" alt=\"Concrete Floor Slab 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28195/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28195/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28196","slug":"battle-royale-town-and-airfield-floor-slab-stairwell-6e52c33a","title":"Floor Slab With Stair Opening (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m concrete floor slab with a 2.3 m stair opening, a steel edge trim and a guard rail, with ports on all four edges.","description":"The stairwell version of the floor slab: the same 4 m square deck with a 2.3 m by 1.3 m well cut through it, a steel angle trim round the opening and a guard rail on the landing side. Dimensions 4.02 × 1.38 × 4.02 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-floor-slab-stairwell-6e52c33a","cdnUrl":"https://cdn.3dassets.dev/assets/28196/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-floor-slab-stairwell-6e52c33a","thumbnailUrl":"https://cdn.3dassets.dev/assets/28196/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28196/v1/poster.webp","blurhash":"U7BDTg%M00js4nRjofof00M|?bM|~qxb%Mj[","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"slug":"kit","title":"Kit / Set"},{"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":209128,"triangles":764,"vertices":841,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.009999990463257,0.00007477038548500681,-2.009999990463257],"max":[2.009999990463257,1.3799671985418862,2.009999990463257]},"sizeMeters":[4.02,1.38,4.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:47.880Z","updatedAt":"2026-09-08T02:56:47.970Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28196/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorSlabWithStairOpeningBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28196/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28196/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28196/v1/model.glb\" alt=\"Floor Slab With Stair Opening (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28196/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28196/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28197","slug":"battle-royale-town-and-airfield-stair-flight-37df86fe","title":"Internal Stair Flight 3.5 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a straight concrete stair flight climbing one 3.5 m storey in eighteen steps, with steel handrails both sides.","description":"A straight internal flight for the town kit: eighteen cast concrete treads and risers on twin stringers, climbing a 3.5 m storey over a 4 m run, with a tubular steel handrail on each side. It drops into the stair opening of the floor slab. Dimensions 1.44 × 3.52 × 4.19 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-stair-flight-37df86fe","cdnUrl":"https://cdn.3dassets.dev/assets/28197/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-stair-flight-37df86fe","thumbnailUrl":"https://cdn.3dassets.dev/assets/28197/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28197/v1/poster.webp","blurhash":"U26t].-;4nM{?u~qbFD%00xt~qWB0000t7_3","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"},{"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":306068,"triangles":4264,"vertices":3906,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.7179358368095715,0.00003075599670410156,-2.092750072479248],"max":[0.7179358368095715,3.5202858448028564,2.092750072479248]},"sizeMeters":[1.436,3.52,4.186],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:48.019Z","updatedAt":"2026-09-08T02:56:48.181Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28197/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function InternalStairFlight35MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28197/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28197/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28197/v1/model.glb\" alt=\"Internal Stair Flight 3.5 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28197/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28197/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28198","slug":"battle-royale-town-and-airfield-roof-slab-parapet-dd6b17f9","title":"Flat Roof Slab With Parapet (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m flat roof deck with a 0.72 m parapet and a coping cap along one edge, with connector ports.","description":"The edge unit of the flat roof: a 4 m square concrete deck carrying a 0.72 m parapet with a proud coping cap along one edge, a felt patch and a rainwater outlet. The pivot is on the grid origin, so a run of them makes a roof edge and the plain floor slab fills the middle. Dimensions 4.08 × 1.03 × 4.05 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-roof-slab-parapet-dd6b17f9","cdnUrl":"https://cdn.3dassets.dev/assets/28198/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-roof-slab-parapet-dd6b17f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/28198/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28198/v1/poster.webp","blurhash":"U4B3vg~q00r=D%oexuxu008{}?NH-;NGM|D*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":202000,"triangles":480,"vertices":422,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.0399999618530273,-0.000058447321404475616,-2.0000581237348425],"max":[2.0399999618530273,1.0300584193072215,2.0500580760511267]},"sizeMeters":[4.08,1.03,4.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:49.225Z","updatedAt":"2026-09-08T02:56:49.361Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28198/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlatRoofSlabWithParapetBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28198/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28198/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28198/v1/model.glb\" alt=\"Flat Roof Slab With Parapet (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28198/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28198/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28199","slug":"battle-royale-town-and-airfield-roof-corner-parapet-28eca3b2","title":"Flat Roof Corner With Parapet (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m flat roof corner deck with a parapet on two sides and a coping cap, with connector ports.","description":"The corner unit of the flat roof: a 4 m square concrete deck carrying a 0.72 m parapet along two adjacent edges with a proud coping cap, a felt patch and a rainwater outlet. The pivot is on the grid origin. Dimensions 4.08 × 1.03 × 4.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-roof-corner-parapet-28eca3b2","cdnUrl":"https://cdn.3dassets.dev/assets/28199/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-roof-corner-parapet-28eca3b2","thumbnailUrl":"https://cdn.3dassets.dev/assets/28199/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28199/v1/poster.webp","blurhash":"U3BDE0~W00I;VYMxx]x]004.}?a0K5.8IADi","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":207280,"triangles":696,"vertices":588,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.0399898814409947,-0.00008072348369814186,-2.049999952316284],"max":[2.0399898814409947,1.0300806954695152,2.049999952316284]},"sizeMeters":[4.08,1.03,4.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:48.251Z","updatedAt":"2026-09-08T02:56:48.427Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28199/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlatRoofCornerWithParapetBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28199/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28199/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28199/v1/model.glb\" alt=\"Flat Roof Corner With Parapet (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28199/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28199/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28200","slug":"battle-royale-town-and-airfield-rooftop-access-hut-9c8f9e3d","title":"Rooftop Access Hut (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a brick rooftop stair hut 2.5 m by 2.3 m with a hinged steel door and a vent cowl. Animated open and close.","description":"The stair head hut that lands a flight on a flat roof: a brick box 2.5 m square with a capped concrete roof, a felt covering, a lined doorway and a hinged steel door, with a vent pipe and cowl on the roof. Dimensions 2.66 × 3.40 × 2.90 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The hut, roof and vent are fixed; only the door leaf turns.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-rooftop-access-hut-9c8f9e3d","cdnUrl":"https://cdn.3dassets.dev/assets/28200/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-rooftop-access-hut-9c8f9e3d","thumbnailUrl":"https://cdn.3dassets.dev/assets/28200/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28200/v1/poster.webp","blurhash":"U2BfFQ#s009c^kVrAHg300Ed?G-:00xu}qRk","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":218560,"triangles":948,"vertices":1004,"meshes":6,"materials":5,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.3300000429153442,0.00001554242933332617,-1.4499872505244626],"max":[1.3300000429153442,3.4000000953674316,1.4500000476837158]},"sizeMeters":[2.66,3.4,2.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:48.308Z","updatedAt":"2026-09-08T02:56:48.456Z","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/28200/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 RooftopAccessHutBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28200/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/28200/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28200/v1/model.glb\" alt=\"Rooftop Access Hut (Battle Royale Town and Airfield)\" 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/28200/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/28200/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28201","slug":"battle-royale-town-and-airfield-rooftop-ac-unit-176ea8f9","title":"Rooftop Air Handling Unit (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 1.6 m rooftop air handling unit on rubber feet with a louvred side and a spinning extract fan.","description":"A packaged rooftop air handling unit: a steel cabinet on four rubber anti vibration feet with a louvred intake down one side, a proud cowl ring on the lid and a four blade extract fan on its own node, with a duct elbow off the back. Dimensions 1.68 × 1.67 × 1.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips spin turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The cabinet, louvres and duct are fixed; only the fan turns.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-rooftop-ac-unit-176ea8f9","cdnUrl":"https://cdn.3dassets.dev/assets/28201/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-rooftop-ac-unit-176ea8f9","thumbnailUrl":"https://cdn.3dassets.dev/assets/28201/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28201/v1/poster.webp","blurhash":"U68;cAog00oe_4x]ITM{00of?cWB00M_-=xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":50336,"triangles":2392,"vertices":1952,"meshes":5,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.8383538722991943,-0.00001953363420398313,-0.5650234738875343],"max":[0.8383538722991943,1.6718719367510988,0.5649890910727091]},"sizeMeters":[1.677,1.672,1.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:48.434Z","updatedAt":"2026-09-08T02:56:48.543Z","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/28201/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 RooftopAirHandlingUnitBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28201/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/28201/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28201/v1/model.glb\" alt=\"Rooftop Air Handling Unit (Battle Royale Town and Airfield)\" 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/28201/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/28201/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28202","slug":"battle-royale-town-and-airfield-water-tank-frame-6ead5144","title":"Rooftop Water Tank (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 2 m rusted water tank on a braced steel frame with a ladder, 4.7 m tall overall.","description":"A rooftop water tank: a rusted steel drum with banding hoops and a filler cap, carried on a four leg braced frame with a downpipe and a side ladder. It stands 4.7 m tall over a 2.4 m square footprint. Dimensions 2.47 × 4.83 × 2.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-water-tank-frame-6ead5144","cdnUrl":"https://cdn.3dassets.dev/assets/28202/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-water-tank-frame-6ead5144","thumbnailUrl":"https://cdn.3dassets.dev/assets/28202/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28202/v1/poster.webp","blurhash":"U29jWE~W000K_}xF2xJo00IU_4jZ0NE1}q=|","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":246272,"triangles":2812,"vertices":2314,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.2345263361930847,-0.00003021518822695496,-1.2000000476837158],"max":[1.234506427302982,4.829999923706055,1.2000000476837158]},"sizeMeters":[2.469,4.83,2.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:48.493Z","updatedAt":"2026-09-08T02:56:48.622Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28202/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RooftopWaterTankBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28202/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28202/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28202/v1/model.glb\" alt=\"Rooftop Water Tank (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28202/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28202/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28203","slug":"battle-royale-town-and-airfield-balcony-bay-81c3b043","title":"Balcony Wall Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular wall bay with glazed doors and a projecting concrete balcony with a steel rail, 4 m wide with connector ports.","description":"A wall bay opening onto a balcony: a 1.7 m by 2.3 m glazed opening with a proud lintel, and a cantilevered concrete balcony 1.3 m deep with a drip nosing and a tubular steel rail with ten balusters. Dimensions 4.02 × 3.52 × 1.67 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. The glazed doors are fixed panels; nothing on this bay moves.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-balcony-bay-81c3b043","cdnUrl":"https://cdn.3dassets.dev/assets/28203/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-balcony-bay-81c3b043","thumbnailUrl":"https://cdn.3dassets.dev/assets/28203/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28203/v1/poster.webp","blurhash":"U4DJL=4T00Xn~C-p4o9Z00?upIDiK3%gxtIA","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":243672,"triangles":2188,"vertices":2135,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.19989989078025427],"max":[2.01200008392334,3.5239661597978547,1.4698999164102515]},"sizeMeters":[4.024,3.524,1.67],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:48.794Z","updatedAt":"2026-09-08T02:56:48.995Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28203/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BalconyWallBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28203/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28203/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28203/v1/model.glb\" alt=\"Balcony Wall Bay 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28203/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28203/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28204","slug":"battle-royale-town-and-airfield-shop-bay-awning-20802c9a","title":"Shop Wall Bay With Awning (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a modular ground floor shop bay with a glazed front, a door, a fascia and a canvas awning, 4 m wide with connector ports.","description":"The ground floor shopfront of the town kit: a brick bay with a 2.3 m glazed window on a proud stall riser, a glazed entrance door beside it, a blank fascia panel over both and a canvas awning on two steel arms projecting 1.2 m. Dimensions 4.02 × 3.52 × 1.67 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. The awning, glazing and door are fixed; nothing on this bay moves.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-shop-bay-awning-20802c9a","cdnUrl":"https://cdn.3dassets.dev/assets/28204/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-shop-bay-awning-20802c9a","thumbnailUrl":"https://cdn.3dassets.dev/assets/28204/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28204/v1/poster.webp","blurhash":"U6BV;IEK00xu~T-p9bE100t7?aV@ETIVW9o|","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":243472,"triangles":2052,"vertices":1993,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-2.01200008392334,0.000034008048824807346,-0.22991119652907396],"max":[2.01200008392334,3.5239661597978547,1.4413880814262154]},"sizeMeters":[4.024,3.524,1.671],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:49.619Z","updatedAt":"2026-09-08T02:56:49.725Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28204/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShopWallBayWithAwningBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28204/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28204/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28204/v1/model.glb\" alt=\"Shop Wall Bay With Awning (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28204/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28204/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28205","slug":"battle-royale-town-and-airfield-fuel-canopy-bay-3a060c82","title":"Fuel Station Canopy Bay (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m modular fuel station canopy bay on a steel column, 6.4 m deep and 5 m tall, with lit soffit panels and connector ports.","description":"One 4 m bay of a fuel station canopy: a square steel column on a concrete pad carrying a 6.4 m deep deck with a hazard orange fascia, a lit soffit with three lamps each side and a rainwater downpipe. The pivot is on the grid origin and a port sits at each end, so bays run together into a canopy of any length. Dimensions 4.06 × 5.00 × 6.72 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-fuel-canopy-bay-3a060c82","cdnUrl":"https://cdn.3dassets.dev/assets/28205/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-fuel-canopy-bay-3a060c82","thumbnailUrl":"https://cdn.3dassets.dev/assets/28205/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28205/v1/poster.webp","blurhash":"URBf%}xZIAe-~WWVMxs.t8IpNGxaE1IpS5t7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":218876,"triangles":1368,"vertices":1190,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.0601078493552847,-0.00005614735275027982,-3.359999895095825],"max":[2.0001879315695414,4.999792771521758,3.359999895095825]},"sizeMeters":[4.06,5,6.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:49.741Z","updatedAt":"2026-09-08T02:56:49.851Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28205/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FuelStationCanopyBayBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28205/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28205/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28205/v1/model.glb\" alt=\"Fuel Station Canopy Bay (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28205/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28205/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28206","slug":"battle-royale-town-and-airfield-fuel-pump-island-5f3ac5fc","title":"Fuel Pump Island (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m fuel pump island with two twin hose dispensers, lit displays and protective bollards.","description":"The pump island under the fuel canopy: a 4 m raised concrete kerb with a painted top, two twin hose dispensers with lit displays and nozzles on both sides, and a bollard at each end. Dimensions 4.00 × 1.89 × 1.50 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-fuel-pump-island-5f3ac5fc","cdnUrl":"https://cdn.3dassets.dev/assets/28206/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-fuel-pump-island-5f3ac5fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/28206/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28206/v1/poster.webp","blurhash":"U6DI~@_100%000_0pa9H0002WHT0?@M-rz9w","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":247664,"triangles":2808,"vertices":2326,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.000090636396865032,-0.750083925901059],"max":[2,1.890030522134687,0.750083925901059]},"sizeMeters":[4,1.89,1.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:50.125Z","updatedAt":"2026-09-08T02:56:50.221Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28206/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FuelPumpIslandBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28206/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28206/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28206/v1/model.glb\" alt=\"Fuel Pump Island (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28206/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28206/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28207","slug":"battle-royale-town-and-airfield-control-tower-base-cf91d6d2","title":"Control Tower Base Stage (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 4.4 m square concrete control tower base stage 7.3 m tall with slit windows, a steel door and a caged ladder.","description":"The shaft of a small airfield control tower: a 4.4 m square concrete stage rising 7 m from a spread plinth to a capping slab, with slit windows on two faces, a steel door at the foot and a caged ladder up the back. The cab port sits on the centre of the cap so the cab lands on it. Dimensions 4.90 × 7.24 × 5.98 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-control-tower-base-cf91d6d2","cdnUrl":"https://cdn.3dassets.dev/assets/28207/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-control-tower-base-cf91d6d2","thumbnailUrl":"https://cdn.3dassets.dev/assets/28207/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28207/v1/poster.webp","blurhash":"U5C?o,-;00IA~qRj9FxaD%D%M{xu%MRjM{xu","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":246632,"triangles":2532,"vertices":2284,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.4501589239762356,0,-2.6322172874424545],"max":[2.4501589239762356,7.239999771118164,3.350131676752006]},"sizeMeters":[4.9,7.24,5.982],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:50.144Z","updatedAt":"2026-09-08T02:56:50.267Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28207/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ControlTowerBaseStageBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28207/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28207/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28207/v1/model.glb\" alt=\"Control Tower Base Stage (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28207/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28207/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28208","slug":"battle-royale-town-and-airfield-control-tower-cab-0900d125","title":"Control Tower Cab (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a glazed octagonal control tower cab 7 m across with canted windows, a lit floor, a railed roof and a mast.","description":"The glazed cab of a small airfield control tower: an octagonal deck carrying eight outward canted window panels in a gunmetal frame over a lit floor, under an overhanging roof with a perimeter rail, a mast and a radome. It lands on the base stage port. Dimensions 6.72 × 5.62 × 6.72 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-control-tower-cab-0900d125","cdnUrl":"https://cdn.3dassets.dev/assets/28208/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-control-tower-cab-0900d125","thumbnailUrl":"https://cdn.3dassets.dev/assets/28208/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28208/v1/poster.webp","blurhash":"U3A,%p_N00D%IeMy$]%L00M_bXMxk2tQ9kRk","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":292548,"triangles":4480,"vertices":4399,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-3.3590409755706787,-0.000204285374754809,-3.3590409755706787],"max":[3.3590409755706787,5.620193169588251,3.3590409755706787]},"sizeMeters":[6.718,5.62,6.718],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:50.395Z","updatedAt":"2026-09-08T02:56:50.588Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28208/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ControlTowerCabBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28208/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28208/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28208/v1/model.glb\" alt=\"Control Tower Cab (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28208/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28208/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28209","slug":"battle-royale-town-and-airfield-hangar-arch-bay-c38620ca","title":"Hangar Arch Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 4 m deep hangar arch bay spanning 14 m and standing 7.5 m tall, in clad steel, with connector ports front and back.","description":"One 4 m deep bay of an arched aircraft hangar: two steel portal ribs on square legs and concrete pads, corrugated cladding down both sides and curved roof sheets over, with a ridge cap. The pivot is on the grid origin and a port sits front and back, so bays run together into a hangar of any length. Dimensions 14.54 × 7.58 × 4.16 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-hangar-arch-bay-c38620ca","cdnUrl":"https://cdn.3dassets.dev/assets/28209/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-hangar-arch-bay-c38620ca","thumbnailUrl":"https://cdn.3dassets.dev/assets/28209/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28209/v1/poster.webp","blurhash":"U597kX9GD%-:~q.701M_00%LD%D%00jK?aIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":286132,"triangles":4916,"vertices":4068,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-7.269999980926514,-0.00038783778079620745,-2.0801336213391077],"max":[7.269999980926514,7.5803877614868505,2.0801336213391077]},"sizeMeters":[14.54,7.581,4.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:51.399Z","updatedAt":"2026-09-08T02:56:51.501Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28209/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangarArchBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28209/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28209/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28209/v1/model.glb\" alt=\"Hangar Arch Bay 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28209/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28209/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28210","slug":"battle-royale-town-and-airfield-hangar-end-wall-door-a67c3600","title":"Hangar End Wall With Sliding Door (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 14 m hangar end wall with two 5 m sliding leaves on a head rail. Animated open and close.","description":"The gable end of the arched hangar: clad side panels either side of a 10 m by 6.4 m opening under a steel head beam, with the arch rib and gable infill above, and two clad sliding leaves on hangers that retract behind the side panels. Dimensions 14.35 × 7.58 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The wall, head rail and gable are fixed; only the two leaves slide.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-hangar-end-wall-door-a67c3600","cdnUrl":"https://cdn.3dassets.dev/assets/28210/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-hangar-end-wall-door-a67c3600","thumbnailUrl":"https://cdn.3dassets.dev/assets/28210/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28210/v1/poster.webp","blurhash":"U8B:yoRq9FM+NR~onhM_01t9o#t0$_xbozD+","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":77904,"triangles":5080,"vertices":4290,"meshes":8,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-7.176609039306641,-0.000022222944314975734,-0.210024803795702],"max":[7.176609039306641,7.579798372357853,0.49002350896087576]},"sizeMeters":[14.353,7.58,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:50.605Z","updatedAt":"2026-09-08T02:56:50.749Z","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/28210/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 HangarEndWallWithSlidingDoorBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28210/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/28210/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28210/v1/model.glb\" alt=\"Hangar End Wall With Sliding Door (Battle Royale Town and Airfield)\" 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/28210/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/28210/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28211","slug":"battle-royale-town-and-airfield-runway-slab-baea3d2c","title":"Runway Slab 8 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: an 8 m concrete runway slab with painted edge and threshold markings and four emissive edge lights, with ports on all four edges.","description":"One 8 m square bay of runway: a 0.25 m concrete slab with a chamfered joint each side, painted edge stripes and threshold bars, and an emissive amber edge light on a short stalk at each corner. The pivot is on the grid origin and a port sits at the middle of each edge. Dimensions 8.00 × 0.48 × 8.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-runway-slab-baea3d2c","cdnUrl":"https://cdn.3dassets.dev/assets/28211/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-runway-slab-baea3d2c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28211/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28211/v1/poster.webp","blurhash":"U7BWb-%L00ayxuWBRkt600M{~oWBE1t7t6M|","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":218040,"triangles":1356,"vertices":1124,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-4,-0.00014099491773267303,-4],"max":[4,0.4849930602778491,4]},"sizeMeters":[8,0.485,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:51.038Z","updatedAt":"2026-09-08T02:56:51.137Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28211/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunwaySlab8MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28211/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28211/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28211/v1/model.glb\" alt=\"Runway Slab 8 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28211/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28211/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28212","slug":"battle-royale-town-and-airfield-taxiway-slab-e6aeb05b","title":"Taxiway Slab 8 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: an 8 m concrete taxiway slab with a painted centreline and four emissive blue edge lights, with ports on all four edges.","description":"One 8 m square bay of taxiway or hardstanding: a 0.25 m concrete slab with a painted yellow centreline between its guide stripes and an emissive blue edge light at each corner. The pivot is on the grid origin and a port sits at the middle of each edge, so it also serves as a road slab through the town. Dimensions 8.00 × 0.52 × 8.00 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-taxiway-slab-e6aeb05b","cdnUrl":"https://cdn.3dassets.dev/assets/28212/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-taxiway-slab-e6aeb05b","thumbnailUrl":"https://cdn.3dassets.dev/assets/28212/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28212/v1/poster.webp","blurhash":"U6B3$x%M00RjxuWBRkof00My~pafIUt7s:NH","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":216648,"triangles":1248,"vertices":1032,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-4,-0.00014099491773267303,-4],"max":[4,0.5148809802670625,4]},"sizeMeters":[8,0.515,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:51.379Z","updatedAt":"2026-09-08T02:56:51.488Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28212/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TaxiwaySlab8MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28212/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28212/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28212/v1/model.glb\" alt=\"Taxiway Slab 8 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28212/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28212/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28213","slug":"battle-royale-town-and-airfield-blast-wall-1737066a","title":"Precast Blast Wall 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale airfield: a 4 m precast concrete blast wall 3 m tall on a splayed foot, with lifting eyes and a hazard band.","description":"A free standing precast blast wall: a 4 m T section panel 3 m tall on a splayed foot that keeps it upright without fixings, with two lifting eyes on the top and a hazard band across the face. A port at each end lines up the next panel. Dimensions 4.00 × 3.16 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-blast-wall-1737066a","cdnUrl":"https://cdn.3dassets.dev/assets/28213/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-blast-wall-1737066a","thumbnailUrl":"https://cdn.3dassets.dev/assets/28213/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28213/v1/poster.webp","blurhash":"U5D]k{_M00M{IT~qtR0000IA~pbIx^-;$%D%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":203132,"triangles":536,"vertices":514,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.002000093460083,0.000006422225391489178,-0.35192481882168275],"max":[2.002000093460083,3.16118990254074,0.35192481882168275]},"sizeMeters":[4.004,3.161,0.704],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:51.720Z","updatedAt":"2026-09-08T02:56:51.814Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28213/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PrecastBlastWall4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28213/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28213/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28213/v1/model.glb\" alt=\"Precast Blast Wall 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28213/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28213/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28214","slug":"battle-royale-town-and-airfield-fence-bay-bcf80d80","title":"Chain Link Fence Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale airfield: a 4 m chain link fence bay 2.6 m tall on concrete footings with barbed arms, and a connector port at each end.","description":"A 4 m bay of perimeter fencing: two tubular posts on concrete footings carrying a top rail and a woven wire panel, with canted arms and three barbed strands above. The pivot is on the grid origin and a port sits at each end. Dimensions 4.21 × 2.80 × 0.43 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-fence-bay-bcf80d80","cdnUrl":"https://cdn.3dassets.dev/assets/28214/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-fence-bay-bcf80d80","thumbnailUrl":"https://cdn.3dassets.dev/assets/28214/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28214/v1/poster.webp","blurhash":"U6BDZyt700t7of?bWB9E00Rk~qayRQxut7bI","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":211252,"triangles":840,"vertices":990,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.10265851020813,-0.00008411927884950654,-0.1499011285697864],"max":[2.10265851020813,2.804401801223812,0.2799786588155171]},"sizeMeters":[4.205,2.804,0.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:51.995Z","updatedAt":"2026-09-08T02:56:52.088Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28214/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChainLinkFenceBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28214/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28214/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28214/v1/model.glb\" alt=\"Chain Link Fence Bay 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28214/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28214/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28215","slug":"battle-royale-town-and-airfield-fence-gate-1916a3be","title":"Chain Link Gate Bay 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale airfield: a 4 m chain link gate bay on heavy posts with a braced swinging leaf. Animated open and close.","description":"The gate bay of the perimeter fence: two heavy tubular posts on concrete footings and a braced 3.7 m leaf of framed wire mesh with a latch bar, hung on the left post. The pivot is on the grid origin and a port sits at each end. Dimensions 4.26 × 2.50 × 0.39 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The posts, footings and latch keep are fixed; only the leaf swings.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-fence-gate-1916a3be","cdnUrl":"https://cdn.3dassets.dev/assets/28215/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-fence-gate-1916a3be","thumbnailUrl":"https://cdn.3dassets.dev/assets/28215/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28215/v1/poster.webp","blurhash":"U67BG%of00D%M{%MRjIU00IU~qxuj=M{j]-;","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":221472,"triangles":1308,"vertices":1338,"meshes":5,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-2.131190061569214,-0.00009754347214818715,-0.18003277963877024],"max":[2.131190061569214,2.500097544962265,0.2099939040825063]},"sizeMeters":[4.262,2.5,0.39],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:53.258Z","updatedAt":"2026-09-08T02:56:53.560Z","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/28215/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 ChainLinkGateBay4MBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28215/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/28215/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28215/v1/model.glb\" alt=\"Chain Link Gate Bay 4 m (Battle Royale Town and Airfield)\" 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/28215/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/28215/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28216","slug":"battle-royale-town-and-airfield-pavement-slab-a28a3191","title":"Kerb And Pavement Slab 4 m (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m concrete pavement slab with a kerb upstand, scored joints and a gully grate, with a connector port at each end.","description":"A 4 m run of pavement: a 2.4 m deep concrete slab with a raised kerb along the road edge, scored joints across it and a gully grate set in beside the kerb. The pivot is on the grid origin and a port sits at each end. Dimensions 4.00 × 0.30 × 2.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-pavement-slab-a28a3191","cdnUrl":"https://cdn.3dassets.dev/assets/28216/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-pavement-slab-a28a3191","thumbnailUrl":"https://cdn.3dassets.dev/assets/28216/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28216/v1/poster.webp","blurhash":"U5BM[G%N00NG-q-;RjIU00M{~qaeD$4oof%2","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"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":222804,"triangles":1512,"vertices":1293,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00009308741436625523,-1.2001098666341137],"max":[2,0.2999069245065627,1.2001098666341137]},"sizeMeters":[4,0.3,2.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:52.234Z","updatedAt":"2026-09-08T02:56:52.329Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28216/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KerbAndPavementSlab4MBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28216/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28216/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28216/v1/model.glb\" alt=\"Kerb And Pavement Slab 4 m (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28216/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28216/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28217","slug":"battle-royale-town-and-airfield-loot-pistol-common-7e20d21b","title":"Sidearm Loot Spawn (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a semi automatic sidearm lying on the ground as a common loot spawn on an emissive grey rarity ring. Animated magazine and slide.","description":"A ground loot spawn for a battle royale: an original semi automatic sidearm archetype lying on its left side inside an emissive grey ring that marks it as common on the pack's grey, green, blue, purple and gold ladder. A compact polymer framed sidearm with a machined steel slide, serrations at the rear and fixed iron sights. The magazine and the slide are separate nodes, so the weapon can be shown loading and cycling where it lies. Dimensions 0.94 × 0.09 × 0.94 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips magazine-open, magazine-close, slide-open, slide-close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The ring, the receiver, the barrel, the sight and the grip are fixed; only the magazine and the slide travel. The design is invented for this pack and copies no real firearm.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-loot-pistol-common-7e20d21b","cdnUrl":"https://cdn.3dassets.dev/assets/28217/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-loot-pistol-common-7e20d21b","thumbnailUrl":"https://cdn.3dassets.dev/assets/28217/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28217/v1/poster.webp","blurhash":"U77UM7t700WAxufQM{fP00Rj_NofD%j[%Mj[","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":378608,"triangles":21946,"vertices":14914,"meshes":8,"materials":4,"textures":0,"animations":["magazine-open","magazine-close","slide-open","slide-close"],"boundingBox":{"min":[-0.4699999988079071,0.000026414964434472166,-0.4699999988079071],"max":[0.4699999988079071,0.09297358718878332,0.4699999988079071]},"sizeMeters":[0.94,0.093,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:52.272Z","updatedAt":"2026-09-08T02:56:52.367Z","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/28217/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 SidearmLootSpawnBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28217/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/28217/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28217/v1/model.glb\" alt=\"Sidearm Loot Spawn (Battle Royale Town and Airfield)\" 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/28217/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/28217/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28218","slug":"battle-royale-town-and-airfield-loot-smg-uncommon-844c5e8c","title":"Machine Pistol Loot Spawn (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a compact submachine gun lying on the ground as a uncommon loot spawn on an emissive green rarity ring. Animated magazine and bolt.","description":"A ground loot spawn for a battle royale: an original compact submachine gun archetype lying on its left side inside an emissive green ring that marks it as uncommon on the pack's grey, green, blue, purple and gold ladder. A blowback submachine gun with a folding wire brace, a stubby vented handguard and a red dot on the rail. The magazine and the bolt are separate nodes, so the weapon can be shown loading and cycling where it lies. Dimensions 0.94 × 0.10 × 0.94 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The ring, the receiver, the barrel, the sight and the grip are fixed; only the magazine and the bolt travel. The design is invented for this pack and copies no real firearm.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-loot-smg-uncommon-844c5e8c","cdnUrl":"https://cdn.3dassets.dev/assets/28218/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-loot-smg-uncommon-844c5e8c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28218/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28218/v1/poster.webp","blurhash":"U76[Q@t600WBxua#RQa_00WB_MofIBj?yBjv","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":420932,"triangles":23856,"vertices":16828,"meshes":8,"materials":5,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.4699999988079071,0.000001921482797234697,-0.4699999988079071],"max":[0.4699999988079071,0.10336112112954948,0.4699999988079071]},"sizeMeters":[0.94,0.103,0.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:52.655Z","updatedAt":"2026-09-08T02:56:52.747Z","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/28218/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 MachinePistolLootSpawnBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28218/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/28218/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28218/v1/model.glb\" alt=\"Machine Pistol Loot Spawn (Battle Royale Town and Airfield)\" 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/28218/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/28218/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28220","slug":"battle-royale-town-and-airfield-loot-assault-rifle-rar-4644cc5d","title":"Assault Rifle Loot Spawn (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a assault rifle lying on the ground as a rare loot spawn on an emissive blue rarity ring. Animated magazine and bolt.","description":"A ground loot spawn for a battle royale: an original assault rifle archetype lying on its left side inside an emissive blue ring that marks it as rare on the pack's grey, green, blue, purple and gold ladder. A gas operated assault rifle with a collapsible tube stock, a long vented handguard and a red dot on the rail. The magazine and the bolt are separate nodes, so the weapon can be shown loading and cycling where it lies. Dimensions 0.94 × 0.11 × 0.94 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The ring, the receiver, the barrel, the sight and the grip are fixed; only the magazine and the bolt travel. The design is invented for this pack and copies no real firearm.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-loot-assault-rifle-rar-4644cc5d","cdnUrl":"https://cdn.3dassets.dev/assets/28220/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-loot-assault-rifle-rar-4644cc5d","thumbnailUrl":"https://cdn.3dassets.dev/assets/28220/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28220/v1/poster.webp","blurhash":"U65}]ltR4TRPt8a}RjWA00Rj?wozMxoJxvo#","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":458688,"triangles":25916,"vertices":18409,"meshes":8,"materials":5,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.4700075111796408,0.000002551434919909057,-0.4702945649623871],"max":[0.4700075111796408,0.10979852657981937,0.4702945649623871]},"sizeMeters":[0.94,0.11,0.941],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:53.260Z","updatedAt":"2026-09-08T02:56:53.562Z","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/28220/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 AssaultRifleLootSpawnBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28220/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/28220/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28220/v1/model.glb\" alt=\"Assault Rifle Loot Spawn (Battle Royale Town and Airfield)\" 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/28220/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/28220/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28219","slug":"battle-royale-town-and-airfield-loot-battle-rifle-epic-914e4cac","title":"Battle Rifle Loot Spawn (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a battle rifle lying on the ground as a epic loot spawn on an emissive purple rarity ring. Animated magazine and bolt.","description":"A ground loot spawn for a battle royale: an original battle rifle archetype lying on its left side inside an emissive purple ring that marks it as epic on the pack's grey, green, blue, purple and gold ladder. A heavier battle rifle in a full power calibre: a fixed polymer stock, a long handguard, a muzzle brake and a short telescopic sight. The magazine and the bolt are separate nodes, so the weapon can be shown loading and cycling where it lies. Dimensions 0.94 × 0.12 × 0.96 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The ring, the receiver, the barrel, the sight and the grip are fixed; only the magazine and the bolt travel. The design is invented for this pack and copies no real firearm.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-loot-battle-rifle-epic-914e4cac","cdnUrl":"https://cdn.3dassets.dev/assets/28219/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-loot-battle-rifle-epic-914e4cac","thumbnailUrl":"https://cdn.3dassets.dev/assets/28219/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28219/v1/poster.webp","blurhash":"U67T^Rxv0JWTxba#NFk800NF^-jcE0k9%4e?","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":477408,"triangles":26808,"vertices":19191,"meshes":9,"materials":6,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.47001989824158424,0.0000121354979225885,-0.48118042945861816],"max":[0.47001989824158424,0.11768020123299006,0.48118042945861816]},"sizeMeters":[0.94,0.118,0.962],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:53.256Z","updatedAt":"2026-09-08T02:56:53.586Z","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/28219/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 BattleRifleLootSpawnBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28219/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/28219/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28219/v1/model.glb\" alt=\"Battle Rifle Loot Spawn (Battle Royale Town and Airfield)\" 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/28219/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/28219/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28221","slug":"battle-royale-town-and-airfield-loot-marksman-rifle-le-6a6f30fa","title":"Marksman Rifle Loot Spawn (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a marksman rifle lying on the ground as a legendary loot spawn on an emissive gold rarity ring. Animated magazine and bolt.","description":"A ground loot spawn for a battle royale: an original marksman rifle archetype lying on its left side inside an emissive gold ring that marks it as legendary on the pack's grey, green, blue, purple and gold ladder. A suppressed marksman rifle on a bipod: a heavy fluted barrel, a long telescopic sight and a fixed stock with a cheek riser. The magazine and the bolt are separate nodes, so the weapon can be shown loading and cycling where it lies. Dimensions 0.94 × 0.16 × 1.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips magazine-open, magazine-close, bolt-open, bolt-close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The ring, the receiver, the barrel, the sight and the grip are fixed; only the magazine and the bolt travel. The design is invented for this pack and copies no real firearm.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-loot-marksman-rifle-le-6a6f30fa","cdnUrl":"https://cdn.3dassets.dev/assets/28221/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-loot-marksman-rifle-le-6a6f30fa","thumbnailUrl":"https://cdn.3dassets.dev/assets/28221/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28221/v1/poster.webp","blurhash":"U56RMtIU01%M%KayIpay00%2~oM{9Ha}-.s:","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":468352,"triangles":25920,"vertices":18952,"meshes":9,"materials":6,"textures":0,"animations":["magazine-open","magazine-close","bolt-open","bolt-close"],"boundingBox":{"min":[-0.47002009269020967,-0.000005467890079616233,-0.6597498655319214],"max":[0.47002009269020967,0.16489297067957698,0.6597498655319214]},"sizeMeters":[0.94,0.165,1.319],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:53.463Z","updatedAt":"2026-09-08T02:56:53.651Z","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/28221/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 MarksmanRifleLootSpawnBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28221/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/28221/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28221/v1/model.glb\" alt=\"Marksman Rifle Loot Spawn (Battle Royale Town and Airfield)\" 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/28221/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/28221/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28222","slug":"battle-royale-town-and-airfield-armour-plate-f91ce68f","title":"Armour Plate (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a single ceramic armour plate standing on its edge, with a lit status tab.","description":"One armour plate as a pickup: a curved ceramic and composite plate in an olive cover, standing on its bottom edge with a strap loop and a lit status tab at the top. Dimensions 0.30 × 0.36 × 0.10 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-armour-plate-f91ce68f","cdnUrl":"https://cdn.3dassets.dev/assets/28222/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-armour-plate-f91ce68f","thumbnailUrl":"https://cdn.3dassets.dev/assets/28222/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28222/v1/poster.webp","blurhash":"U47BM?9a00-,_LtR8{Mw-,%L9IICxSfgp0Rq","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":13456,"triangles":584,"vertices":488,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.15000444567610624,0,-0.051391664608607224],"max":[0.15000444567610624,0.35649651288986206,0.051397289248402166]},"sizeMeters":[0.3,0.356,0.103],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:53.698Z","updatedAt":"2026-09-08T02:56:53.810Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28222/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmourPlateBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28222/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28222/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28222/v1/model.glb\" alt=\"Armour Plate (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28222/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28222/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28224","slug":"battle-royale-town-and-airfield-plate-carrier-vest-5f7180b1","title":"Plate Carrier Vest (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a three plate carrier vest standing on a low base, with pouches, shoulder straps and a lit indicator.","description":"A three plate carrier as a pickup: front, back and one side plate in an olive cargo carrier with six magazine pouches, padded shoulder straps and a lit indicator tab, standing upright on a low weighted base. Dimensions 0.36 × 0.70 × 0.30 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-plate-carrier-vest-5f7180b1","cdnUrl":"https://cdn.3dassets.dev/assets/28224/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-plate-carrier-vest-5f7180b1","thumbnailUrl":"https://cdn.3dassets.dev/assets/28224/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28224/v1/poster.webp","blurhash":"U25=LW-;009FtfoeM#NH01Rj_1kCR8xu%fNG","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":32684,"triangles":1676,"vertices":1227,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.18002324418053403,0,-0.15000853728112237],"max":[0.1800144852505167,0.6967757940292358,0.15000853728112237]},"sizeMeters":[0.36,0.697,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:54.283Z","updatedAt":"2026-09-08T02:56:54.373Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28224/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlateCarrierVestBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28224/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28224/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28224/v1/model.glb\" alt=\"Plate Carrier Vest (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28224/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28224/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28223","slug":"battle-royale-town-and-airfield-backpack-small-40cb0663","title":"Small Assault Pack (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a small olive assault pack with a front pouch, shoulder straps and a lit capacity tab.","description":"The starter backpack pickup: a 0.42 m olive assault pack with a front pouch, a grab handle, padded shoulder straps and a lit capacity tab. Dimensions 0.32 × 0.42 × 0.31 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-backpack-small-40cb0663","cdnUrl":"https://cdn.3dassets.dev/assets/28223/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-backpack-small-40cb0663","thumbnailUrl":"https://cdn.3dassets.dev/assets/28223/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28223/v1/poster.webp","blurhash":"U49tV=-:009G~oxu8|IU01RR%e%LV?t6xtW-","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":29740,"triangles":1536,"vertices":1148,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.16001067648254622,0,-0.1531595765041811],"max":[0.16001067648254622,0.41999998688697815,0.1531595765041811]},"sizeMeters":[0.32,0.42,0.306],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:53.923Z","updatedAt":"2026-09-08T02:56:54.064Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28223/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmallAssaultPackBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28223/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28223/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28223/v1/model.glb\" alt=\"Small Assault Pack (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28223/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28223/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28225","slug":"battle-royale-town-and-airfield-backpack-large-d4c9f351","title":"Large Field Pack (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a large olive field pack with a roll top, side compression straps and a lit capacity tab.","description":"The large capacity backpack pickup: a 0.62 m olive field pack with a front cargo pouch, a rolled sleeping mat lashed to the back, compression straps and a lit capacity tab. Dimensions 0.42 × 0.62 × 0.44 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-backpack-large-d4c9f351","cdnUrl":"https://cdn.3dassets.dev/assets/28225/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-backpack-large-d4c9f351","thumbnailUrl":"https://cdn.3dassets.dev/assets/28225/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28225/v1/poster.webp","blurhash":"U39Qvy_20001_Mxa9GNG01My%dx]tMt5o4Rk","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":34504,"triangles":1684,"vertices":1291,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.21000946235310392,0,-0.2214999943971634],"max":[0.21000946235310392,0.6200000047683716,0.22148989905304595]},"sizeMeters":[0.42,0.62,0.443],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:54.943Z","updatedAt":"2026-09-08T02:56:55.033Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28225/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LargeFieldPackBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28225/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28225/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28225/v1/model.glb\" alt=\"Large Field Pack (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28225/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28225/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28226","slug":"battle-royale-town-and-airfield-medkit-69cc18fd","title":"Field Medical Kit (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.3 m olive field medical kit with a lit green cross on both faces and a carry handle.","description":"The full heal pickup: a hard sided olive medical case 0.3 m long with a lit green cross on each face, a strap across the front and a moulded carry handle on the lid. Dimensions 0.31 × 0.24 × 0.21 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-medkit-69cc18fd","cdnUrl":"https://cdn.3dassets.dev/assets/28226/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-medkit-69cc18fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/28226/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28226/v1/poster.webp","blurhash":"U6A^gl_L00H@?Zx[flbI00D*t8o}NFofICDk","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":22712,"triangles":992,"vertices":868,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.1550000011920929,0.0000028347604882350552,-0.10450000315904617],"max":[0.1550000011920929,0.23800479021257284,0.10449420823157834]},"sizeMeters":[0.31,0.238,0.209],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:55.097Z","updatedAt":"2026-09-08T02:56:55.198Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28226/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldMedicalKitBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28226/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28226/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28226/v1/model.glb\" alt=\"Field Medical Kit (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28226/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28226/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28228","slug":"battle-royale-town-and-airfield-bandage-roll-8abada24","title":"Bandage Roll (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a rolled field bandage 0.11 m across with a loose tail and a lit tab.","description":"The small heal pickup: a rolled cotton field bandage with the loose end lifted off the roll and a lit tab where a player would grab it. Dimensions 0.09 × 0.13 × 0.19 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-bandage-roll-8abada24","cdnUrl":"https://cdn.3dassets.dev/assets/28228/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-bandage-roll-8abada24","thumbnailUrl":"https://cdn.3dassets.dev/assets/28228/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28228/v1/poster.webp","blurhash":"U8C6[SIB00yB_MD%4U.600RQ?I?uRQ-;?be=","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":198520,"triangles":352,"vertices":372,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.04300168692127926,-0.0000016938916701930706,-0.09387942403554916],"max":[0.04300168692127926,0.12743880934548016,0.09387942403554916]},"sizeMeters":[0.086,0.127,0.188],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:55.341Z","updatedAt":"2026-09-08T02:56:55.447Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28228/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BandageRollBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28228/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28228/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28228/v1/model.glb\" alt=\"Bandage Roll (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28228/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28228/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28227","slug":"battle-royale-town-and-airfield-ammo-box-e9e5adc3","title":"Ammunition Box (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.42 m steel ammunition box with a latched lid, side handles and four loose rounds on top.","description":"The ammunition pickup: a pressed steel box in olive with a folded lid, a latch, a handle each side, a painted band along the front and four loose rounds standing on the lid. Dimensions 0.43 × 0.26 × 0.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-ammo-box-e9e5adc3","cdnUrl":"https://cdn.3dassets.dev/assets/28227/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-ammo-box-e9e5adc3","thumbnailUrl":"https://cdn.3dassets.dev/assets/28227/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28227/v1/poster.webp","blurhash":"U7AwS2~o02IW.7x[t7t700D+t6jXIAxsIVD+","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":23384,"triangles":1000,"vertices":857,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2150000035762787,0.000010145152068444241,-0.12849618690785597],"max":[0.2150000035762787,0.263005487454729,0.12849590328542804]},"sizeMeters":[0.43,0.263,0.257],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:55.284Z","updatedAt":"2026-09-08T02:56:55.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28227/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AmmunitionBoxBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28227/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28227/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28227/v1/model.glb\" alt=\"Ammunition Box (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28227/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28227/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28229","slug":"battle-royale-town-and-airfield-munitions-crate-a6775a5a","title":"Munitions Crate (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.94 m olive munitions crate with a hinged lid, corner protectors and a lit status tab. Animated open and close.","description":"The long munitions crate that supplies a position: an olive steel box with corner protectors, a banded front, side handles and a hinged lid with a lit status tab. Dimensions 0.97 × 0.56 × 0.56 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The body, handles and protectors are fixed; only the lid lifts.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-munitions-crate-a6775a5a","cdnUrl":"https://cdn.3dassets.dev/assets/28229/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-munitions-crate-a6775a5a","thumbnailUrl":"https://cdn.3dassets.dev/assets/28229/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28229/v1/poster.webp","blurhash":"U59%^l_L00IBs;%L%KWB00Rj%KbEIUj?R*M{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":36084,"triangles":1596,"vertices":1339,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.48500001430511475,0.000010680844197530348,-0.2799818194836251],"max":[0.48500001430511475,0.5550009083214429,0.2799849591465524]},"sizeMeters":[0.97,0.555,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:55.372Z","updatedAt":"2026-09-08T02:56:55.509Z","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/28229/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 MunitionsCrateBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28229/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/28229/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28229/v1/model.glb\" alt=\"Munitions Crate (Battle Royale Town and Airfield)\" 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/28229/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/28229/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28230","slug":"battle-royale-town-and-airfield-supply-crate-af1d01ce","title":"Supply Crate (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.68 m timber supply crate with steel corner protectors, slats and a hinged lid. Animated open and close.","description":"A general supply crate: a slatted timber box on steel corner protectors with a banded rail, side handles and a hinged lid carrying a lit status tab. Dimensions 0.71 × 0.71 × 0.74 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The body, slats and handles are fixed; only the lid lifts.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-supply-crate-af1d01ce","cdnUrl":"https://cdn.3dassets.dev/assets/28230/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-supply-crate-af1d01ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/28230/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28230/v1/poster.webp","blurhash":"U170oL}@02Dk^Q+z#Ro[0eng=ej10NEh-o%0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":87228,"triangles":2028,"vertices":1704,"meshes":7,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.3549999911338091,0.000010995428915860916,-0.3700005180176145],"max":[0.3549999911338091,0.7150009363356261,0.3700037688930052]},"sizeMeters":[0.71,0.715,0.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:55.448Z","updatedAt":"2026-09-08T02:56:55.548Z","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/28230/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 SupplyCrateBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28230/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/28230/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28230/v1/model.glb\" alt=\"Supply Crate (Battle Royale Town and Airfield)\" 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/28230/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/28230/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28231","slug":"battle-royale-town-and-airfield-loadout-drop-case-45251cef","title":"Loadout Drop Case (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.9 m armoured loadout case with a hinged lid, hazard banding and a gold lit tab. Animated open and close.","description":"The loadout drop case a squad calls in: an armoured gunmetal case on yellow corner protectors with a banded front, side handles and a hinged lid carrying a gold lit tab. Dimensions 0.93 × 0.47 × 0.68 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The case, handles and banding are fixed; only the lid lifts.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-loadout-drop-case-45251cef","cdnUrl":"https://cdn.3dassets.dev/assets/28231/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-loadout-drop-case-45251cef","thumbnailUrl":"https://cdn.3dassets.dev/assets/28231/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28231/v1/poster.webp","blurhash":"U597Rhx]D*bEE8xtM}ae00IWE9t6n}M|~kE5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":34356,"triangles":1596,"vertices":1327,"meshes":7,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.4650000035762787,0.000024731912949660373,-0.33998037438352396],"max":[0.4650000035762787,0.4750009092155124,0.34000513489143336]},"sizeMeters":[0.93,0.475,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:55.519Z","updatedAt":"2026-09-08T02:56:55.625Z","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/28231/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 LoadoutDropCaseBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28231/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/28231/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28231/v1/model.glb\" alt=\"Loadout Drop Case (Battle Royale Town and Airfield)\" 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/28231/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/28231/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28232","slug":"battle-royale-town-and-airfield-supply-drop-parachute-bc0ed352","title":"Supply Drop Under Canopy (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: an olive supply crate falling under a deployed orange parachute, 5.9 m tall, for placing in mid air.","description":"A supply drop in descent: a banded olive crate on a crushed impact pad, hanging from eight rigging lines under a deployed orange canopy 4.7 m across, with a gold lit tag on the crate lid. The origin sits under the crate at the bottom of the model, so raising it in a scene puts the crate at the height a developer wants and the canopy above it. Dimensions 4.82 × 6.20 × 4.82 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. The canopy, gores and rigging lines are one rigid mesh and never move: a rigid node transform cannot simulate fabric, so the drop is posed rather than animated.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-supply-drop-parachute-bc0ed352","cdnUrl":"https://cdn.3dassets.dev/assets/28232/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-supply-drop-parachute-bc0ed352","thumbnailUrl":"https://cdn.3dassets.dev/assets/28232/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28232/v1/poster.webp","blurhash":"UJASh:t50hNH}=oe9wR+I;WVxYoe59R+=ws.","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":250144,"triangles":3084,"vertices":2331,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-2.408560037612915,0,-2.408560037612915],"max":[2.408560037612915,6.200027560923619,2.408560037612915]},"sizeMeters":[4.817,6.2,4.817],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:56.009Z","updatedAt":"2026-09-08T02:56:56.110Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28232/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SupplyDropUnderCanopyBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28232/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28232/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28232/v1/model.glb\" alt=\"Supply Drop Under Canopy (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28232/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28232/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28233","slug":"battle-royale-town-and-airfield-supply-drop-landed-bcb52e9e","title":"Landed Supply Drop (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a landed supply crate with its orange parachute collapsed in folds beside it and the rigging lines slack.","description":"The landed version of the supply drop: the same banded olive crate sitting on its crushed impact pad with the orange canopy spilled into low folds beside it and the rigging lines lying slack across the ground. Dimensions 4.53 × 1.16 × 3.94 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Both the crate and the collapsed canopy are static geometry.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-supply-drop-landed-bcb52e9e","cdnUrl":"https://cdn.3dassets.dev/assets/28233/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-supply-drop-landed-bcb52e9e","thumbnailUrl":"https://cdn.3dassets.dev/assets/28233/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28233/v1/poster.webp","blurhash":"UDAlqJNx0hwIEQofxWae04xD}=Nw^dWBEObv","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":67036,"triangles":3492,"vertices":2536,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-2.2653465270996094,0.000044939513754671534,-1.9712202429196606],"max":[2.2653465270996094,1.1599946471701594,1.9712202429196606]},"sizeMeters":[4.531,1.16,3.942],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:56.538Z","updatedAt":"2026-09-08T02:56:56.629Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28233/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LandedSupplyDropBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28233/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28233/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28233/v1/model.glb\" alt=\"Landed Supply Drop (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28233/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28233/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28234","slug":"battle-royale-town-and-airfield-buy-station-be4ae942","title":"Buy Station Terminal (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 1.3 m armoured buy station terminal on a concrete pad with a lit blue screen, a keypad and a lit canopy strip.","description":"The buy station a squad spends its cash at: an armoured gunmetal terminal on a concrete pad with a canted lit screen, a four button keypad on the shelf, a hazard hood over the top with a lit strip and a stub aerial. Dimensions 1.30 × 2.26 × 0.90 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. The terminal is static geometry: the screen and strips are emissive materials, not clips.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-buy-station-be4ae942","cdnUrl":"https://cdn.3dassets.dev/assets/28234/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-buy-station-be4ae942","thumbnailUrl":"https://cdn.3dassets.dev/assets/28234/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28234/v1/poster.webp","blurhash":"UAAw3d-p009GVCaKXoS$8^jE?wbw0,kC^gj[","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":224636,"triangles":1664,"vertices":1357,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-0.6499999761581421,0.000014956785691036534,-0.4500228723753658],"max":[0.6499999761581421,2.259999990463257,0.4500228723753658]},"sizeMeters":[1.3,2.26,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:56.826Z","updatedAt":"2026-09-08T02:56:56.930Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28234/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BuyStationTerminalBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28234/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28234/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28234/v1/model.glb\" alt=\"Buy Station Terminal (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28234/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28234/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28235","slug":"battle-royale-town-and-airfield-gas-mask-e76f0a62","title":"Gas Mask (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a rubber gas mask with twin glass eyepieces, a filter canister and webbing straps, lying face up.","description":"A gas mask pickup: a moulded rubber face piece with twin glass eyepieces in raised bezels, an exhale valve between them, a filter canister screwed to the right cheek and four webbing straps spread on the ground behind it. Dimensions 0.35 × 0.20 × 0.53 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-gas-mask-e76f0a62","cdnUrl":"https://cdn.3dassets.dev/assets/28235/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-gas-mask-e76f0a62","thumbnailUrl":"https://cdn.3dassets.dev/assets/28235/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28235/v1/poster.webp","blurhash":"U15OToM}008{9JRk%J%L00-:_3og^]t5IbD+","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":73124,"triangles":3796,"vertices":2913,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.17473688628066938,-0.000005183555623497482,-0.26643106341362],"max":[0.17473688628066938,0.19723199797991986,0.26643106341362]},"sizeMeters":[0.349,0.197,0.533],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:56.978Z","updatedAt":"2026-09-08T02:56:57.093Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28235/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GasMaskBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28235/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28235/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28235/v1/model.glb\" alt=\"Gas Mask (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28235/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28235/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28236","slug":"battle-royale-town-and-airfield-killstreak-radio-8b66d682","title":"Field Radio (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a hand held olive field radio with a lit display, a keypad, a whip aerial and a coiled handset.","description":"The field radio a squad calls a drop in with: an olive hand held set with a lit purple display, a six key pad, a whip aerial and a handset on a coiled lead clipped to the side. Dimensions 0.32 × 0.79 × 0.20 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-killstreak-radio-8b66d682","cdnUrl":"https://cdn.3dassets.dev/assets/28236/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-killstreak-radio-8b66d682","thumbnailUrl":"https://cdn.3dassets.dev/assets/28236/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28236/v1/poster.webp","blurhash":"U355C0M{00-:0Kt6_2M|4-of?bRj~XRk0Kxu","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":23208,"triangles":988,"vertices":841,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.15874540835648987,0,-0.10067150313981887],"max":[0.15874611848252052,0.7879999876022339,0.10067720654465662]},"sizeMeters":[0.317,0.788,0.201],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:57.018Z","updatedAt":"2026-09-08T02:56:57.203Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28236/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FieldRadioBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28236/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28236/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28236/v1/model.glb\" alt=\"Field Radio (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28236/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28236/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28237","slug":"battle-royale-town-and-airfield-cash-bundle-5547547f","title":"Cash Bundle (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a stack of five banded cash bundles with one dropped loose beside it.","description":"The cash a buy station takes: five banded bundles stacked and fanned, with a sixth dropped flat beside the stack. The notes are blank, with no lettering, portrait or currency mark. Dimensions 0.33 × 0.27 × 0.33 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-cash-bundle-5547547f","cdnUrl":"https://cdn.3dassets.dev/assets/28237/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-cash-bundle-5547547f","thumbnailUrl":"https://cdn.3dassets.dev/assets/28237/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28237/v1/poster.webp","blurhash":"U38qA]^c0103Me?ZIq9b00E9^j~9?v02-n?G","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":25364,"triangles":1188,"vertices":1012,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.16284856941024242,-0.0000018703247021134572,-0.16617542505264282],"max":[0.16284856941024242,0.2725854218006134,0.16617542505264282]},"sizeMeters":[0.326,0.273,0.332],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:57.011Z","updatedAt":"2026-09-08T02:56:57.130Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28237/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CashBundleBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28237/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28237/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28237/v1/model.glb\" alt=\"Cash Bundle (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28237/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28237/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28238","slug":"battle-royale-town-and-airfield-self-revive-kit-b7bf475a","title":"Self Revive Kit (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a small armoured self revive kit with a lit green cross, a gold status tab and a syringe stowed on the back.","description":"The self revive pickup: a small armoured case with a lit green cross on the face, a gold status tab on the lid and an auto injector clipped along the back. Dimensions 0.24 × 0.24 × 0.13 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-self-revive-kit-b7bf475a","cdnUrl":"https://cdn.3dassets.dev/assets/28238/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-self-revive-kit-b7bf475a","thumbnailUrl":"https://cdn.3dassets.dev/assets/28238/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28238/v1/poster.webp","blurhash":"U87_7k%f00Dk~ot74pM|MeV[kWo{Ipt6%1My","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":18424,"triangles":748,"vertices":634,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.12250000238418579,-0.0000037363887462477097,-0.06349786533174726],"max":[0.12250000238418579,0.23599844837316417,0.06350402987382234]},"sizeMeters":[0.245,0.236,0.127],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:57.071Z","updatedAt":"2026-09-08T02:56:57.184Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28238/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SelfReviveKitBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28238/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28238/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28238/v1/model.glb\" alt=\"Self Revive Kit (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28238/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28238/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28239","slug":"battle-royale-town-and-airfield-frag-grenade-958e9494","title":"Fragmentation Grenade (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a segmented fragmentation grenade lying on its side with a fuse assembly, a spoon and a pull ring.","description":"A throwable pickup: an olive grenade body with four raised bands, lying on its side with a machined fuse assembly, a folded spoon and a pull ring. The design is generic and copies no real munition. Dimensions 0.20 × 0.08 × 0.08 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-frag-grenade-958e9494","cdnUrl":"https://cdn.3dassets.dev/assets/28239/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-frag-grenade-958e9494","thumbnailUrl":"https://cdn.3dassets.dev/assets/28239/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28239/v1/poster.webp","blurhash":"U47K#T_J9FIX~o.6RiIV00RV-;R#009H%M%L","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"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":23056,"triangles":1216,"vertices":856,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10033956915140152,-4.994740566005573e-7,-0.04037751302886472],"max":[0.10033956915140152,0.08441831945086324,0.04037751302886472]},"sizeMeters":[0.201,0.084,0.081],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:57.116Z","updatedAt":"2026-09-08T02:56:57.220Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28239/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FragmentationGrenadeBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28239/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28239/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28239/v1/model.glb\" alt=\"Fragmentation Grenade (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28239/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28239/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28240","slug":"battle-royale-town-and-airfield-smoke-grenade-077c9fce","title":"Smoke Grenade (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a cylindrical smoke grenade lying on its side with an orange band, a spoon and a pull ring.","description":"The smoke variant of the throwable: a plain cylindrical body with an orange identification band, lying on its side with the fuse, spoon and pull ring toward the viewer. Dimensions 0.23 × 0.09 × 0.07 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-smoke-grenade-077c9fce","cdnUrl":"https://cdn.3dassets.dev/assets/28240/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-smoke-grenade-077c9fce","thumbnailUrl":"https://cdn.3dassets.dev/assets/28240/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28240/v1/poster.webp","blurhash":"U584oC~o4p8}_L_2fjIU00Ro?at24p4Uj[x[","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"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":14132,"triangles":564,"vertices":492,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.11342803388834,0.000001822314592780927,-0.03600217428158547],"max":[0.11342803388834,0.09183970401492458,0.03600217428158547]},"sizeMeters":[0.227,0.092,0.072],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:57.621Z","updatedAt":"2026-09-08T02:56:57.712Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28240/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SmokeGrenadeBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28240/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28240/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28240/v1/model.glb\" alt=\"Smoke Grenade (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28240/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28240/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28241","slug":"battle-royale-town-and-airfield-duffel-bag-0ce9ff41","title":"Loot Duffel Bag (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.78 m olive duffel bag with a zip, carry handles, a side pocket and a lit tag.","description":"A cached loot duffel: a soft olive holdall with a long zip, two carry handles, a webbing strap round the body, a side pocket and a lit purple tag. Dimensions 0.78 × 0.38 × 0.40 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-duffel-bag-0ce9ff41","cdnUrl":"https://cdn.3dassets.dev/assets/28241/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-duffel-bag-0ce9ff41","thumbnailUrl":"https://cdn.3dassets.dev/assets/28241/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28241/v1/poster.webp","blurhash":"U28z[Kx=00D*tQ?u?ZM|00t8~ot68|4V4oxs","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":26228,"triangles":1340,"vertices":956,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.38999998569488525,0.000024422830387449412,-0.20050476879226165],"max":[0.38999998569488525,0.3799960377593463,0.20050476879226165]},"sizeMeters":[0.78,0.38,0.401],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:58.214Z","updatedAt":"2026-09-08T02:56:58.342Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28241/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LootDuffelBagBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28241/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28241/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28241/v1/model.glb\" alt=\"Loot Duffel Bag (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28241/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28241/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28242","slug":"battle-royale-town-and-airfield-quad-bike-4677f8c0","title":"Quad Bike (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a two metre four wheel quad bike with knobbly tyres, a rear rack and a lit headlight pod. Animated wheel roll.","description":"A utility quad bike: a lofted olive plastic body over a tubular frame and engine block, with a fuel tank, a padded seat, front and rear cargo racks, handlebars with grips and levers, a lit headlight pod and four knobbly tyres on four spoke rims. Each wheel is its own node on its own axle. Dimensions 1.16 × 1.41 × 1.99 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips wheel-roll turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The frame, body, racks and handlebars are fixed; only the four wheels turn. The steering does not articulate.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-quad-bike-4677f8c0","cdnUrl":"https://cdn.3dassets.dev/assets/28242/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-quad-bike-4677f8c0","thumbnailUrl":"https://cdn.3dassets.dev/assets/28242/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28242/v1/poster.webp","blurhash":"U26t]%tm00vz~pE2M{^j004n_2_200%LxtE2","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":157656,"triangles":15232,"vertices":12449,"meshes":18,"materials":6,"textures":0,"animations":["wheel-roll"],"boundingBox":{"min":[-0.5800210491855191,-5.438923811329488e-9,-0.9950000051036477],"max":[0.5800210545499371,1.4065367262950876,0.9950000047683716]},"sizeMeters":[1.16,1.407,1.99],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:58.531Z","updatedAt":"2026-09-08T02:56:58.634Z","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/28242/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 QuadBikeBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28242/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/28242/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28242/v1/model.glb\" alt=\"Quad Bike (Battle Royale Town and Airfield)\" 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/28242/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/28242/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28243","slug":"battle-royale-town-and-airfield-suv-four-door-79414f02","title":"Four Door SUV (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a five metre four door SUV with a roof rack, a bull bar and four opening doors. Animated open, close and wheel roll.","description":"A four door utility SUV in olive drab: a lofted body with a crowned bonnet and chamfered flanks, a glazed cabin under a proud roof with a luggage rack, a bull bar and skid over the front bumper, side step bars, wing mirrors and heavy tyres on six spoke rims. All four doors and all four wheels are separate nodes. Dimensions 2.48 × 2.02 × 5.23 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close, wheel-roll turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The body, glazing, rack, bull bar and mirrors are fixed; the four doors swing and the four wheels turn. The steering and suspension do not articulate. No badge, grille pattern or lettering is taken from a real vehicle.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-suv-four-door-79414f02","cdnUrl":"https://cdn.3dassets.dev/assets/28243/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-suv-four-door-79414f02","thumbnailUrl":"https://cdn.3dassets.dev/assets/28243/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28243/v1/poster.webp","blurhash":"U27d:xoi00Dj~p4pRi%f00D%?w.700~nt9nh","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":302836,"triangles":22268,"vertices":17648,"meshes":24,"materials":7,"textures":0,"animations":["open","close","wheel-roll"],"boundingBox":{"min":[-1.2397259644063263,-1.788139358804841e-9,-2.615000009536743],"max":[1.2397259644063263,2.021962225085634,2.615000009536743]},"sizeMeters":[2.479,2.022,5.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:58.728Z","updatedAt":"2026-09-08T02:56:59.185Z","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/28243/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 FourDoorSUVBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28243/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/28243/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28243/v1/model.glb\" alt=\"Four Door SUV (Battle Royale Town and Airfield)\" 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/28243/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/28243/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28247","slug":"battle-royale-town-and-airfield-cargo-truck-canvas-328b1ef5","title":"Cargo Truck With Canvas Back (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: an eight metre six wheel cargo truck with a canvas tilt over hoops, two opening doors and rolling wheels.","description":"A six wheel military cargo truck: a ladder chassis under a lofted olive cab with a raked windscreen and a roof visor, a bonnet with a slatted grille, a timber bed with drop sides and a canvas tilt lofted over six steel hoops. Both cab doors and all six wheels are separate nodes. Dimensions 2.85 × 3.24 × 7.94 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close, wheel-roll turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The chassis, cab, bed, hoops and canvas are fixed; the two cab doors swing and the six wheels turn. The steering, suspension and tailgate do not articulate.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-cargo-truck-canvas-328b1ef5","cdnUrl":"https://cdn.3dassets.dev/assets/28247/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-cargo-truck-canvas-328b1ef5","thumbnailUrl":"https://cdn.3dassets.dev/assets/28247/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28247/v1/poster.webp","blurhash":"U36[Hj%g4os7?tD*IVxu00Dj-;tS4U_K.6Io","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":338100,"triangles":31584,"vertices":25915,"meshes":29,"materials":7,"textures":1,"animations":["open","close","wheel-roll"],"boundingBox":{"min":[-1.423195416451403,-1.96695327803198e-8,-3.9700000286102295],"max":[1.423195416451403,3.242219195277373,3.9700000286102295]},"sizeMeters":[2.846,3.242,7.94],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:59.208Z","updatedAt":"2026-09-08T02:56:59.388Z","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/28247/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 CargoTruckWithCanvasBackBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28247/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/28247/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28247/v1/model.glb\" alt=\"Cargo Truck With Canvas Back (Battle Royale Town and Airfield)\" 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/28247/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/28247/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28244","slug":"battle-royale-town-and-airfield-technical-pickup-56654094","title":"Technical Pickup (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 5.3 m weathered pickup with a pintle ring gun on the bed, two opening doors and rolling wheels.","description":"An improvised gun truck: a weathered pickup with a lofted body, a glazed crew cab, a roof light bar and a bull bar, its load bed carrying jerry cans and a pintle ring on four legs with an invented belt fed machine gun on it. The gun traverses on the ring, both doors swing and all four wheels turn. Dimensions 2.44 × 2.56 × 5.44 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close, gun-spin, wheel-roll turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The body, bed, ring and light bar are fixed; the gun traverses, the doors swing and the wheels turn. The gun does not elevate and the belt does not feed. The weapon is invented for this pack.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-technical-pickup-56654094","cdnUrl":"https://cdn.3dassets.dev/assets/28244/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-technical-pickup-56654094","thumbnailUrl":"https://cdn.3dassets.dev/assets/28244/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28244/v1/poster.webp","blurhash":"U28DkP=z00I.x^E1M{oz009Z~V-;nz~B%Mt6","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":331932,"triangles":27300,"vertices":21976,"meshes":27,"materials":8,"textures":0,"animations":["open","close","gun-spin","wheel-roll"],"boundingBox":{"min":[-1.2198184320392376,-1.2516975400611585e-8,-2.720013691816767],"max":[1.2198184320392376,2.561967537075679,2.7200000286102295]},"sizeMeters":[2.44,2.562,5.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:59.139Z","updatedAt":"2026-09-08T02:56:59.369Z","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/28244/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 TechnicalPickupBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28244/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/28244/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28244/v1/model.glb\" alt=\"Technical Pickup (Battle Royale Town and Airfield)\" 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/28244/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/28244/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28246","slug":"battle-royale-town-and-airfield-utility-helicopter-7a6086ac","title":"Light Utility Helicopter (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a nine metre light utility helicopter with a four blade main rotor, a tail rotor and two sliding cabin doors. Animated open, close and rotor spin.","description":"A light utility helicopter: a lofted olive fuselage with a glazed nose and cockpit doors, a tapered tail boom with a fin and stabilisers, an engine deck with an exhaust, tubular skids on four struts, a four blade main rotor on its mast and a two blade tail rotor on the fin. Both cabin doors slide rearward on their rails. Dimensions 9.23 × 3.45 × 11.43 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close, rotor-spin turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The airframe, skids and stabilisers are fixed; the two rotors turn and the two cabin doors slide. The blades do not flap or feather and the tail drive shaft is not modelled as a moving part.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-utility-helicopter-7a6086ac","cdnUrl":"https://cdn.3dassets.dev/assets/28246/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-utility-helicopter-7a6086ac","thumbnailUrl":"https://cdn.3dassets.dev/assets/28246/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28246/v1/poster.webp","blurhash":"U24.C.-:00Dj?ZoeIVoc00IU~p-:02WE?aV]","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":459164,"triangles":25792,"vertices":19347,"meshes":19,"materials":9,"textures":0,"animations":["open","close","rotor-spin"],"boundingBox":{"min":[-4.617180213626407,0.00007289072874017144,-5.715000154972076],"max":[4.617180213626407,3.450000141710043,5.715000350475312]},"sizeMeters":[9.234,3.45,11.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:00.169Z","updatedAt":"2026-09-08T02:57:00.280Z","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/28246/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 LightUtilityHelicopterBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28246/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/28246/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28246/v1/model.glb\" alt=\"Light Utility Helicopter (Battle Royale Town and Airfield)\" 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/28246/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/28246/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28245","slug":"battle-royale-town-and-airfield-operator-parachute-dro-5e3339fc","title":"Operator Dropping Under Canopy (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: an operator dropping under an open orange parachute, 9.6 m tall, for placing in mid air. Static posed figure, no rig or skeleton.","description":"The drop in pose that opens a battle royale match: a helmeted operator in a plate carrier and a large field pack, legs tucked and hands on the risers, hanging in a harness under a deployed orange canopy 6.2 m across on ten rigging lines. The origin sits under the boots at the bottom of the model, so raising it in a scene puts the figure at the height a developer wants and the canopy above it. Static posed figure, no rig or skeleton. Dimensions 6.21 × 9.57 × 6.31 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Nothing on this model moves: the figure is one posed mesh and the canopy, gores and rigging lines are rigid geometry, because a node transform cannot simulate fabric.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-operator-parachute-dro-5e3339fc","cdnUrl":"https://cdn.3dassets.dev/assets/28245/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-operator-parachute-dro-5e3339fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/28245/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28245/v1/poster.webp","blurhash":"UJ9i;is.0$Rk~9oe9vR*t6a#WCj?9wWD%0s-","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":459856,"triangles":15100,"vertices":10894,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-3.103168004596041,0,-3.157439947128296],"max":[3.103168004596041,9.568156242370605,3.157439947128296]},"sizeMeters":[6.206,9.568,6.315],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:59.146Z","updatedAt":"2026-09-08T02:56:59.332Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28245/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OperatorDroppingUnderCanopyBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28245/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28245/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28245/v1/model.glb\" alt=\"Operator Dropping Under Canopy (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28245/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28245/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28248","slug":"battle-royale-town-and-airfield-operator-landing-slide-2236dea3","title":"Operator Landing Slide (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: an operator landing in a one knee slide with a hand down and a carbine slung, kicking up dust. Static posed figure, no rig or skeleton.","description":"The landing pose at the end of a drop: a helmeted operator down on the trailing knee with the leading leg braced and the left hand planted on the ground, the head turned up and forward, a carbine slung across the back on a two point sling and a low plume of dust off the sliding boot. Static posed figure, no rig or skeleton. Dimensions 1.45 × 1.67 × 1.43 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Nothing on this model moves: the pose is baked into the geometry and there is no rig, skeleton or clip.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-operator-landing-slide-2236dea3","cdnUrl":"https://cdn.3dassets.dev/assets/28248/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-operator-landing-slide-2236dea3","thumbnailUrl":"https://cdn.3dassets.dev/assets/28248/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28248/v1/poster.webp","blurhash":"U35r6:xb00E0SvV[s=xu00Rj~p%2VyoyW,RP","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":491256,"triangles":17212,"vertices":12139,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-0.726533229321123,0.000012019940507826399,-0.7160841822624207],"max":[0.7265822805322609,1.6724016666412354,0.7160561063355346]},"sizeMeters":[1.453,1.672,1.432],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:56:59.452Z","updatedAt":"2026-09-08T02:56:59.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28248/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OperatorLandingSlideBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28248/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28248/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28248/v1/model.glb\" alt=\"Operator Landing Slide (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28248/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28248/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28249","slug":"battle-royale-town-and-airfield-operator-aiming-rifle-5c76fa65","title":"Operator Aiming A Rifle (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a helmeted operator standing and aiming a carbine, weight forward and shoulders squared. Static posed figure, no rig or skeleton.","description":"The standing aim: a helmeted operator in a plate carrier and assault pack, weight over the leading foot with the shoulders squared to the target, a carbine shouldered and held level between both fists on a two point sling. The weapon is an invented archetype and copies no real firearm. Static posed figure, no rig or skeleton. Dimensions 1.51 × 1.74 × 1.26 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Nothing on this model moves: the pose and the held weapon are one rigid assembly with no rig, skeleton or clip.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-operator-aiming-rifle-5c76fa65","cdnUrl":"https://cdn.3dassets.dev/assets/28249/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-operator-aiming-rifle-5c76fa65","thumbnailUrl":"https://cdn.3dassets.dev/assets/28249/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28249/v1/poster.webp","blurhash":"U24o7mtP00RS_Mof8{W-DkV[-:x@IVR%%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":292816,"triangles":16712,"vertices":11774,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.7546593618774217,0,-0.6298369958510293],"max":[0.7546905875205994,1.7398227677947524,0.6297751131521268]},"sizeMeters":[1.509,1.74,1.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:00.068Z","updatedAt":"2026-09-08T02:57:00.178Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28249/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OperatorAimingARifleBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28249/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28249/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28249/v1/model.glb\" alt=\"Operator Aiming A Rifle (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28249/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28249/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28250","slug":"battle-royale-town-and-airfield-operator-reviving-team-9b6308d3","title":"Operator Reviving A Teammate (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: an operator kneeling over a downed teammate with a medical kit open beside them. Two static posed figures in one model, no rig or skeleton.","description":"The revive: a helmeted operator down on one knee leaning over a downed teammate who is lying on their back with the arms out, an open field medical kit and a bandage roll on the ground between them. Both figures are part of the same model. Static posed figures, no rig or skeleton. Dimensions 1.96 × 1.80 × 1.97 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Nothing on this model moves: both figures and the medical kit are one rigid assembly with no rig, skeleton or clip.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-operator-reviving-team-9b6308d3","cdnUrl":"https://cdn.3dassets.dev/assets/28250/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-operator-reviving-team-9b6308d3","thumbnailUrl":"https://cdn.3dassets.dev/assets/28250/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28250/v1/poster.webp","blurhash":"U36RV{~p0001R%tPs:RR02nm?HRjt7IVRk.7","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":649684,"triangles":26236,"vertices":18636,"meshes":7,"materials":7,"textures":1,"animations":[],"boundingBox":{"min":[-0.9784588813781738,-7.594221478335328e-7,-0.9840676886493313],"max":[0.9784588813781738,1.8014652729034424,0.984092280572279]},"sizeMeters":[1.957,1.801,1.968],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:00.551Z","updatedAt":"2026-09-08T02:57:00.656Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28250/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OperatorRevivingATeammateBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28250/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28250/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28250/v1/model.glb\" alt=\"Operator Reviving A Teammate (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28250/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28250/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28252","slug":"battle-royale-town-and-airfield-windsock-pole-b2840d02","title":"Windsock On A Pole (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 5.9 m banded windsock mast with an orange and white sock on a swivel ring. Animated tilt.","description":"The wind indicator beside a runway: a banded steel mast on a concrete pad carrying a swivel ring and a tapered orange and white sock 2.3 m long. The sock swings about the mast on its own node. Dimensions 0.78 × 5.90 × 2.88 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips tilt turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The mast, pad and swivel ring are fixed and the sock is one rigid cone: it swings but it does not ripple.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-windsock-pole-b2840d02","cdnUrl":"https://cdn.3dassets.dev/assets/28252/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-windsock-pole-b2840d02","thumbnailUrl":"https://cdn.3dassets.dev/assets/28252/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28252/v1/poster.webp","blurhash":"U77dONWC01xa}?t75TMysAofN^RQWYRkWA%1","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":218668,"triangles":968,"vertices":1215,"meshes":5,"materials":4,"textures":1,"animations":["tilt"],"boundingBox":{"min":[-0.3880000114440918,0,-1.4413968509803647],"max":[0.3880000114440918,5.904531013965606,1.4413968509803647]},"sizeMeters":[0.776,5.905,2.883],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:01.051Z","updatedAt":"2026-09-08T02:57:01.156Z","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/28252/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 WindsockOnAPoleBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28252/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/28252/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28252/v1/model.glb\" alt=\"Windsock On A Pole (Battle Royale Town and Airfield)\" 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/28252/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/28252/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28253","slug":"battle-royale-town-and-airfield-runway-light-stalk-7383474e","title":"Runway Edge Light (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a one metre frangible runway edge light with an emissive amber lens on a concrete base.","description":"A frangible runway or taxiway edge light: a short gunmetal stalk on a concrete base with a junction box, carrying a domed emissive amber lens under a shade. Dimensions 0.34 × 0.95 × 0.34 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-runway-light-stalk-7383474e","cdnUrl":"https://cdn.3dassets.dev/assets/28253/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-runway-light-stalk-7383474e","thumbnailUrl":"https://cdn.3dassets.dev/assets/28253/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28253/v1/poster.webp","blurhash":"U784h~xu00IAW8WBbKs;%hogMwRi03WC~Tt5","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":205700,"triangles":620,"vertices":676,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.17000000178813934,0.0000018309571935062885,-0.17000000178813934],"max":[0.17000000178813934,0.9549999833106995,0.17000000178813934]},"sizeMeters":[0.34,0.955,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-08T02:57:01.075Z","updatedAt":"2026-09-08T02:57:01.184Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28253/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RunwayEdgeLightBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28253/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28253/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28253/v1/model.glb\" alt=\"Runway Edge Light (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28253/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28253/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28255","slug":"battle-royale-town-and-airfield-radar-dish-mast-8c1d7c10","title":"Radar Dish On A Mast (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 5.5 m braced lattice mast carrying a 2.6 m parabolic radar dish that turns on its bearing. Animated spin.","description":"The surveillance radar of a small airfield: a four leg braced lattice mast on a concrete pad, a bearing housing at the head and a 2.6 m parabolic dish with a feed horn on a boom and a counterweight box, turning on its own node. Dimensions 2.62 × 6.38 × 2.24 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips spin turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The mast, bracing and pad are fixed; only the dish head turns, and it does not tilt in elevation.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-radar-dish-mast-8c1d7c10","cdnUrl":"https://cdn.3dassets.dev/assets/28255/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-radar-dish-mast-8c1d7c10","thumbnailUrl":"https://cdn.3dassets.dev/assets/28255/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28255/v1/poster.webp","blurhash":"U38XC3%M00Dj^+t7E1M{00WB_3jt00M{~qxu","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":230112,"triangles":1884,"vertices":1585,"meshes":5,"materials":3,"textures":1,"animations":["spin"],"boundingBox":{"min":[-1.310375690460205,-0.000029300451305974695,-1.118943214416504],"max":[1.310375690460205,6.3839423206093295,1.1189432141583757]},"sizeMeters":[2.621,6.384,2.238],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:01.217Z","updatedAt":"2026-09-08T02:57:01.397Z","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/28255/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 RadarDishOnAMastBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28255/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/28255/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28255/v1/model.glb\" alt=\"Radar Dish On A Mast (Battle Royale Town and Airfield)\" 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/28255/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/28255/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28251","slug":"battle-royale-town-and-airfield-fuel-bowser-trailer-34d5a8ac","title":"Fuel Bowser Trailer (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 5.8 m towed fuel bowser with a yellow tank, a pump cabinet, a reeled hose and a jockey wheel.","description":"A towed refuelling bowser: a yellow cylindrical tank on a banded chassis with a filler hatch on top, a pump cabinet with lit gauges at the front, a delivery hose and nozzle hanging off the side, mudguards and a drawbar with a jockey wheel. Dimensions 2.22 × 2.64 × 5.25 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Static geometry: the wheels, hose and drawbar do not move.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-fuel-bowser-trailer-34d5a8ac","cdnUrl":"https://cdn.3dassets.dev/assets/28251/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-fuel-bowser-trailer-34d5a8ac","thumbnailUrl":"https://cdn.3dassets.dev/assets/28251/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28251/v1/poster.webp","blurhash":"UAAmeQNK03s:~lIqIWxs04Mz^}-n05xs?EbH","category":{"slug":"vehicles","title":"Vehicles"},"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":76964,"triangles":3896,"vertices":3057,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.1105565758126479,-0.00002522857951647861,-2.624985933303833],"max":[1.1106733703837388,2.636991262435913,2.624985933303833]},"sizeMeters":[2.221,2.637,5.25],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:01.026Z","updatedAt":"2026-09-08T02:57:01.115Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28251/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FuelBowserTrailerBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28251/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28251/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28251/v1/model.glb\" alt=\"Fuel Bowser Trailer (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28251/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28251/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28254","slug":"battle-royale-town-and-airfield-aircraft-tug-8e9cf281","title":"Aircraft Tug (Battle Royale Town and Airfield)","summary":"Free 3D game asset for an airfield: a 3.9 m low yellow aircraft tug with a roll frame, a beacon bar and a rear tow hitch.","description":"The low tug that moves aircraft on an apron: a lofted yellow body with a deck plate, a seat and a steering column, a roll frame carrying a beacon and light bar, a front tow arm with a ring and four solid tyres on steel rims. Dimensions 1.80 × 2.41 × 4.02 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Static geometry: the wheels, tow arm and steering do not move.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-aircraft-tug-8e9cf281","cdnUrl":"https://cdn.3dassets.dev/assets/28254/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-aircraft-tug-8e9cf281","thumbnailUrl":"https://cdn.3dassets.dev/assets/28254/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28254/v1/poster.webp","blurhash":"UECG6oD-04xsxsE2Rj?F0OV]xt?E~St69dah","category":{"slug":"vehicles","title":"Vehicles"},"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":72188,"triangles":3244,"vertices":2962,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.9000604257692907,-0.00003734544143751961,-2.0086326599121094],"max":[0.9000604257692907,2.409996524046152,2.0086326599121094]},"sizeMeters":[1.8,2.41,4.017],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:01.166Z","updatedAt":"2026-09-08T02:57:01.340Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28254/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AircraftTugBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28254/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28254/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28254/v1/model.glb\" alt=\"Aircraft Tug (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28254/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28254/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28256","slug":"battle-royale-town-and-airfield-tyre-stack-a43cb8b2","title":"Tyre Stack (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a stack of six worn tyres with a seventh leaning against it, 1.4 m tall.","description":"A stack of discarded truck tyres lying flat, each turned and jogged against the one below and carrying a moulded tread block pattern, with a seventh leaning on the pile. Dimensions 1.58 × 1.63 × 1.67 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-tyre-stack-a43cb8b2","cdnUrl":"https://cdn.3dassets.dev/assets/28256/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-tyre-stack-a43cb8b2","thumbnailUrl":"https://cdn.3dassets.dev/assets/28256/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28256/v1/poster.webp","blurhash":"U02Ykbxa00M{_3t7D$M{9FWB%Mofj[RjRjt8","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":214188,"triangles":11088,"vertices":9153,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.7922002981077032,-0.00005148457197323708,-0.833939254283905],"max":[0.7922002981077032,1.633621440397779,0.833939254283905]},"sizeMeters":[1.584,1.634,1.668],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:01.700Z","updatedAt":"2026-09-08T02:57:01.830Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28256/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TyreStackBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28256/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28256/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28256/v1/model.glb\" alt=\"Tyre Stack (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28256/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28256/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28257","slug":"battle-royale-town-and-airfield-sandbag-emplacement-a34c32a6","title":"Sandbag Emplacement (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 3.4 m sandbag emplacement of four courses with returns on both flanks and an ammunition box inside.","description":"A hasty sandbag position: four courses of filled bags laid in stretcher bond with a batter, returns down both flanks, a timber elbow board along the parapet and an ammunition box on the ground inside. Dimensions 4.07 × 1.22 × 2.67 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-sandbag-emplacement-a34c32a6","cdnUrl":"https://cdn.3dassets.dev/assets/28257/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-sandbag-emplacement-a34c32a6","thumbnailUrl":"https://cdn.3dassets.dev/assets/28257/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28257/v1/poster.webp","blurhash":"U28XLC%F00%2~U.6IpMe00og.6IV028}t5pI","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":222048,"triangles":10488,"vertices":7204,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.0336999893188477,-0.0000015193463521745443,-1.3330426456675988],"max":[2.0336999893188477,1.2199935878101156,1.3330426456675988]},"sizeMeters":[4.067,1.22,2.666],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:01.966Z","updatedAt":"2026-09-08T02:57:02.053Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28257/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SandbagEmplacementBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28257/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28257/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28257/v1/model.glb\" alt=\"Sandbag Emplacement (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28257/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28257/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28258","slug":"battle-royale-town-and-airfield-jersey-barrier-98fd4d40","title":"Concrete Jersey Barrier (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 2.4 m precast concrete jersey barrier with lifting eyes and hazard panels.","description":"A precast traffic barrier: a 2.4 m concrete section with the standard splayed profile, two lifting eyes on the top and a hazard panel on each end face. Dimensions 2.42 × 0.88 × 0.64 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-jersey-barrier-98fd4d40","cdnUrl":"https://cdn.3dassets.dev/assets/28258/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-jersey-barrier-98fd4d40","thumbnailUrl":"https://cdn.3dassets.dev/assets/28258/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28258/v1/poster.webp","blurhash":"U7DcO2_300%MIU~p-;9Z009F_3S4xu4oE1%2","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":205520,"triangles":644,"vertices":614,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.2120000123977661,0.00006401767502828282,-0.3219843167797648],"max":[1.2120000123977661,0.8777506586837169,0.3219843167797648]},"sizeMeters":[2.424,0.878,0.644],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:02.225Z","updatedAt":"2026-09-08T02:57:02.320Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28258/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ConcreteJerseyBarrierBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28258/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28258/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28258/v1/model.glb\" alt=\"Concrete Jersey Barrier (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28258/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28258/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28260","slug":"battle-royale-town-and-airfield-abandoned-sedan-096c9459","title":"Abandoned Sedan (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4.8 m grey saloon car left in the street with dirty glazing and a flat tyre.","description":"An ordinary saloon abandoned in the street: a lofted grey body with a crowned bonnet, chamfered flanks and a glazed cabin, on four road wheels with a settled rear tyre. The design is generic and carries no badge, grille pattern or lettering. Dimensions 2.14 × 1.49 × 4.76 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data. Static geometry: the doors, wheels and boot do not move.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-abandoned-sedan-096c9459","cdnUrl":"https://cdn.3dassets.dev/assets/28260/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-abandoned-sedan-096c9459","thumbnailUrl":"https://cdn.3dassets.dev/assets/28260/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28260/v1/poster.webp","blurhash":"U59tGntm00RP_3E1IU%200D%_N%200?a-;M{","category":{"slug":"vehicles","title":"Vehicles"},"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":366968,"triangles":8244,"vertices":7126,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-1.0723318970774216,-0.00002280829386958061,-2.380000114440918],"max":[1.0723318970774216,1.491350759194927,2.380000114440918]},"sizeMeters":[2.145,1.491,4.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:03.044Z","updatedAt":"2026-09-08T02:57:03.229Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28260/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AbandonedSedanBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28260/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28260/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28260/v1/model.glb\" alt=\"Abandoned Sedan (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28260/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28260/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28262","slug":"battle-royale-town-and-airfield-burnt-car-shell-129e9e0e","title":"Burnt Out Car Shell (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4.8 m burnt out car shell resting on blocks with no glazing and scorched panels.","description":"The gutted shell of the same saloon: scorched and rusted panels with every window gone, the bonnet buckled open, seat frames standing bare through the roof line, the wheels off and the hubs resting on concrete blocks, with charred debris scattered around it. Dimensions 3.68 × 2.52 × 4.60 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-burnt-car-shell-129e9e0e","cdnUrl":"https://cdn.3dassets.dev/assets/28262/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-burnt-car-shell-129e9e0e","thumbnailUrl":"https://cdn.3dassets.dev/assets/28262/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28262/v1/poster.webp","blurhash":"U58f[kNd02n$0fR*-os:03xF}?W;}@$*I;I:","category":{"slug":"vehicles","title":"Vehicles"},"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":323168,"triangles":6248,"vertices":5878,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.840379001732861,2.7612374209340373e-7,-2.299999952316284],"max":[1.840379001732861,2.5157458405144415,2.299999952316284]},"sizeMeters":[3.681,2.516,4.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:03.177Z","updatedAt":"2026-09-08T02:57:03.290Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28262/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BurntOutCarShellBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28262/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28262/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28262/v1/model.glb\" alt=\"Burnt Out Car Shell (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28262/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28262/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28259","slug":"battle-royale-town-and-airfield-dumpster-dfad923c","title":"Steel Dumpster (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 2.1 m steel dumpster on castors with a hinged plastic lid. Animated open and close.","description":"A commercial waste skip: a ribbed olive steel body with splayed sides on four castors, lifting pockets down each flank and a hinged plastic lid with two grab handles. Dimensions 2.06 × 1.28 × 1.53 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The body, pockets and castors are fixed; only the lid lifts.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-dumpster-dfad923c","cdnUrl":"https://cdn.3dassets.dev/assets/28259/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-dumpster-dfad923c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28259/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28259/v1/poster.webp","blurhash":"U584uR_29FIB03V[%e%L00IBM}WB~nocM|RQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":35312,"triangles":1424,"vertices":1357,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0299999713897705,-0.000040292962674048916,-0.7657028754466104],"max":[1.0299999713897705,1.2800007582688824,0.7657028754466104]},"sizeMeters":[2.06,1.28,1.531],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:02.869Z","updatedAt":"2026-09-08T02:57:02.960Z","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/28259/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 SteelDumpsterBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28259/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/28259/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28259/v1/model.glb\" alt=\"Steel Dumpster (Battle Royale Town and Airfield)\" 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/28259/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/28259/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28263","slug":"battle-royale-town-and-airfield-bus-shelter-df1a4894","title":"Bus Shelter (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 4 m glazed bus shelter with a bench, a lit roof strip and a lit advertising panel.","description":"A street bus shelter: four steel posts on pads carrying a shallow roof with a lit strip under it, glazed on the back and both ends, a slatted timber bench on brackets and a lit blank advertising panel at one end. Dimensions 4.04 × 2.65 × 2.11 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-bus-shelter-df1a4894","cdnUrl":"https://cdn.3dassets.dev/assets/28263/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-bus-shelter-df1a4894","thumbnailUrl":"https://cdn.3dassets.dev/assets/28263/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28263/v1/poster.webp","blurhash":"UAAdAm-:4noz~q-;D%IBD$ofxuM{IA$%%MNG","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":279468,"triangles":2268,"vertices":1951,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-2.0199999809265137,-0.000048921677180624457,-1.054853415534309],"max":[2.0199999809265137,2.6500490177151645,1.054998126764899]},"sizeMeters":[4.04,2.65,2.11],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:03.213Z","updatedAt":"2026-09-08T02:57:03.322Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28263/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BusShelterBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28263/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28263/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28263/v1/model.glb\" alt=\"Bus Shelter (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28263/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28263/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28261","slug":"battle-royale-town-and-airfield-street-lamp-d6bcc658","title":"Street Lamp (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 7 m street lamp on a tapered column with a curved arm and an emissive lantern.","description":"A road lighting column: a tapered gunmetal shaft on a concrete base with an access door at the foot, a curved arm reaching 1.9 m out and a flat lantern with an emissive amber lens. Dimensions 0.39 × 7.08 × 2.54 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-street-lamp-d6bcc658","cdnUrl":"https://cdn.3dassets.dev/assets/28261/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-street-lamp-d6bcc658","thumbnailUrl":"https://cdn.3dassets.dev/assets/28261/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28261/v1/poster.webp","blurhash":"U02FiHi|00X%-X-;E100~qnm00XMxvofM_RP","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":205696,"triangles":828,"vertices":647,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.19499495282333087,0.0000058104373837630785,-1.2703627347946167],"max":[0.19499495282333087,7.080327987670898,1.2703435049240874]},"sizeMeters":[0.39,7.08,2.541],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:03.160Z","updatedAt":"2026-09-08T02:57:03.283Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28261/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StreetLampBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28261/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28261/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28261/v1/model.glb\" alt=\"Street Lamp (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28261/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28261/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28264","slug":"battle-royale-town-and-airfield-road-sign-post-c45b9b7c","title":"Road Sign Post (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 3.8 m twin post road sign with a blank main board, a yellow strip and a warning triangle.","description":"A roadside sign assembly: two steel posts on a concrete foot carrying a blank rectangular board with a lighter face panel, a yellow strip sign below and a hazard triangle above. Every face is blank: no lettering, symbol or place name. Dimensions 1.49 × 3.30 × 0.32 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-road-sign-post-c45b9b7c","cdnUrl":"https://cdn.3dassets.dev/assets/28264/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-road-sign-post-c45b9b7c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28264/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28264/v1/poster.webp","blurhash":"U48W~l%g004n~Vo}4:VYNObIs$n#0MjY^*XS","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":202420,"triangles":592,"vertices":552,"meshes":6,"materials":6,"textures":1,"animations":[],"boundingBox":{"min":[-0.7450000047683716,0,-0.16006836457659532],"max":[0.7450000047683716,3.299999952316284,0.16006836457659532]},"sizeMeters":[1.49,3.3,0.32],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:03.516Z","updatedAt":"2026-09-08T02:57:03.688Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28264/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoadSignPostBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28264/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28264/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28264/v1/model.glb\" alt=\"Road Sign Post (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28264/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28264/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28265","slug":"battle-royale-town-and-airfield-oil-drum-705c533c","title":"Oil Drum (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a 0.88 m rusted 200 litre oil drum with rolling hoops, a bung and a blank hazard label.","description":"A rusted 200 litre steel drum: a rolled body with three swaged hoops, a bung on the head and a blank orange hazard label on the side. Dimensions 0.65 × 0.91 × 0.64 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-oil-drum-705c533c","cdnUrl":"https://cdn.3dassets.dev/assets/28265/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-oil-drum-705c533c","thumbnailUrl":"https://cdn.3dassets.dev/assets/28265/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28265/v1/poster.webp","blurhash":"U5BL-C~8000h}@W.9[s:059d=_^NRjjHX9W;","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":25080,"triangles":1284,"vertices":911,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3240211170528153,0,-0.3216577636918001],"max":[0.3240211170528153,0.9099983329930383,0.3216577636918001]},"sizeMeters":[0.648,0.91,0.643],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:03.646Z","updatedAt":"2026-09-08T02:57:03.854Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28265/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OilDrumBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28265/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28265/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28265/v1/model.glb\" alt=\"Oil Drum (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28265/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28265/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28266","slug":"battle-royale-town-and-airfield-pallet-stack-189e9089","title":"Pallet Stack (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale: a stack of five timber pallets under a strapped olive cover, 0.9 m tall.","description":"Five stringer pallets stacked and jogged against each other, each with three bearers, three bottom boards and six deck boards, under a strapped olive cover sheet. Dimensions 1.31 × 0.89 × 1.27 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-pallet-stack-189e9089","cdnUrl":"https://cdn.3dassets.dev/assets/28266/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-pallet-stack-189e9089","thumbnailUrl":"https://cdn.3dassets.dev/assets/28266/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28266/v1/poster.webp","blurhash":"U99Zy5%04oNa?[W;Mesm0zR*t7W;DPaetkW;","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":197600,"triangles":6588,"vertices":5749,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.6535453796386719,-0.00003856607696689496,-0.633449272132136],"max":[0.6535453796386719,0.8900061058733255,0.633449272132136]},"sizeMeters":[1.307,0.89,1.267],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:04.277Z","updatedAt":"2026-09-08T02:57:04.378Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28266/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PalletStackBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28266/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28266/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28266/v1/model.glb\" alt=\"Pallet Stack (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28266/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28266/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28267","slug":"battle-royale-town-and-airfield-traffic-cone-72e6f7fb","title":"Traffic Cone (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 0.75 m orange traffic cone with a reflective band on a square base.","description":"A standard road cone: a hollow orange cone with a white reflective band, a moulded lifting rim at the tip and a square weighted base. Dimensions 0.36 × 0.73 × 0.36 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Static geometry; no rig, animation, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-traffic-cone-72e6f7fb","cdnUrl":"https://cdn.3dassets.dev/assets/28267/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-traffic-cone-72e6f7fb","thumbnailUrl":"https://cdn.3dassets.dev/assets/28267/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28267/v1/poster.webp","blurhash":"U5Ch+T^O000N04J8~9$%56ae^kt6=rjYOFof","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":201376,"triangles":628,"vertices":491,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.17997696344822234,-8.940696516468449e-10,-0.17997696344822234],"max":[0.17997696344822234,0.7300000190734863,0.17997696344822234]},"sizeMeters":[0.36,0.73,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-08T02:57:04.511Z","updatedAt":"2026-09-08T02:57:04.710Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28267/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TrafficConeBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28267/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28267/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28267/v1/model.glb\" alt=\"Traffic Cone (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28267/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28267/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"28268","slug":"battle-royale-town-and-airfield-wheelie-bin-4c370728","title":"Wheelie Bin (Battle Royale Town and Airfield)","summary":"Free 3D game asset for a battle royale town: a 1.1 m two wheel refuse bin with a hinged lid and a grab bar. Animated open and close.","description":"A domestic two wheel refuse bin: a ribbed olive body on two rubber wheels with a lifting comb across the front and a hinged lid with a grab lip. Dimensions 0.78 × 1.13 × 0.70 m (X × Y × Z). Metre units, +Y up, +Z front; origin on the ground at the footprint centre unless stated. Overcast realism: weathered concrete and faded brick, olive drab, gunmetal and machined steel, with hazard orange and safety yellow accents and emissive loot glows in the grey, green, blue, purple and gold rarity ladder. Rigid node-transform clips open, close turn named parts on their own pivots. No skinning, no skeleton, no collision or navigation data. The body and wheels are fixed; only the lid lifts.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-wheelie-bin-4c370728","cdnUrl":"https://cdn.3dassets.dev/assets/28268/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-wheelie-bin-4c370728","thumbnailUrl":"https://cdn.3dassets.dev/assets/28268/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28268/v1/poster.webp","blurhash":"U27d?%~p000102af_1-.00Dk_1-:_KIp8}IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"},{"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":20876,"triangles":788,"vertices":786,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.38999998569488525,0,-0.3522168107583874],"max":[0.38999998569488525,1.1299893001477972,0.3522168107583874]},"sizeMeters":[0.78,1.13,0.704],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-08T02:57:04.833Z","updatedAt":"2026-09-08T02:57:05.038Z","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/28268/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 WheelieBinBattleRoyaleTownAndAirfield(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/28268/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/28268/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28268/v1/model.glb\" alt=\"Wheelie Bin (Battle Royale Town and Airfield)\" 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/28268/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/28268/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"28276","slug":"battle-royale-town-and-airfield-first-ci-310e2e00-starter-scene","title":"First circle town edge (Battle Royale Town and Airfield)","summary":"A free modern military battle royale scene, 72 m across and 33 m deep, set on the first circle boundary where an abandoned town edge meets a small airfield. Two buildings stand on the left, both closed on all four sides and roofed with a parapet: a two storey block with shop...","description":"A free modern military battle royale scene, 72 m across and 33 m deep, set on the first circle boundary where an abandoned town edge meets a small airfield. Two buildings stand on the left, both closed on all four sides and roofed with a parapet: a two storey block with shop bays and awnings on the street, boarded windows and a balcony above, carrying air handling units and a stair head hut on its roof, and a three storey block with a blast hole through one flank and a water tank on top. Between them the fuel station canopy shelters two pump islands, with a buy station and a wrecked pickup carrying a ring mounted gun in the forecourt. The road runs east past a saloon abandoned across the kerb, a burnt out shell, an SUV, jersey barriers, a bus shelter, lamps, signs, bins and a dumpster. Beyond the chain link fence and its open gate is the airfield: the control tower with its glazed cab, a three bay arched hangar with the sliding doors on its end wall, a helicopter on the apron with a tug and a fuel bowser, blast walls along the road, a windsock, a radar dish and a runway with lit edges where a supply drop has landed and spilled its parachute. Weapon spawns of every rarity sit on the shop floor, on the rooftop, inside the hangar and out on the runway, with crates, an ammunition box, packs and a medical kit around them. Four operators are in play: one dropping under a canopy over the tower, one sliding in on the road, one aiming from the rooftop parapet and one reviving a downed teammate behind the sandbags. Static layout: the models keep their own clips, the scene adds none.","status":"published","url":"https://3dassets.dev/assets/battle-royale-town-and-airfield-first-ci-310e2e00-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/28276/v1/model.glb","downloadUrl":"https://3dassets.dev/download/battle-royale-town-and-airfield-first-ci-310e2e00-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/28276/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/28276/v1/poster.webp","blurhash":"U79QaHIA00OD4n-;%MD%00Wq^*-p~p9FM{-;","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":7831092,"triangles":470530,"vertices":368102,"meshes":459,"materials":16,"textures":2,"animations":[],"boundingBox":{"min":[-34,-0.2501409949177327,-2],"max":[38.310375690460205,22.068156242370605,30.679978658815514]},"sizeMeters":[72.31,22.318,32.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_materials_transmission","KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":1,"publishedAt":"2026-09-08T02:57:07.883Z","updatedAt":"2026-09-08T04:08:16.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/28276/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FirstCircleTownEdgeBattleRoyaleTownAndAirfield(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/28276/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/28276/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/28276/v1/model.glb\" alt=\"First circle town edge (Battle Royale Town and Airfield)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/28276/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/28276/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}