{"data":{"id":"33088","slug":"mega-weapon-pack-armoury-ceiling-panel-d43dc71f","title":"Armoury Ceiling Panel (Mega Weapon Pack)","summary":"A two metre concrete ceiling panel with a downstand beam on each edge, a lit fluorescent batten across the middle and two duct stubs, so an armoury can be roofed and still read from above. Premium modern game asset for shooter and survival projects.","description":"A two metre concrete ceiling panel with a downstand beam on each edge, a lit fluorescent batten across the middle and two duct stubs, so an armoury can be roofed and still read from above. Dimensions 2.000 x 0.240 x 2.000 m (X x Y x Z). Modular piece: the origin is the centre of the two metre grid square at the ceiling soffit, and the panel hangs below it; metre units, +Y up, muzzle and point toward +Z. Connectors: n grid at (0, 0.14, 1) facing +Z; s grid at (0, 0.14, -1) facing -Z; e grid at (1, 0.14, 0) facing +X; w grid at (-1, 0.14, 0) facing -X. Static modular piece. The ports are grid edges on the two metre module, not weapon sockets. Static geometry: no rig or animation. Blued gunmetal, bright machined steel, dark anodised alloy, black and dark earth polymer, rubber, walnut, brass, copper, leather, olive paint, optical glass, concrete and emissive red, green and warm white for reticles, lasers, tritium and lamps. Physically based flat colours with no texture maps. Original invented design: no real make, model, manufacturer or marking is represented. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/mega-weapon-pack-armoury-ceiling-panel-d43dc71f","cdnUrl":"https://cdn.3dassets.dev/assets/33088/v1/model.glb","downloadUrl":"https://3dassets.dev/download/mega-weapon-pack-armoury-ceiling-panel-d43dc71f","thumbnailUrl":"https://cdn.3dassets.dev/assets/33088/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/33088/v1/poster.webp","blurhash":"U6Dl{2_300M{_2WBM{xt009F~qWB00xut7IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21872,"triangles":1020,"vertices":806,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.0000012180581700216297,-1],"max":[1,0.23999877657741195,1]},"sizeMeters":[2,0.24,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T16:49:10.295Z","updatedAt":"2026-09-08T16:49:10.416Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/33088/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArmouryCeilingPanelMegaWeaponPack(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/33088/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/33088/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/33088/v1/model.glb\" alt=\"Armoury Ceiling Panel (Mega Weapon Pack)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/33088/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/33088/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}}