{"data":{"id":110,"slug":"martial-arts-dojo-and-fight-stages","title":"Martial Arts Dojo and Fight Stages","summary":"Low-poly rings and cages, gym and dojo training equipment, dojo architecture, fight-stage backdrops and broadcast kit.","description":"Martial arts dojo and fight stages in the dojo low-poly family. A boxing and wrestling ring, chaining octagonal cage panels, tatami tiles and a raised stage; twenty-two pieces of training equipment from heavy bags to kettlebells; modular dojo wall bays on a 3.0 m grid with a shrine, mirror and sliding doors; twelve shallow backdrop sets from a street corner to a rooftop helipad; and ten broadcast and event props. All banners and boards are blank. Two composed demonstrations. Static CC0 geometry prepared for human review; no rigs or animation.","url":"https://3dassets.dev/packs/martial-arts-dojo-and-fight-stages","coverUrl":"https://cdn.3dassets.dev/assets/18095/v1/poster.webp","assetCount":69,"aiGenerated":true,"aiGeneratedAssetCount":69,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":3187640,"totalTriangles":66344,"starterScene":{"id":"18095","slug":"martial-arts-dojo-and-fight-stages-fight-394bf497-starter-scene","title":"Fight Night Stage (Martial Arts Dojo and Fight Stages)","summary":"Composed example for Martial Arts Dojo and Fight Stages.","description":"Fight night demonstration: a boxing ring on a raised stage with an entrance ramp and apron skirts, corner stools, crowd blocks and stand blocks either side, spotlight rigs, a scoreboard, commentary desk, camera crane and podium. Static layout of pack instances; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-fight-394bf497-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/18095/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-fight-394bf497-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/18095/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18095/v1/poster.webp","blurhash":"U78z_j%M00o~tSV@s:tR00IT~qr=MckXNGR4","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":620492,"triangles":14920,"vertices":31835,"meshes":48,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-11.62735524673482,-0.00008848991931609262,-15.34987635831337],"max":[11.62735524673482,3.759999990463257,10.399999952316284]},"sizeMeters":[23.255,3.76,25.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:38.987Z","updatedAt":"2026-09-07T16:39:39.072Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18095/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FightNightStageMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18095/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18095/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18095/v1/model.glb\" alt=\"Fight Night Stage (Martial Arts Dojo and Fight Stages)\" 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/18095/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/18095/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"18032","slug":"martial-arts-dojo-and-fight-stages-boxing-ring-448b582b","title":"Boxing Ring (Martial Arts Dojo and Fight Stages)","summary":"Raised boxing ring with canvas, four posts and three rope runs.","description":"Boxing ring 7.1 m square: a 0.55 m raised platform under canvas, four steel corner posts and three rope runs with padded corner covers. Dimensions 7.10 x 2.30 x 7.10 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-boxing-ring-448b582b","cdnUrl":"https://cdn.3dassets.dev/assets/18032/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-boxing-ring-448b582b","thumbnailUrl":"https://cdn.3dassets.dev/assets/18032/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18032/v1/poster.webp","blurhash":"UDECtWxu00oJ%MazRPj[00NG_NR*9FoextWA","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":28276,"triangles":504,"vertices":1512,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-3.549999952316284,-0.00018539028830294457,-3.549999952316284],"max":[3.549999952316284,2.29979791019886,3.549999952316284]},"sizeMeters":[7.1,2.3,7.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:18.466Z","updatedAt":"2026-09-07T16:39:18.559Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18032/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoxingRingMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18032/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18032/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18032/v1/model.glb\" alt=\"Boxing Ring (Martial Arts Dojo and Fight Stages)\" 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/18032/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/18032/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18034","slug":"martial-arts-dojo-and-fight-stages-wrestling-ring-00aa5933","title":"Wrestling Ring (Martial Arts Dojo and Fight Stages)","summary":"Higher wrestling ring with a padded mat and taller corner posts.","description":"Wrestling ring 7.1 m square on a 0.89 m platform with a padded blue mat, taller corner posts and three rope runs. Dimensions 7.10 x 2.74 x 7.10 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data. Functional variant of boxing-ring.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-wrestling-ring-00aa5933","cdnUrl":"https://cdn.3dassets.dev/assets/18034/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-wrestling-ring-00aa5933","thumbnailUrl":"https://cdn.3dassets.dev/assets/18034/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18034/v1/poster.webp","blurhash":"U8BgJKtR00t7_3WBIUt700Ri*0Rj00ogx[M{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":21472,"triangles":376,"vertices":1128,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-3.549999952316284,-0.0000636322667055822,-3.549999952316284],"max":[3.549999952316284,2.740134456778197,3.549999952316284]},"sizeMeters":[7.1,2.74,7.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.503Z","updatedAt":"2026-09-07T16:39:17.614Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18034/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WrestlingRingMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18034/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18034/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18034/v1/model.glb\" alt=\"Wrestling Ring (Martial Arts Dojo and Fight Stages)\" 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/18034/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/18034/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18029","slug":"martial-arts-dojo-and-fight-stages-cage-panel-31570654","title":"Octagonal Cage Panel (Martial Arts Dojo and Fight Stages)","summary":"Chain-link cage panel with padded posts, chaining into an octagon.","description":"Cage panel 1.6 m wide and 2.36 m tall: padded steel posts carrying a chrome mesh infill; eight panels form an octagonal cage. Dimensions 1.76 x 2.31 x 0.20 m (X x Y x Z). Modular cage bay: origin centred at floor level, 1.6 m between post centres; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-cage-panel-31570654","cdnUrl":"https://cdn.3dassets.dev/assets/18029/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-cage-panel-31570654","thumbnailUrl":"https://cdn.3dassets.dev/assets/18029/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18029/v1/poster.webp","blurhash":"U58#KV_400D%.8-=WBDhDNtM%LMy%3yEaeI9","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"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":25456,"triangles":480,"vertices":1440,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8799854491625546,0,-0.09995422016353003],"max":[0.8799854491625546,2.315000057220459,0.09995422016353003]},"sizeMeters":[1.76,2.315,0.2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.395Z","updatedAt":"2026-09-07T16:39:17.516Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18029/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OctagonalCagePanelMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18029/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18029/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18029/v1/model.glb\" alt=\"Octagonal Cage Panel (Martial Arts Dojo and Fight Stages)\" 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/18029/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/18029/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18031","slug":"martial-arts-dojo-and-fight-stages-dojo-mat-tile-c007736e","title":"Dojo Mat Tile (Martial Arts Dojo and Fight Stages)","summary":"Two-metre tatami mat tile with bound edges.","description":"Tatami mat tile 2.0 m square and 0.06 m thick with dark bound edges; tiles edge to edge on a 2.0 m grid. Dimensions 2.00 x 0.06 x 2.00 m (X x Y x Z). Mat tile: origin centred, tiles on a 2.0 m grid; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-mat-tile-c007736e","cdnUrl":"https://cdn.3dassets.dev/assets/18031/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-mat-tile-c007736e","thumbnailUrl":"https://cdn.3dassets.dev/assets/18031/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18031/v1/poster.webp","blurhash":"UADSzLxZ00ah%MofRjWB00R*~qWU9FV@t7oN","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5120,"triangles":72,"vertices":216,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0011999607086182,-0.000006806134252627938,-1],"max":[1,0.06200680512097367,1.0011999607086182]},"sizeMeters":[2.001,0.062,2.001],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.425Z","updatedAt":"2026-09-07T16:39:17.537Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18031/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoMatTileMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18031/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18031/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18031/v1/model.glb\" alt=\"Dojo Mat Tile (Martial Arts Dojo and Fight Stages)\" 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/18031/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/18031/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18030","slug":"martial-arts-dojo-and-fight-stages-platform-stage-d699f133","title":"Raised Platform Stage (Martial Arts Dojo and Fight Stages)","summary":"Eight-metre raised stage deck with skirted sides.","description":"Raised platform stage 8.0 m square and 0.95 m tall with a vinyl deck and skirted sides, for a ring or cage. Dimensions 8.06 x 0.95 x 8.06 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-platform-stage-d699f133","cdnUrl":"https://cdn.3dassets.dev/assets/18030/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-platform-stage-d699f133","thumbnailUrl":"https://cdn.3dassets.dev/assets/18030/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18030/v1/poster.webp","blurhash":"U5ATp4-;00M{?vWUIUs;00IU_4bG00t7xuM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5168,"triangles":72,"vertices":216,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-4.03000020980835,0.00018236001504801091,-4.03000020980835],"max":[4.03000020980835,0.9498912173003267,4.03000020980835]},"sizeMeters":[8.06,0.95,8.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.410Z","updatedAt":"2026-09-07T16:39:17.524Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18030/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RaisedPlatformStageMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18030/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18030/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18030/v1/model.glb\" alt=\"Raised Platform Stage (Martial Arts Dojo and Fight Stages)\" 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/18030/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/18030/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18033","slug":"martial-arts-dojo-and-fight-stages-entrance-ramp-a7ca4ee2","title":"Entrance Ramp (Martial Arts Dojo and Fight Stages)","summary":"Ramped walkway with handrails running up to a stage deck.","description":"Entrance ramp 2.4 m wide and 5.6 m long rising 0.95 m to a stage deck, with chrome handrails. Dimensions 5.67 x 1.95 x 5.60 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-entrance-ramp-a7ca4ee2","cdnUrl":"https://cdn.3dassets.dev/assets/18033/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-entrance-ramp-a7ca4ee2","thumbnailUrl":"https://cdn.3dassets.dev/assets/18033/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18033/v1/poster.webp","blurhash":"U67USP%N00IoWTWAjZkD00M__4t6o4kDbbn$","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":20672,"triangles":380,"vertices":1140,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.8350000381469727,0.0001929766033029745,-2.799999952316284],"max":[2.8350000381469727,1.9540900083061894,2.799999952316284]},"sizeMeters":[5.67,1.954,5.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.486Z","updatedAt":"2026-09-07T16:39:17.598Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18033/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EntranceRampMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18033/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18033/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18033/v1/model.glb\" alt=\"Entrance Ramp (Martial Arts Dojo and Fight Stages)\" 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/18033/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/18033/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18036","slug":"martial-arts-dojo-and-fight-stages-apron-skirt-30ae3ba4","title":"Apron Skirt (Martial Arts Dojo and Fight Stages)","summary":"Plain skirt panel that clads the side of a ring platform.","description":"Apron skirt panel 3.0 m wide and 0.55 m tall in plain blue with a white band; runs along a ring or stage edge. Dimensions 3.00 x 0.55 x 0.09 m (X x Y x Z). Modular skirt: origin centred at floor level, 3.0 m per panel; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-apron-skirt-30ae3ba4","cdnUrl":"https://cdn.3dassets.dev/assets/18036/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-apron-skirt-30ae3ba4","thumbnailUrl":"https://cdn.3dassets.dev/assets/18036/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18036/v1/poster.webp","blurhash":"UBA-3atRITxu_3_4a}Rj00-;?cM|4n4T-;x^","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"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":3312,"triangles":36,"vertices":108,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5011999607086182,-0.00003280143722222961,-0.03504532021008927],"max":[1.5011999607086182,0.551189309032624,0.055045319763054434]},"sizeMeters":[3.002,0.551,0.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.587Z","updatedAt":"2026-09-07T16:39:17.705Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18036/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApronSkirtMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18036/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18036/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18036/v1/model.glb\" alt=\"Apron Skirt (Martial Arts Dojo and Fight Stages)\" 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/18036/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/18036/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18035","slug":"martial-arts-dojo-and-fight-stages-corner-stool-2d5245cb","title":"Corner Stool (Martial Arts Dojo and Fight Stages)","summary":"Folding corner stool with a padded top.","description":"Corner stool 0.42 m wide and 0.51 m tall on a chrome frame with a padded seat, used in a ring corner. Dimensions 0.42 x 0.56 x 0.34 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-corner-stool-2d5245cb","cdnUrl":"https://cdn.3dassets.dev/assets/18035/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-corner-stool-2d5245cb","thumbnailUrl":"https://cdn.3dassets.dev/assets/18035/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18035/v1/poster.webp","blurhash":"U69%u7t600t7~W%LIUIU0Lodskoz58Rj-oxu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":8964,"triangles":144,"vertices":432,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.20999999344348907,0,-0.17000853987473477],"max":[0.20999999344348907,0.5600007597589987,0.17000853987473477]},"sizeMeters":[0.42,0.56,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:17.551Z","updatedAt":"2026-09-07T16:39:17.662Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18035/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CornerStoolMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18035/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18035/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18035/v1/model.glb\" alt=\"Corner Stool (Martial Arts Dojo and Fight Stages)\" 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/18035/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/18035/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18037","slug":"martial-arts-dojo-and-fight-stages-heavy-bag-ff4eb348","title":"Heavy Bag (Martial Arts Dojo and Fight Stages)","summary":"Hanging heavy bag on a ceiling plate and chains.","description":"Heavy bag 0.47 m across and 1.20 m long hung from a ceiling plate at 2.65 m on four chains, with two leather bands. Dimensions 0.62 x 1.69 x 0.62 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-heavy-bag-ff4eb348","cdnUrl":"https://cdn.3dassets.dev/assets/18037/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-heavy-bag-ff4eb348","thumbnailUrl":"https://cdn.3dassets.dev/assets/18037/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18037/v1/poster.webp","blurhash":"U55}jmjY00oz?dofD#R*g5ofr;Rj%NayM_oe","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":31908,"triangles":600,"vertices":1800,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3100000023841858,0,-0.3100000023841858],"max":[0.3100000023841858,1.6900142127569606,0.3100000023841858]},"sizeMeters":[0.62,1.69,0.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.130Z","updatedAt":"2026-09-07T16:39:19.228Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18037/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeavyBagMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18037/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18037/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18037/v1/model.glb\" alt=\"Heavy Bag (Martial Arts Dojo and Fight Stages)\" 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/18037/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/18037/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18039","slug":"martial-arts-dojo-and-fight-stages-speed-bag-f774d211","title":"Speed Bag (Martial Arts Dojo and Fight Stages)","summary":"Small speed bag under a timber rebound platform.","description":"Speed bag rig: a 0.86 m timber rebound platform at 1.94 m with a leather bag on a swivel below. Dimensions 0.88 x 0.75 x 0.86 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-speed-bag-f774d211","cdnUrl":"https://cdn.3dassets.dev/assets/18039/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-speed-bag-f774d211","thumbnailUrl":"https://cdn.3dassets.dev/assets/18039/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18039/v1/poster.webp","blurhash":"USCimss;4:R*~VofIVayWWa{n%jtD*a{kAWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":16240,"triangles":288,"vertices":864,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4399999976158142,0,-0.4289889194565391],"max":[0.4399999976158142,0.7499763420593547,0.4289889194565391]},"sizeMeters":[0.88,0.75,0.858],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.155Z","updatedAt":"2026-09-07T16:39:19.286Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18039/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpeedBagMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18039/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18039/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18039/v1/model.glb\" alt=\"Speed Bag (Martial Arts Dojo and Fight Stages)\" 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/18039/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/18039/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18038","slug":"martial-arts-dojo-and-fight-stages-double-end-bag-ec3ab5bc","title":"Double-End Bag (Martial Arts Dojo and Fight Stages)","summary":"Small bag tethered top and bottom for timing work.","description":"Double-end bag 0.34 m across, tethered between a ceiling plate at 2.35 m and a weighted floor anchor. Dimensions 0.33 x 2.35 x 0.32 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-double-end-bag-ec3ab5bc","cdnUrl":"https://cdn.3dassets.dev/assets/18038/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-double-end-bag-ec3ab5bc","thumbnailUrl":"https://cdn.3dassets.dev/assets/18038/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18038/v1/poster.webp","blurhash":"U37dqO%M004n-=oeD~WC0MRj~BxuOFa#wcoc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":15516,"triangles":272,"vertices":816,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.16573900362721083,0,-0.1576210802084621],"max":[0.16573900362721083,2.3499999046325684,0.1576210802084621]},"sizeMeters":[0.331,2.35,0.315],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.157Z","updatedAt":"2026-09-07T16:39:19.288Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18038/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DoubleEndBagMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18038/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18038/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18038/v1/model.glb\" alt=\"Double-End Bag (Martial Arts Dojo and Fight Stages)\" 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/18038/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/18038/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18041","slug":"martial-arts-dojo-and-fight-stages-wooden-dummy-041f850b","title":"Wooden Dummy (Martial Arts Dojo and Fight Stages)","summary":"Wing chun wooden dummy with three arms and a leg.","description":"Wooden dummy 1.95 m tall on a weighted base: a timber trunk with two upper arms, one lower arm and an angled leg. Dimensions 0.74 x 1.95 x 0.76 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-wooden-dummy-041f850b","cdnUrl":"https://cdn.3dassets.dev/assets/18041/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-wooden-dummy-041f850b","thumbnailUrl":"https://cdn.3dassets.dev/assets/18041/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18041/v1/poster.webp","blurhash":"U3AA5R~B0000J5S0rww~01s:~oNG57tR-pIA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11952,"triangles":212,"vertices":636,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.37003798603513116,0,-0.4627165670931034],"max":[0.37003798603513116,1.9500000476837158,0.30001082636124227]},"sizeMeters":[0.74,1.95,0.763],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.173Z","updatedAt":"2026-09-07T16:39:19.297Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18041/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WoodenDummyMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18041/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18041/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18041/v1/model.glb\" alt=\"Wooden Dummy (Martial Arts Dojo and Fight Stages)\" 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/18041/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/18041/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18040","slug":"martial-arts-dojo-and-fight-stages-makiwara-414e18c4","title":"Makiwara (Martial Arts Dojo and Fight Stages)","summary":"Tapered striking post with a bound rope pad.","description":"Makiwara 1.72 m tall: a tapered timber post on a concrete foot with a bound rope striking pad at 1.30 m. Dimensions 0.50 x 1.72 x 0.50 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-makiwara-414e18c4","cdnUrl":"https://cdn.3dassets.dev/assets/18040/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-makiwara-414e18c4","thumbnailUrl":"https://cdn.3dassets.dev/assets/18040/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18040/v1/poster.webp","blurhash":"U3Aw0Q_3000000t8?vD$.At7R3IUD$M{%g?a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":8096,"triangles":120,"vertices":360,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.25,6.090290850108149e-7,-0.25],"max":[0.25,1.7200000286102295,0.25]},"sizeMeters":[0.5,1.72,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.160Z","updatedAt":"2026-09-07T16:39:19.283Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18040/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MakiwaraMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18040/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18040/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18040/v1/model.glb\" alt=\"Makiwara (Martial Arts Dojo and Fight Stages)\" 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/18040/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/18040/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18042","slug":"martial-arts-dojo-and-fight-stages-focus-mitts-daf20f24","title":"Focus Mitts (Martial Arts Dojo and Fight Stages)","summary":"Pair of round focus mitts lying face up.","description":"Pair of focus mitts, each 0.30 m across, lying face up with wrist straps. Dimensions 0.70 x 0.12 x 0.34 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-focus-mitts-daf20f24","cdnUrl":"https://cdn.3dassets.dev/assets/18042/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-focus-mitts-daf20f24","thumbnailUrl":"https://cdn.3dassets.dev/assets/18042/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18042/v1/poster.webp","blurhash":"U37mpeog0LX8}@=zI:E100-U~B9u0L0x-B^k","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":8684,"triangles":144,"vertices":432,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.3499999940395355,0.0000035104685405518143,-0.19501945025951492],"max":[0.3499999940395355,0.11999038422695271,0.14997863448924584]},"sizeMeters":[0.7,0.12,0.345],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.243Z","updatedAt":"2026-09-07T16:39:19.372Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18042/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FocusMittsMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18042/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18042/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18042/v1/model.glb\" alt=\"Focus Mitts (Martial Arts Dojo and Fight Stages)\" 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/18042/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/18042/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18043","slug":"martial-arts-dojo-and-fight-stages-kick-shield-70cc04ef","title":"Kick Shield (Martial Arts Dojo and Fight Stages)","summary":"Padded kick shield standing on its edge with two grab handles.","description":"Kick shield 0.48 m wide and 0.78 m tall in red padding, with two rear grab handles. Dimensions 0.50 x 0.80 x 0.48 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-kick-shield-70cc04ef","cdnUrl":"https://cdn.3dassets.dev/assets/18043/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-kick-shield-70cc04ef","thumbnailUrl":"https://cdn.3dassets.dev/assets/18043/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18043/v1/poster.webp","blurhash":"U9COOU}t000yt7J8Ip,;ACJR$j=KxGoLR*jY","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4644,"triangles":60,"vertices":180,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.24998321854482838,0,-0.24002013341236783],"max":[0.24998321854482838,0.800000011920929,0.24002013341236783]},"sizeMeters":[0.5,0.8,0.48],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:19.318Z","updatedAt":"2026-09-07T16:39:19.437Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18043/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KickShieldMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18043/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18043/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18043/v1/model.glb\" alt=\"Kick Shield (Martial Arts Dojo and Fight Stages)\" 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/18043/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/18043/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18044","slug":"martial-arts-dojo-and-fight-stages-gloves-on-shelf-4b08abbc","title":"Gloves On Shelf (Martial Arts Dojo and Fight Stages)","summary":"Pair of boxing gloves resting on a small stand.","description":"Pair of red boxing gloves 0.22 m tall on a chrome-legged timber stand at 0.80 m. Dimensions 0.44 x 1.09 x 0.30 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-gloves-on-shelf-4b08abbc","cdnUrl":"https://cdn.3dassets.dev/assets/18044/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-gloves-on-shelf-4b08abbc","thumbnailUrl":"https://cdn.3dassets.dev/assets/18044/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18044/v1/poster.webp","blurhash":"UA9Q2Ct700M{}Yoy5lRjm-j[TIWB9aV[-okW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":18004,"triangles":324,"vertices":972,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2199999988079071,0,-0.15000579770397843],"max":[0.2199999988079071,1.090011017061944,0.15000579770397843]},"sizeMeters":[0.44,1.09,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:20.095Z","updatedAt":"2026-09-07T16:39:20.188Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18044/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GlovesOnShelfMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18044/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18044/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18044/v1/model.glb\" alt=\"Gloves On Shelf (Martial Arts Dojo and Fight Stages)\" 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/18044/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/18044/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18045","slug":"martial-arts-dojo-and-fight-stages-jump-rope-dcb838ae","title":"Jump Rope (Martial Arts Dojo and Fight Stages)","summary":"Coiled speed rope with timber handles.","description":"Jump rope coiled to 0.32 m across with two timber handles. Dimensions 0.37 x 0.24 x 0.33 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-jump-rope-dcb838ae","cdnUrl":"https://cdn.3dassets.dev/assets/18045/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-jump-rope-dcb838ae","thumbnailUrl":"https://cdn.3dassets.dev/assets/18045/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18045/v1/poster.webp","blurhash":"U384Vu~V00#krU?G%Mi{00M|~q9vAL4:IpXS","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":36560,"triangles":724,"vertices":2172,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.18000000715255737,-0.000002022219727615404,-0.1667105839478179],"max":[0.1860000044107437,0.2384642201461332,0.16763351716868125]},"sizeMeters":[0.366,0.238,0.334],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:21.844Z","updatedAt":"2026-09-07T16:39:21.942Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18045/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function JumpRopeMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18045/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18045/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18045/v1/model.glb\" alt=\"Jump Rope (Martial Arts Dojo and Fight Stages)\" 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/18045/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/18045/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18048","slug":"martial-arts-dojo-and-fight-stages-medicine-ball-c1cbe95d","title":"Medicine Ball (Martial Arts Dojo and Fight Stages)","summary":"Leather medicine ball with stitched seams.","description":"Medicine ball 0.34 m across in leather with three stitched seam bands. Dimensions 0.36 x 0.36 x 0.35 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-medicine-ball-c1cbe95d","cdnUrl":"https://cdn.3dassets.dev/assets/18048/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-medicine-ball-c1cbe95d","thumbnailUrl":"https://cdn.3dassets.dev/assets/18048/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18048/v1/poster.webp","blurhash":"U9AJA:%L00E1?HofELV@01NG}[xa56WB-Vof","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":25964,"triangles":504,"vertices":1512,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17900000512599945,0,-0.17452049817683354],"max":[0.17900000512599945,0.3580000102519989,0.17452049817683354]},"sizeMeters":[0.358,0.358,0.349],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:20.877Z","updatedAt":"2026-09-07T16:39:20.971Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18048/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MedicineBallMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18048/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18048/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18048/v1/model.glb\" alt=\"Medicine Ball (Martial Arts Dojo and Fight Stages)\" 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/18048/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/18048/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18047","slug":"martial-arts-dojo-and-fight-stages-plyo-box-cc2104eb","title":"Plyo Box (Martial Arts Dojo and Fight Stages)","summary":"Timber plyometric jump box with a bound top.","description":"Plyo box 0.9 m wide and 0.65 m tall in timber with reinforced corners and a hand cut-out. Dimensions 0.94 x 0.65 x 0.82 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-plyo-box-cc2104eb","cdnUrl":"https://cdn.3dassets.dev/assets/18047/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-plyo-box-cc2104eb","thumbnailUrl":"https://cdn.3dassets.dev/assets/18047/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18047/v1/poster.webp","blurhash":"UGFhnu~B4pIB%1aekCxb029uJ8bvt5tQNGIo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4632,"triangles":60,"vertices":180,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4699999988079071,-0.000018291236985601422,-0.39501045333135665],"max":[0.4699999988079071,0.6499995294771105,0.43001044975507796]},"sizeMeters":[0.94,0.65,0.825],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:20.858Z","updatedAt":"2026-09-07T16:39:20.975Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18047/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlyoBoxMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18047/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18047/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18047/v1/model.glb\" alt=\"Plyo Box (Martial Arts Dojo and Fight Stages)\" 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/18047/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/18047/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18046","slug":"martial-arts-dojo-and-fight-stages-pull-up-rig-cafea1b6","title":"Pull-Up Rig (Martial Arts Dojo and Fight Stages)","summary":"Free-standing four-post rig with a straight and two angled bars.","description":"Pull-up rig 2.5 m wide and 2.47 m tall on four posts, with a straight chrome bar and two narrow grips. Dimensions 3.57 x 2.47 x 1.44 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-pull-up-rig-cafea1b6","cdnUrl":"https://cdn.3dassets.dev/assets/18046/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-pull-up-rig-cafea1b6","thumbnailUrl":"https://cdn.3dassets.dev/assets/18046/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18046/v1/poster.webp","blurhash":"U16H$K9D00?c~q-=4nD$ROt7a$WBD%_4x]4n","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":13264,"triangles":240,"vertices":720,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.200000047683716,-0.00003615442723581275,-0.7200579876742118],"max":[1.3700000047683716,2.4700361830374655,0.7200579876742118]},"sizeMeters":[3.57,2.47,1.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:20.845Z","updatedAt":"2026-09-07T16:39:20.944Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18046/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PullUpRigMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18046/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18046/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18046/v1/model.glb\" alt=\"Pull-Up Rig (Martial Arts Dojo and Fight Stages)\" 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/18046/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/18046/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18050","slug":"martial-arts-dojo-and-fight-stages-weight-rack-046f2413","title":"Weight Rack (Martial Arts Dojo and Fight Stages)","summary":"Three-tier rack holding fifteen pairs of dumbbells.","description":"Weight rack 1.9 m wide and 1.45 m tall in painted steel, holding fifteen dumbbells on three tiers. Dimensions 1.97 x 1.45 x 0.60 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-weight-rack-046f2413","cdnUrl":"https://cdn.3dassets.dev/assets/18050/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-weight-rack-046f2413","thumbnailUrl":"https://cdn.3dassets.dev/assets/18050/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18050/v1/poster.webp","blurhash":"U27K#j-=00jEV}-=-;M_00oh-=Rix^?djq8^","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":97388,"triangles":1992,"vertices":5976,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0188000202178955,-0.000017515203319495853,-0.300044248073681],"max":[0.949999988079071,1.4500175628870353,0.300044248073681]},"sizeMeters":[1.969,1.45,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:20.992Z","updatedAt":"2026-09-07T16:39:21.118Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18050/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeightRackMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18050/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18050/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18050/v1/model.glb\" alt=\"Weight Rack (Martial Arts Dojo and Fight Stages)\" 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/18050/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/18050/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18051","slug":"martial-arts-dojo-and-fight-stages-flat-bench-165cfe6f","title":"Flat Bench (Martial Arts Dojo and Fight Stages)","summary":"Padded flat weight bench on a steel frame.","description":"Flat bench 1.3 m long with a padded top at 0.52 m on a painted steel frame. Dimensions 1.46 x 0.52 x 0.42 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-flat-bench-165cfe6f","cdnUrl":"https://cdn.3dassets.dev/assets/18051/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-flat-bench-165cfe6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/18051/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18051/v1/poster.webp","blurhash":"U37UMA%L00%N?c?cM_D$00og%MD%9DRi-;a#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5196,"triangles":72,"vertices":216,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.7300000190734863,0.000025013135019930077,-0.20997498030846914],"max":[0.7300000190734863,0.5199893005948321,0.20997498030846914]},"sizeMeters":[1.46,0.52,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:21.010Z","updatedAt":"2026-09-07T16:39:21.133Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18051/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FlatBenchMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18051/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18051/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18051/v1/model.glb\" alt=\"Flat Bench (Martial Arts Dojo and Fight Stages)\" 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/18051/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/18051/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18049","slug":"martial-arts-dojo-and-fight-stages-dumbbell-set-bd379f40","title":"Dumbbell Set (Martial Arts Dojo and Fight Stages)","summary":"Row of three dumbbells at increasing weights.","description":"Set of three dumbbells 0.34 m long, laid in a row at increasing sizes. Dimensions 0.90 x 0.22 x 0.36 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dumbbell-set-bd379f40","cdnUrl":"https://cdn.3dassets.dev/assets/18049/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dumbbell-set-bd379f40","thumbnailUrl":"https://cdn.3dassets.dev/assets/18049/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18049/v1/poster.webp","blurhash":"U35r0._3D%al%N-;awM_00D$%MRhIADit9xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":34060,"triangles":672,"vertices":2016,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.4699999988079071,0.000029576388368618423,-0.17881239600013246],"max":[0.430400013923645,0.21997042241953849,0.18121239192317476]},"sizeMeters":[0.9,0.22,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:20.955Z","updatedAt":"2026-09-07T16:39:21.066Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18049/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DumbbellSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18049/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18049/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18049/v1/model.glb\" alt=\"Dumbbell Set (Martial Arts Dojo and Fight Stages)\" 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/18049/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/18049/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18052","slug":"martial-arts-dojo-and-fight-stages-kettlebells-25351387","title":"Kettlebells (Martial Arts Dojo and Fight Stages)","summary":"Three cast kettlebells in a row.","description":"Set of three kettlebells 0.44 m tall at the largest, standing in a row. Dimensions 0.84 x 0.36 x 0.28 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-kettlebells-25351387","cdnUrl":"https://cdn.3dassets.dev/assets/18052/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-kettlebells-25351387","thumbnailUrl":"https://cdn.3dassets.dev/assets/18052/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18052/v1/poster.webp","blurhash":"U14xoP-;009E?c_4M_8_00t7_4j]IS00-=_4","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":28728,"triangles":576,"vertices":1728,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.4399999976158142,0.000012857707072766456,-0.13999865915183238],"max":[0.3952000141143799,0.356987135617207,0.13999865915183238]},"sizeMeters":[0.835,0.357,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:21.803Z","updatedAt":"2026-09-07T16:39:21.901Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18052/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function KettlebellsMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18052/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18052/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18052/v1/model.glb\" alt=\"Kettlebells (Martial Arts Dojo and Fight Stages)\" 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/18052/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/18052/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18053","slug":"martial-arts-dojo-and-fight-stages-battle-rope-anchor-aea383de","title":"Battle Rope Anchor (Martial Arts Dojo and Fight Stages)","summary":"Floor anchor with a heavy battle rope trailing away.","description":"Battle rope anchor 0.44 m square with a steel ring and a heavy rope trailing 1.3 m. Dimensions 1.67 x 0.32 x 0.82 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-battle-rope-anchor-aea383de","cdnUrl":"https://cdn.3dassets.dev/assets/18053/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-battle-rope-anchor-aea383de","thumbnailUrl":"https://cdn.3dassets.dev/assets/18053/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18053/v1/poster.webp","blurhash":"UAA,%rIo00t7IU%MxuIU00t7~qay-;8_IU?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":111160,"triangles":2264,"vertices":6792,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.2199999988079071,-0.000006407870966972096,-0.2199999988079071],"max":[1.454846739768982,0.3240000009536743,0.5969695016030279]},"sizeMeters":[1.675,0.324,0.817],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:22.500Z","updatedAt":"2026-09-07T16:39:22.599Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18053/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BattleRopeAnchorMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18053/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18053/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18053/v1/model.glb\" alt=\"Battle Rope Anchor (Martial Arts Dojo and Fight Stages)\" 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/18053/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/18053/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18054","slug":"martial-arts-dojo-and-fight-stages-timer-clock-bf09ed53","title":"Timer Clock (Martial Arts Dojo and Fight Stages)","summary":"Wall-mounted round timer with a blank digit panel.","description":"Gym timer clock 0.72 m wide mounted at 1.90 m, with a red face and four blank digit panels. Dimensions 0.72 x 0.86 x 0.30 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-timer-clock-bf09ed53","cdnUrl":"https://cdn.3dassets.dev/assets/18054/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-timer-clock-bf09ed53","thumbnailUrl":"https://cdn.3dassets.dev/assets/18054/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18054/v1/poster.webp","blurhash":"UCAm0k^+0J56~W-pInEL0eNG}[$*0KE1=|-o","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7676,"triangles":108,"vertices":324,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.36002838820247235,0,-0.20998229669289284],"max":[0.36002838820247235,0.8600000143051147,0.08998230682568245]},"sizeMeters":[0.72,0.86,0.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:22.558Z","updatedAt":"2026-09-07T16:39:22.657Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18054/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TimerClockMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18054/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18054/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18054/v1/model.glb\" alt=\"Timer Clock (Martial Arts Dojo and Fight Stages)\" 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/18054/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/18054/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18055","slug":"martial-arts-dojo-and-fight-stages-spit-bucket-d303f4d6","title":"Spit Bucket (Martial Arts Dojo and Fight Stages)","summary":"Small steel corner bucket with a wire handle.","description":"Spit bucket 0.34 m across and 0.29 m tall in steel with a wire handle. Dimensions 0.35 x 0.37 x 0.35 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-spit-bucket-d303f4d6","cdnUrl":"https://cdn.3dassets.dev/assets/18055/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-spit-bucket-d303f4d6","thumbnailUrl":"https://cdn.3dassets.dev/assets/18055/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18055/v1/poster.webp","blurhash":"U8AAdkj[00%M~qofD%ax00og_NIU9EWBxuWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":12676,"triangles":228,"vertices":684,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.17399999499320984,-0.000005587497057868429,-0.17399999499320984],"max":[0.17399999499320984,0.3660060423074885,0.17399999499320984]},"sizeMeters":[0.348,0.366,0.348],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:22.585Z","updatedAt":"2026-09-07T16:39:22.681Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18055/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpitBucketMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18055/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18055/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18055/v1/model.glb\" alt=\"Spit Bucket (Martial Arts Dojo and Fight Stages)\" 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/18055/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/18055/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18056","slug":"martial-arts-dojo-and-fight-stages-water-bottle-rack-79d10b56","title":"Water Bottle Rack (Martial Arts Dojo and Fight Stages)","summary":"Steel rack holding five squeeze bottles.","description":"Water bottle rack 0.66 m wide and 1.25 m tall in painted steel, holding five blue squeeze bottles. Dimensions 0.66 x 1.25 x 0.22 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-water-bottle-rack-79d10b56","cdnUrl":"https://cdn.3dassets.dev/assets/18056/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-water-bottle-rack-79d10b56","thumbnailUrl":"https://cdn.3dassets.dev/assets/18056/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18056/v1/poster.webp","blurhash":"UA6uCgt74TM{?wt7DhM{%NozIUM{xYt7R,M_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":21432,"triangles":396,"vertices":1188,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.32999664296395764,0,-0.10998870815149388],"max":[0.32999664296395764,1.2500043268821046,0.10998870815149388]},"sizeMeters":[0.66,1.25,0.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:22.612Z","updatedAt":"2026-09-07T16:39:22.722Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18056/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterBottleRackMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18056/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18056/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18056/v1/model.glb\" alt=\"Water Bottle Rack (Martial Arts Dojo and Fight Stages)\" 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/18056/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/18056/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18057","slug":"martial-arts-dojo-and-fight-stages-tape-roll-19a4db63","title":"Tape Roll (Martial Arts Dojo and Fight Stages)","summary":"Three rolls of hand tape standing on end.","description":"Three rolls of white hand tape, each 0.09 m across and 0.10 m tall. Dimensions 0.35 x 0.10 x 0.09 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-tape-roll-19a4db63","cdnUrl":"https://cdn.3dassets.dev/assets/18057/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-tape-roll-19a4db63","thumbnailUrl":"https://cdn.3dassets.dev/assets/18057/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18057/v1/poster.webp","blurhash":"U9DJO}xu00%M_3~qRj9F00%M~qD%0000xu?b","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":25240,"triangles":504,"vertices":1512,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.17499999701976776,0.0000053423356203355366,-0.044995726642400695],"max":[0.17499999701976776,0.09999465915449579,0.044995726642400695]},"sizeMeters":[0.35,0.1,0.09],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:22.652Z","updatedAt":"2026-09-07T16:39:22.772Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18057/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TapeRollMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18057/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18057/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18057/v1/model.glb\" alt=\"Tape Roll (Martial Arts Dojo and Fight Stages)\" 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/18057/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/18057/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18058","slug":"martial-arts-dojo-and-fight-stages-headgear-bb27b1a0","title":"Headgear (Martial Arts Dojo and Fight Stages)","summary":"Sparring headgear resting open side down.","description":"Sparring headgear 0.30 m across in red padding with cheek guards and a chin strap. Dimensions 0.32 x 0.30 x 0.35 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-headgear-bb27b1a0","cdnUrl":"https://cdn.3dassets.dev/assets/18058/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-headgear-bb27b1a0","thumbnailUrl":"https://cdn.3dassets.dev/assets/18058/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18058/v1/poster.webp","blurhash":"UEE0~G=e0eEL^6WB9[s:0eI:}t$*5Qso-VNa","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":24412,"triangles":472,"vertices":1416,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.15999550315039485,-0.000007400031612508906,-0.13908173143863678],"max":[0.15999550315039485,0.30000741195254144,0.20908845961093903]},"sizeMeters":[0.32,0.3,0.348],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:22.733Z","updatedAt":"2026-09-07T16:39:22.859Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18058/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeadgearMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18058/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18058/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18058/v1/model.glb\" alt=\"Headgear (Martial Arts Dojo and Fight Stages)\" 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/18058/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/18058/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18059","slug":"martial-arts-dojo-and-fight-stages-gear-shelf-d7b5a755","title":"Gear Shelf (Martial Arts Dojo and Fight Stages)","summary":"Wall shelf over four hooks with hanging wraps.","description":"Gear shelf 1.4 m wide at 1.55 m over four chrome hooks carrying folded hand wraps. Dimensions 1.40 x 1.61 x 0.34 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-gear-shelf-d7b5a755","cdnUrl":"https://cdn.3dassets.dev/assets/18059/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-gear-shelf-d7b5a755","thumbnailUrl":"https://cdn.3dassets.dev/assets/18059/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18059/v1/poster.webp","blurhash":"UF9G~;of00WB~pt79FM{${t6NfM|i]xao~Ip","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":12304,"triangles":192,"vertices":576,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.699999988079071,0,-0.1699636800792593],"max":[0.699999988079071,1.6099935739129216,0.1699636800792593]},"sizeMeters":[1.4,1.61,0.34],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:23.424Z","updatedAt":"2026-09-07T16:39:23.536Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18059/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GearShelfMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18059/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18059/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18059/v1/model.glb\" alt=\"Gear Shelf (Martial Arts Dojo and Fight Stages)\" 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/18059/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/18059/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18060","slug":"martial-arts-dojo-and-fight-stages-wall-weapon-rack-5af602fc","title":"Dojo Wall With Weapon Rack (Martial Arts Dojo and Fight Stages)","summary":"Dojo wall bay carrying a two-tier rack of training weapons.","description":"Dojo wall bay 3.0 m wide and 3.2 m tall with a timber dado and a two-tier rack holding staves and wooden swords. Dimensions 3.00 x 3.20 x 0.29 m (X x Y x Z). Modular wall bay: origin centred on the module at floor level, 3.0 m between joins; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-wall-weapon-rack-5af602fc","cdnUrl":"https://cdn.3dassets.dev/assets/18060/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-wall-weapon-rack-5af602fc","thumbnailUrl":"https://cdn.3dassets.dev/assets/18060/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18060/v1/poster.webp","blurhash":"UBFrnp%L00Rk?v?bM_4o00oz~WM_R4V?X9S5","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":17596,"triangles":316,"vertices":948,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,0,-0.06003806333108147],"max":[1.5,3.200000047683716,0.22590816731615265]},"sizeMeters":[3,3.2,0.286],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:24.543Z","updatedAt":"2026-09-07T16:39:24.644Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18060/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoWallWithWeaponRackMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18060/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18060/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18060/v1/model.glb\" alt=\"Dojo Wall With Weapon Rack (Martial Arts Dojo and Fight Stages)\" 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/18060/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/18060/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18061","slug":"martial-arts-dojo-and-fight-stages-mirror-wall-f5fc2886","title":"Mirror Wall (Martial Arts Dojo and Fight Stages)","summary":"Full-height mirrored wall bay with a barre rail.","description":"Mirrored dojo wall bay 3.0 m wide with a 2.4 m mirror panel, timber surround and a chrome barre at 1.00 m. Dimensions 3.00 x 3.20 x 0.17 m (X x Y x Z). Modular wall bay: origin centred on the module at floor level, 3.0 m between joins; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-mirror-wall-f5fc2886","cdnUrl":"https://cdn.3dassets.dev/assets/18061/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-mirror-wall-f5fc2886","thumbnailUrl":"https://cdn.3dassets.dev/assets/18061/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18061/v1/poster.webp","blurhash":"U9B:gF%M00V@~q%MIUE1ivxuS%IUD%?H%M9G","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":6292,"triangles":84,"vertices":252,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.502331841130949,0,-0.059990321653100254],"max":[1.5011317612130413,3.201200008392334,0.10504531817980606]},"sizeMeters":[3.003,3.201,0.165],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:25.223Z","updatedAt":"2026-09-07T16:39:25.326Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18061/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MirrorWallMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18061/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18061/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18061/v1/model.glb\" alt=\"Mirror Wall (Martial Arts Dojo and Fight Stages)\" 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/18061/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/18061/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18064","slug":"martial-arts-dojo-and-fight-stages-dojo-sliding-door-c50f4bbe","title":"Dojo Sliding Door (Martial Arts Dojo and Fight Stages)","summary":"Paired paper-panel sliding doors in a timber wall bay.","description":"Dojo sliding door bay 3.0 m wide with two paper-panel leaves on named pivots, modelled closed in their timber track. Dimensions 3.00 x 3.20 x 0.14 m (X x Y x Z). Modular wall bay: origin centred on the module at floor level, 3.0 m between joins; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Named nodes door-left and door-right slide along the head track; modelled closed. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-sliding-door-c50f4bbe","cdnUrl":"https://cdn.3dassets.dev/assets/18064/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-sliding-door-c50f4bbe","thumbnailUrl":"https://cdn.3dassets.dev/assets/18064/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18064/v1/poster.webp","blurhash":"UCEooT%M00IUMx-p%M9Z00M{~q%M?bocD%S5","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":10388,"triangles":240,"vertices":720,"meshes":4,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.4999969705007488,0,-0.0699240099533537],"max":[1.4999969705007488,3.200000047683716,0.07501251904659778]},"sizeMeters":[3,3.2,0.145],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:25.345Z","updatedAt":"2026-09-07T16:39:25.451Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18064/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoSlidingDoorMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18064/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18064/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18064/v1/model.glb\" alt=\"Dojo Sliding Door (Martial Arts Dojo and Fight Stages)\" 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/18064/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/18064/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18063","slug":"martial-arts-dojo-and-fight-stages-shrine-alcove-d179d34a","title":"Shrine Alcove (Martial Arts Dojo and Fight Stages)","summary":"Recessed shrine alcove with an offering bowl and two candles.","description":"Shrine alcove 1.6 m wide set into a dojo wall bay, with a raised timber floor, a gilded offering bowl and two candles. Dimensions 3.00 x 3.20 x 0.69 m (X x Y x Z). Modular wall bay: origin centred on the module at floor level, 3.0 m between joins; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-shrine-alcove-d179d34a","cdnUrl":"https://cdn.3dassets.dev/assets/18063/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-shrine-alcove-d179d34a","thumbnailUrl":"https://cdn.3dassets.dev/assets/18063/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18063/v1/poster.webp","blurhash":"U9FYfMD*00ad_4-;D$9F00.8-:D$Dhs.%gIo","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":19120,"triangles":332,"vertices":996,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,0,-0.05993240835503755],"max":[1.5,3.200000047683716,0.6299661224055719]},"sizeMeters":[3,3.2,0.69],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:25.328Z","updatedAt":"2026-09-07T16:39:25.436Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18063/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShrineAlcoveMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18063/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18063/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18063/v1/model.glb\" alt=\"Shrine Alcove (Martial Arts Dojo and Fight Stages)\" 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/18063/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/18063/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18062","slug":"martial-arts-dojo-and-fight-stages-hanging-scroll-753df67b","title":"Hanging Scroll (Martial Arts Dojo and Fight Stages)","summary":"Hanging paper scroll with a weighted lower rod.","description":"Hanging scroll 0.86 m wide and 1.40 m tall on timber rods, with three blank calligraphy panels. Dimensions 1.29 x 1.59 x 0.08 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-hanging-scroll-753df67b","cdnUrl":"https://cdn.3dassets.dev/assets/18062/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-hanging-scroll-753df67b","thumbnailUrl":"https://cdn.3dassets.dev/assets/18062/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18062/v1/poster.webp","blurhash":"UAC6ruD%00_N?Gt6D*M|00-p~q4o%1%1bcE2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11536,"triangles":188,"vertices":564,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.8600227358769275,0,-0.03803595236857046],"max":[0.4300227287243701,1.5880000591278076,0.03803595236857046]},"sizeMeters":[1.29,1.588,0.076],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:25.292Z","updatedAt":"2026-09-07T16:39:25.386Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18062/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingScrollMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18062/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18062/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18062/v1/model.glb\" alt=\"Hanging Scroll (Martial Arts Dojo and Fight Stages)\" 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/18062/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/18062/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18066","slug":"martial-arts-dojo-and-fight-stages-dojo-bell-226f1823","title":"Dojo Bell (Martial Arts Dojo and Fight Stages)","summary":"Hanging bronze bell on a timber A-frame.","description":"Dojo bell 1.3 m wide and 2.0 m tall: a gilded bell 0.76 m across hung from a timber A-frame. Dimensions 1.30 x 1.97 x 0.74 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-bell-226f1823","cdnUrl":"https://cdn.3dassets.dev/assets/18066/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-bell-226f1823","thumbnailUrl":"https://cdn.3dassets.dev/assets/18066/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18066/v1/poster.webp","blurhash":"U4C?Jr_2004.~p?Z4o0200V]^*X3sZ-:%b9G","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":17788,"triangles":320,"vertices":960,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.650002605114617,0,-0.37049042779823704],"max":[0.650002605114617,1.965000033378601,0.37049042779823704]},"sizeMeters":[1.3,1.965,0.741],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:25.507Z","updatedAt":"2026-09-07T16:39:25.619Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18066/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoBellMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18066/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18066/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18066/v1/model.glb\" alt=\"Dojo Bell (Martial Arts Dojo and Fight Stages)\" 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/18066/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/18066/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18065","slug":"martial-arts-dojo-and-fight-stages-floor-drum-2cd04d1d","title":"Floor Drum (Martial Arts Dojo and Fight Stages)","summary":"Barrel drum slung in a timber frame.","description":"Floor drum 0.88 m across slung at 0.36 m in a timber A-frame, with tacked heads and a gilded stud ring. Dimensions 1.44 x 1.27 x 1.00 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-floor-drum-2cd04d1d","cdnUrl":"https://cdn.3dassets.dev/assets/18065/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-floor-drum-2cd04d1d","thumbnailUrl":"https://cdn.3dassets.dev/assets/18065/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18065/v1/poster.webp","blurhash":"U9Dc2M?b00RO%K%LIp9Z00NF~qW=M}oz-ps;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":66784,"triangles":1312,"vertices":3936,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.7200000286102295,0.00003177829448997027,-0.5],"max":[0.7200000286102295,1.274968197863652,0.5]},"sizeMeters":[1.44,1.275,1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:25.399Z","updatedAt":"2026-09-07T16:39:25.498Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18065/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FloorDrumMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18065/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18065/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18065/v1/model.glb\" alt=\"Floor Drum (Martial Arts Dojo and Fight Stages)\" 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/18065/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/18065/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18067","slug":"martial-arts-dojo-and-fight-stages-banner-frame-6567ddb4","title":"Banner Frame (Martial Arts Dojo and Fight Stages)","summary":"Free-standing banner on a timber pole with a blank field.","description":"Banner frame 2.7 m tall on a weighted base, carrying a red banner with three blank panels. Dimensions 0.86 x 2.74 x 0.44 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-banner-frame-6567ddb4","cdnUrl":"https://cdn.3dassets.dev/assets/18067/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-banner-frame-6567ddb4","thumbnailUrl":"https://cdn.3dassets.dev/assets/18067/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18067/v1/poster.webp","blurhash":"U79ZN4$%005R^Ps:5RI:0xW.}[sWEKWU%3s;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":12112,"triangles":180,"vertices":540,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.4300000071525574,0.00001098598602632117,-0.2199999988079071],"max":[0.4300000071525574,2.739998117435345,0.2199999988079071]},"sizeMeters":[0.86,2.74,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:26.791Z","updatedAt":"2026-09-07T16:39:26.896Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18067/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BannerFrameMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18067/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18067/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18067/v1/model.glb\" alt=\"Banner Frame (Martial Arts Dojo and Fight Stages)\" 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/18067/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/18067/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18068","slug":"martial-arts-dojo-and-fight-stages-dojo-lantern-6329cde9","title":"Dojo Lantern (Martial Arts Dojo and Fight Stages)","summary":"Ribbed paper lantern hanging from a ceiling plate.","description":"Dojo lantern 0.44 m across and 0.50 m tall in ribbed paper, hung from a ceiling plate at 1.85 m. Dimensions 0.44 x 0.84 x 0.44 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-lantern-6329cde9","cdnUrl":"https://cdn.3dassets.dev/assets/18068/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-lantern-6329cde9","thumbnailUrl":"https://cdn.3dassets.dev/assets/18068/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18068/v1/poster.webp","blurhash":"U7ATN4s:00Na$%spNGNZ00of~qRj?HoeE2WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":27812,"triangles":528,"vertices":1584,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.22000030682422475,0,-0.22000030682422475],"max":[0.22000030682422475,0.8399999737739563,0.22000030682422475]},"sizeMeters":[0.44,0.84,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:27.876Z","updatedAt":"2026-09-07T16:39:27.966Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18068/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoLanternMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18068/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18068/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18068/v1/model.glb\" alt=\"Dojo Lantern (Martial Arts Dojo and Fight Stages)\" 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/18068/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/18068/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18069","slug":"martial-arts-dojo-and-fight-stages-dojo-bench-812ae702","title":"Dojo Bench (Martial Arts Dojo and Fight Stages)","summary":"Long low timber bench on shaped end supports.","description":"Dojo bench 2.4 m long with a seat at 0.50 m on two shaped timber supports. Dimensions 2.42 x 0.50 x 0.42 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-bench-812ae702","cdnUrl":"https://cdn.3dassets.dev/assets/18069/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-bench-812ae702","thumbnailUrl":"https://cdn.3dassets.dev/assets/18069/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18069/v1/poster.webp","blurhash":"U9CPeMt69G-o_2~URkIo00-p?HE1010L%L%2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4040,"triangles":48,"vertices":144,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.2100000381469727,-0.000043044276777676194,-0.20991852392111146],"max":[1.2100000381469727,0.4999914498499534,0.20991852392111146]},"sizeMeters":[2.42,0.5,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:28.463Z","updatedAt":"2026-09-07T16:39:28.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18069/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoBenchMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18069/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18069/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18069/v1/model.glb\" alt=\"Dojo Bench (Martial Arts Dojo and Fight Stages)\" 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/18069/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/18069/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18073","slug":"martial-arts-dojo-and-fight-stages-shoe-rack-07f16cc1","title":"Shoe Rack (Martial Arts Dojo and Fight Stages)","summary":"Four-tier timber shoe rack with paired shoes.","description":"Shoe rack 1.6 m wide and 1.0 m tall in timber with four tiers and ten pairs of shoes. Dimensions 1.60 x 1.00 x 0.36 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-shoe-rack-07f16cc1","cdnUrl":"https://cdn.3dassets.dev/assets/18073/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-shoe-rack-07f16cc1","thumbnailUrl":"https://cdn.3dassets.dev/assets/18073/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18073/v1/poster.webp","blurhash":"UCHBbw_N00t,%g~Vx]RQ00RPo}i_iwxti_9u","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":83392,"triangles":1672,"vertices":5016,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8011999726295471,-0.00003172216785907178,-0.181136185712445],"max":[0.8011999726295471,1.0000317221678592,0.181136185712445]},"sizeMeters":[1.602,1,0.362],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:28.791Z","updatedAt":"2026-09-07T16:39:28.913Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18073/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ShoeRackMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18073/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18073/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18073/v1/model.glb\" alt=\"Shoe Rack (Martial Arts Dojo and Fight Stages)\" 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/18073/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/18073/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18072","slug":"martial-arts-dojo-and-fight-stages-changing-cubicle-030ae453","title":"Changing Cubicle (Martial Arts Dojo and Fight Stages)","summary":"Small three-sided changing cubicle with a curtain and shelf.","description":"Changing cubicle 1.16 m square and 2.2 m tall with panelled sides, a half-drawn curtain and a shelf at 1.62 m. Dimensions 1.16 x 2.20 x 1.16 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-changing-cubicle-030ae453","cdnUrl":"https://cdn.3dassets.dev/assets/18072/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-changing-cubicle-030ae453","thumbnailUrl":"https://cdn.3dassets.dev/assets/18072/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18072/v1/poster.webp","blurhash":"U8F5~qx^00-Pr;axXAj[00sk?wE5-;a}IUoJ","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7764,"triangles":96,"vertices":288,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.5800286999706906,0,-0.5800286999706906],"max":[0.5800286999706906,2.200000047683716,0.5800286999706906]},"sizeMeters":[1.16,2.2,1.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:28.702Z","updatedAt":"2026-09-07T16:39:28.811Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18072/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ChangingCubicleMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18072/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18072/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18072/v1/model.glb\" alt=\"Changing Cubicle (Martial Arts Dojo and Fight Stages)\" 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/18072/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/18072/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18071","slug":"martial-arts-dojo-and-fight-stages-roof-beams-49e003e0","title":"Roof Beams (Martial Arts Dojo and Fight Stages)","summary":"Exposed timber roof beam bay with five purlins.","description":"Roof beam bay 6.0 m long: a main beam at 2.90 m carrying five purlins with braced ends. Dimensions 6.00 x 0.58 x 3.00 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-roof-beams-49e003e0","cdnUrl":"https://cdn.3dassets.dev/assets/18071/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-roof-beams-49e003e0","thumbnailUrl":"https://cdn.3dassets.dev/assets/18071/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18071/v1/poster.webp","blurhash":"U38gd4xZ00NG={?ZNH9G00t6~VNI5702xY~V","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5224,"triangles":88,"vertices":264,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-3,-0.00004792240452755614,-1.50022888882107],"max":[3,0.580047905715227,1.50022888882107]},"sizeMeters":[6,0.58,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:28.659Z","updatedAt":"2026-09-07T16:39:28.771Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18071/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RoofBeamsMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18071/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18071/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18071/v1/model.glb\" alt=\"Roof Beams (Martial Arts Dojo and Fight Stages)\" 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/18071/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/18071/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18070","slug":"martial-arts-dojo-and-fight-stages-dojo-gate-fb12cce6","title":"Dojo Entrance Gate (Martial Arts Dojo and Fight Stages)","summary":"Two-post timber entrance gate with a tiled cap and a name board.","description":"Dojo entrance gate 3.9 m wide and 3.16 m tall on two round timber posts, with a capped lintel and a blank name board. Dimensions 4.10 x 3.16 x 0.70 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-gate-fb12cce6","cdnUrl":"https://cdn.3dassets.dev/assets/18070/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-gate-fb12cce6","thumbnailUrl":"https://cdn.3dassets.dev/assets/18070/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18070/v1/poster.webp","blurhash":"U6BpLWxa00xu~A?H9Z0L0MVr%Ltl00-;~WIU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9520,"triangles":148,"vertices":444,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.049999952316284,-0.000027081806105888617,-0.34985197709136207],"max":[2.049999952316284,3.1600271676367946,0.34985197709136207]},"sizeMeters":[4.1,3.16,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:28.628Z","updatedAt":"2026-09-07T16:39:28.757Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18070/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoEntranceGateMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18070/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18070/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18070/v1/model.glb\" alt=\"Dojo Entrance Gate (Martial Arts Dojo and Fight Stages)\" 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/18070/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/18070/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18074","slug":"martial-arts-dojo-and-fight-stages-street-corner-set-81859fa2","title":"Street Corner Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of a shuttered shopfront, glazed frontage, lamp post and bin.","description":"Street corner backdrop 8.0 x 3.0 m and 4.4 m tall: a rolled shutter, a glazed shopfront with a plain fascia, a lamp post and a wheeled bin. Dimensions 8.00 x 4.64 x 3.07 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-street-corner-set-81859fa2","cdnUrl":"https://cdn.3dassets.dev/assets/18074/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-street-corner-set-81859fa2","thumbnailUrl":"https://cdn.3dassets.dev/assets/18074/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18074/v1/poster.webp","blurhash":"U6Hx$z0000IAM|~qD%0000-;xuIp?v~qs;9Z","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":16936,"triangles":276,"vertices":828,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.00013923116041247852,-1.5698369047928944],"max":[4,4.640139097646008,1.499836852340807]},"sizeMeters":[8,4.64,3.07],"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-07T16:39:29.101Z","updatedAt":"2026-09-07T16:39:29.193Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18074/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StreetCornerSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18074/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18074/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18074/v1/model.glb\" alt=\"Street Corner Set (Martial Arts Dojo and Fight Stages)\" 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/18074/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/18074/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18075","slug":"martial-arts-dojo-and-fight-stages-rooftop-helipad-set-c1fe91de","title":"Rooftop Helipad Set (Martial Arts Dojo and Fight Stages)","summary":"Rooftop deck with a marked helipad, perimeter lights and a stair head.","description":"Rooftop helipad backdrop 8.0 x 6.4 m with a 6.0 m marked landing circle, twelve perimeter lights and a stair-head housing. Dimensions 8.00 x 2.36 x 6.72 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-rooftop-helipad-set-c1fe91de","cdnUrl":"https://cdn.3dassets.dev/assets/18075/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-rooftop-helipad-set-c1fe91de","thumbnailUrl":"https://cdn.3dassets.dev/assets/18075/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18075/v1/poster.webp","blurhash":"U9B|Nh-;00Rj9Ft7t7M{00IU%NbH~qM{t7%M","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":59596,"triangles":1176,"vertices":3528,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.00025327978679290375,-3.36057090365636],"max":[4,2.3599962613562386,3.36057090365636]},"sizeMeters":[8,2.36,6.721],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:30.041Z","updatedAt":"2026-09-07T16:39:30.136Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18075/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RooftopHelipadSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18075/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18075/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18075/v1/model.glb\" alt=\"Rooftop Helipad Set (Martial Arts Dojo and Fight Stages)\" 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/18075/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/18075/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18076","slug":"martial-arts-dojo-and-fight-stages-temple-courtyard-se-9e26d645","title":"Temple Courtyard Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of a red colonnade under a tiled eave with a paved court.","description":"Temple courtyard backdrop 8.0 x 3.0 m: four red columns 3.0 m tall under a tiled eave, over a paved court with a bronze urn. Dimensions 8.00 x 4.40 x 3.05 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-temple-courtyard-se-9e26d645","cdnUrl":"https://cdn.3dassets.dev/assets/18076/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-temple-courtyard-se-9e26d645","thumbnailUrl":"https://cdn.3dassets.dev/assets/18076/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18076/v1/poster.webp","blurhash":"UDGa%%Ki00a$D4ofX-EL00QmRPo}.m^+VsM{","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":19052,"triangles":332,"vertices":996,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-4,0.00009308741436625523,-1.5497207198755079],"max":[4,4.399917649198247,1.500167851802118]},"sizeMeters":[8,4.4,3.05],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:31.287Z","updatedAt":"2026-09-07T16:39:31.387Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18076/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TempleCourtyardSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18076/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18076/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18076/v1/model.glb\" alt=\"Temple Courtyard Set (Martial Arts Dojo and Fight Stages)\" 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/18076/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/18076/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18077","slug":"martial-arts-dojo-and-fight-stages-factory-floor-set-177cf776","title":"Factory Floor Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of steel columns, tanks and overhead runs.","description":"Factory floor backdrop 8.0 x 3.0 m: five steel columns, three capped tanks 2.2 m tall and two overhead service runs. Dimensions 8.00 x 5.04 x 3.07 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-factory-floor-set-177cf776","cdnUrl":"https://cdn.3dassets.dev/assets/18077/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-factory-floor-set-177cf776","thumbnailUrl":"https://cdn.3dassets.dev/assets/18077/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18077/v1/poster.webp","blurhash":"U9ECznof00WB9FofoLIUD$IUD%t7?b~qM|D*","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":29120,"triangles":556,"vertices":1668,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-4,0.00014769051237761843,-1.5698369047928944],"max":[4.001200199127197,5.039852271340649,1.499836852340807]},"sizeMeters":[8.001,5.04,3.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:31.702Z","updatedAt":"2026-09-07T16:39:31.789Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18077/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FactoryFloorSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18077/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18077/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18077/v1/model.glb\" alt=\"Factory Floor Set (Martial Arts Dojo and Fight Stages)\" 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/18077/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/18077/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18079","slug":"martial-arts-dojo-and-fight-stages-beach-pier-set-759888c1","title":"Beach Pier Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of a timber pier deck on piles with a rail and a mooring post.","description":"Beach pier backdrop 8.0 x 3.0 m: a planked deck on ten piles with timber rails and a mooring post. Dimensions 8.00 x 2.25 x 3.24 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-beach-pier-set-759888c1","cdnUrl":"https://cdn.3dassets.dev/assets/18079/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-beach-pier-set-759888c1","thumbnailUrl":"https://cdn.3dassets.dev/assets/18079/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18079/v1/poster.webp","blurhash":"U7C6Y}xY00t8~V^*M|9a00xu~UIU0L0Lof?G","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":49124,"triangles":960,"vertices":2880,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-4.001200199127197,-0.00009783089868520278,-1.5697980347262364],"max":[4.001200199127197,2.255097945339603,1.6697979393588047]},"sizeMeters":[8.002,2.255,3.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:32.143Z","updatedAt":"2026-09-07T16:39:32.247Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18079/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BeachPierSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18079/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18079/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18079/v1/model.glb\" alt=\"Beach Pier Set (Martial Arts Dojo and Fight Stages)\" 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/18079/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/18079/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18078","slug":"martial-arts-dojo-and-fight-stages-snowy-shrine-set-c1d0bd64","title":"Snowy Shrine Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of a red shrine gate over snow-capped stone lanterns.","description":"Snowy shrine backdrop 8.0 x 3.0 m: a red gate 3.5 m tall over snow-covered ground with two capped stone blocks and drifts. Dimensions 8.00 x 3.54 x 3.00 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-snowy-shrine-set-c1d0bd64","cdnUrl":"https://cdn.3dassets.dev/assets/18078/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-snowy-shrine-set-c1d0bd64","thumbnailUrl":"https://cdn.3dassets.dev/assets/18078/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18078/v1/poster.webp","blurhash":"UNF~2GX80Kxa4TxukqM{00D%xatl?^sorXR*","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":45004,"triangles":888,"vertices":2664,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-4,0.0002917641031479068,-1.500167851802118],"max":[4,3.540059489337783,1.500167851802118]},"sizeMeters":[8,3.54,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:32.120Z","updatedAt":"2026-09-07T16:39:32.217Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18078/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SnowyShrineSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18078/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18078/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18078/v1/model.glb\" alt=\"Snowy Shrine Set (Martial Arts Dojo and Fight Stages)\" 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/18078/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/18078/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18081","slug":"martial-arts-dojo-and-fight-stages-subway-platform-set-0b2e4187","title":"Subway Platform Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of a tiled platform edge with columns and blank signs.","description":"Subway platform backdrop 8.0 x 3.0 m: a platform with a red edge strip, five columns and three blank sign panels. Dimensions 8.00 x 4.04 x 3.22 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-subway-platform-set-0b2e4187","cdnUrl":"https://cdn.3dassets.dev/assets/18081/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-subway-platform-set-0b2e4187","thumbnailUrl":"https://cdn.3dassets.dev/assets/18081/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18081/v1/poster.webp","blurhash":"U6GIir0000IV_N~q000000_M?bR5v#%N%#Rj","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":21660,"triangles":380,"vertices":1140,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-4,0.0001629497671156166,-1.5698369047928944],"max":[4,4.039837012085911,1.649922162899675]},"sizeMeters":[8,4.04,3.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:32.299Z","updatedAt":"2026-09-07T16:39:32.399Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18081/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SubwayPlatformSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18081/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18081/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18081/v1/model.glb\" alt=\"Subway Platform Set (Martial Arts Dojo and Fight Stages)\" 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/18081/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/18081/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18080","slug":"martial-arts-dojo-and-fight-stages-night-market-set-ff618b20","title":"Night Market Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of three canopied market stalls strung with bulbs.","description":"Night market backdrop 8.0 x 3.0 m: three stalls 2.6 m tall with striped canopies, counters, bowls and strings of bulbs. Dimensions 8.00 x 2.58 x 3.00 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-night-market-set-ff618b20","cdnUrl":"https://cdn.3dassets.dev/assets/18080/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-night-market-set-ff618b20","thumbnailUrl":"https://cdn.3dassets.dev/assets/18080/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18080/v1/poster.webp","blurhash":"U8D07S-p00xZ4p?ctRIA004;^Png_LD%w1s:","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":81568,"triangles":1596,"vertices":4788,"meshes":8,"materials":8,"textures":0,"animations":[],"boundingBox":{"min":[-4,0.00017365061694164796,-1.500167851802118],"max":[4,2.5799636418765513,1.500167851802118]},"sizeMeters":[8,2.58,3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:32.264Z","updatedAt":"2026-09-07T16:39:32.367Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18080/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function NightMarketSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18080/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18080/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18080/v1/model.glb\" alt=\"Night Market Set (Martial Arts Dojo and Fight Stages)\" 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/18080/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/18080/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18082","slug":"martial-arts-dojo-and-fight-stages-casino-floor-edge-s-fef0d563","title":"Casino Floor Edge Set (Martial Arts Dojo and Fight Stages)","summary":"Backdrop of two gaming tables against a row of gilded machines.","description":"Casino floor backdrop 8.0 x 3.0 m: two round gaming tables on patterned carpet in front of six gilded machine cabinets. Dimensions 8.00 x 3.84 x 3.07 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-casino-floor-edge-s-fef0d563","cdnUrl":"https://cdn.3dassets.dev/assets/18082/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-casino-floor-edge-s-fef0d563","thumbnailUrl":"https://cdn.3dassets.dev/assets/18082/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18082/v1/poster.webp","blurhash":"U8H1GSEf00J7$O^P9[5601#SQ-IoPB?^;}Di","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":45332,"triangles":880,"vertices":2640,"meshes":7,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-4,-0.00010258510718363922,-1.5698369047928944],"max":[4,3.840102499276495,1.499836852340807]},"sizeMeters":[8,3.84,3.07],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:32.644Z","updatedAt":"2026-09-07T16:39:32.749Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18082/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CasinoFloorEdgeSetMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18082/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18082/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18082/v1/model.glb\" alt=\"Casino Floor Edge Set (Martial Arts Dojo and Fight Stages)\" 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/18082/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/18082/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18083","slug":"martial-arts-dojo-and-fight-stages-arena-stand-block-ea369648","title":"Arena Stand Block (Martial Arts Dojo and Fight Stages)","summary":"Seven-row raked stand block with seventy seats.","description":"Arena stand block 8.0 m wide and 3.2 m tall: seven raked rows carrying seventy tip-up seats. Dimensions 8.00 x 3.50 x 6.30 m (X x Y x Z). Modular stand: origin centred on the front row at floor level, 8.0 m wide; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-arena-stand-block-ea369648","cdnUrl":"https://cdn.3dassets.dev/assets/18083/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-arena-stand-block-ea369648","thumbnailUrl":"https://cdn.3dassets.dev/assets/18083/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18083/v1/poster.webp","blurhash":"U7CG.I?v00X4JYIAi^NF00IAksMx-3_4t6xt","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"slug":"modular","title":"Modular"},{"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":89008,"triangles":1848,"vertices":5544,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-4,0.00010653820830075489,-5.849876358313371],"max":[4,3.499861094383596,0.44987644175987374]},"sizeMeters":[8,3.5,6.3],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:33.655Z","updatedAt":"2026-09-07T16:39:33.769Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18083/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArenaStandBlockMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18083/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18083/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18083/v1/model.glb\" alt=\"Arena Stand Block (Martial Arts Dojo and Fight Stages)\" 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/18083/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/18083/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18084","slug":"martial-arts-dojo-and-fight-stages-crowd-block-fbec9b38","title":"Cheering Crowd Block (Martial Arts Dojo and Fight Stages)","summary":"Static block of sixty simplified spectator figures.","description":"Cheering crowd block 7.8 m wide and 3.1 m deep: sixty simplified standing figures in five rows on rising steps, as static geometry. Dimensions 7.65 x 3.19 x 2.77 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-crowd-block-fbec9b38","cdnUrl":"https://cdn.3dassets.dev/assets/18084/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-crowd-block-fbec9b38","thumbnailUrl":"https://cdn.3dassets.dev/assets/18084/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18084/v1/poster.webp","blurhash":"U3Ci{-?c00t6_4?cM{4m00M{%3D%9EW9M_V[","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":415824,"triangles":8640,"vertices":25920,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-3.6586806774139404,0.0002329071676903105,-2.6273552467348207],"max":[3.988635540008545,3.1847670356118507,0.14735536177178488]},"sizeMeters":[7.647,3.185,2.775],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:34.527Z","updatedAt":"2026-09-07T16:39:34.633Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18084/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CheeringCrowdBlockMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18084/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18084/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18084/v1/model.glb\" alt=\"Cheering Crowd Block (Martial Arts Dojo and Fight Stages)\" 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/18084/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/18084/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18085","slug":"martial-arts-dojo-and-fight-stages-camera-crane-9e5c75f1","title":"Camera Crane (Martial Arts Dojo and Fight Stages)","summary":"Wheeled camera crane with a lattice boom and counterweight.","description":"Camera crane 5.4 m long and 3.2 m tall on a wheeled base, with a lattice boom carrying a camera head and a rear counterweight. Dimensions 1.36 x 3.34 x 5.52 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-camera-crane-9e5c75f1","cdnUrl":"https://cdn.3dassets.dev/assets/18085/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-camera-crane-9e5c75f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/18085/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18085/v1/poster.webp","blurhash":"U46[8b_N4mM{xa4nIT?c004n%3%MM{-=_3In","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":60604,"triangles":1196,"vertices":3588,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.7099951579859853,0.00001249823219139079,-4.453147888183594],"max":[0.6501385772177671,3.339889157492278,1.069974397320181]},"sizeMeters":[1.36,3.34,5.523],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:35.139Z","updatedAt":"2026-09-07T16:39:35.231Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18085/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CameraCraneMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18085/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18085/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18085/v1/model.glb\" alt=\"Camera Crane (Martial Arts Dojo and Fight Stages)\" 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/18085/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/18085/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18087","slug":"martial-arts-dojo-and-fight-stages-ring-bell-9455ac52","title":"Ring Bell (Martial Arts Dojo and Fight Stages)","summary":"Brass ring bell on a timber stand with a striker.","description":"Ring bell 0.62 m wide on a chrome-legged timber stand at 0.86 m, with a brass bell and a timber striker. Dimensions 0.66 x 1.18 x 0.49 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-ring-bell-9455ac52","cdnUrl":"https://cdn.3dassets.dev/assets/18087/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-ring-bell-9455ac52","thumbnailUrl":"https://cdn.3dassets.dev/assets/18087/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18087/v1/poster.webp","blurhash":"U69@It%L00NG~R%M4=IU4na$%3j;0MD*^%-o","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":17940,"triangles":308,"vertices":924,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.3100000023841858,0,-0.2652452195615598],"max":[0.34756011698647066,1.1799999475479126,0.22000000169200282]},"sizeMeters":[0.658,1.18,0.485],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:35.616Z","updatedAt":"2026-09-07T16:39:35.739Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18087/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RingBellMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18087/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18087/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18087/v1/model.glb\" alt=\"Ring Bell (Martial Arts Dojo and Fight Stages)\" 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/18087/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/18087/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18086","slug":"martial-arts-dojo-and-fight-stages-scoreboard-d128eeef","title":"Scoreboard (Martial Arts Dojo and Fight Stages)","summary":"Two-post scoreboard with blank digit panels.","description":"Scoreboard 2.9 m wide and 3.6 m tall on two posts, with six blank red digit panels on a dark face. Dimensions 3.20 x 3.55 x 0.60 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-scoreboard-d128eeef","cdnUrl":"https://cdn.3dassets.dev/assets/18086/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-scoreboard-d128eeef","thumbnailUrl":"https://cdn.3dassets.dev/assets/18086/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18086/v1/poster.webp","blurhash":"U78:@tt700WA}[xu56In9[r@$%J60|t7}@NF","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":8108,"triangles":156,"vertices":468,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.5999213933479026,0,-0.29988707748684573],"max":[1.5999213933479026,3.549999952316284,0.29988707748684573]},"sizeMeters":[3.2,3.55,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:35.405Z","updatedAt":"2026-09-07T16:39:35.496Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18086/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ScoreboardMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18086/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18086/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18086/v1/model.glb\" alt=\"Scoreboard (Martial Arts Dojo and Fight Stages)\" 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/18086/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/18086/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18088","slug":"martial-arts-dojo-and-fight-stages-ring-card-stand-2cb87ac9","title":"Ring Card Stand (Martial Arts Dojo and Fight Stages)","summary":"Weighted stand holding a blank round card.","description":"Ring card stand 1.71 m tall on a weighted base, holding a blank 0.70 x 0.50 m card. Dimensions 0.74 x 1.71 x 0.68 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-ring-card-stand-2cb87ac9","cdnUrl":"https://cdn.3dassets.dev/assets/18088/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-ring-card-stand-2cb87ac9","thumbnailUrl":"https://cdn.3dassets.dev/assets/18088/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18088/v1/poster.webp","blurhash":"U58z=Oxu00E1_2t64oMyxaxuWBD%00t7~qMy","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":8016,"triangles":116,"vertices":348,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.370037699215007,-0.000008240983751447994,-0.3400000035762787],"max":[0.370037699215007,1.7100000381469727,0.3400000035762787]},"sizeMeters":[0.74,1.71,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:35.635Z","updatedAt":"2026-09-07T16:39:35.763Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18088/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RingCardStandMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18088/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18088/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18088/v1/model.glb\" alt=\"Ring Card Stand (Martial Arts Dojo and Fight Stages)\" 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/18088/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/18088/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18089","slug":"martial-arts-dojo-and-fight-stages-commentary-desk-26b4a80e","title":"Commentary Desk (Martial Arts Dojo and Fight Stages)","summary":"Broadcast desk with two microphones, monitors and stools.","description":"Commentary desk 2.7 m wide at 1.01 m with a plain front panel, two gooseneck microphones, two monitors and two stools. Dimensions 2.70 x 1.40 x 1.28 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-commentary-desk-26b4a80e","cdnUrl":"https://cdn.3dassets.dev/assets/18089/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-commentary-desk-26b4a80e","thumbnailUrl":"https://cdn.3dassets.dev/assets/18089/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18089/v1/poster.webp","blurhash":"U7ATi;?w00RN=?-oXTNG00R3?aOZ0:ItrVeS","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":26168,"triangles":472,"vertices":1416,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.350000023841858,-0.00008848991931609262,-0.830052171547001],"max":[1.350000023841858,1.4000884660774582,0.44994507462925903]},"sizeMeters":[2.7,1.4,1.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:35.795Z","updatedAt":"2026-09-07T16:39:35.905Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18089/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CommentaryDeskMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18089/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18089/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18089/v1/model.glb\" alt=\"Commentary Desk (Martial Arts Dojo and Fight Stages)\" 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/18089/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/18089/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18090","slug":"martial-arts-dojo-and-fight-stages-spotlight-rig-458850f7","title":"Spotlight Rig (Martial Arts Dojo and Fight Stages)","summary":"Four-post lighting tower carrying four fresnel heads.","description":"Spotlight rig 1.6 m wide and 3.75 m tall: a braced four-post tower with a cross beam carrying four fresnel heads. Dimensions 1.92 x 3.76 x 1.18 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-spotlight-rig-458850f7","cdnUrl":"https://cdn.3dassets.dev/assets/18090/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-spotlight-rig-458850f7","thumbnailUrl":"https://cdn.3dassets.dev/assets/18090/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18090/v1/poster.webp","blurhash":"U15}v_x^00Dh_3x]Di9Ftj-:My4U0KWF_2s*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":39776,"triangles":792,"vertices":2376,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.9601098641989219,0,-0.5900997940292764],"max":[0.9601098641989219,3.759999990463257,0.5900997940292764]},"sizeMeters":[1.92,3.76,1.18],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:36.022Z","updatedAt":"2026-09-07T16:39:36.172Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18090/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SpotlightRigMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18090/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18090/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18090/v1/model.glb\" alt=\"Spotlight Rig (Martial Arts Dojo and Fight Stages)\" 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/18090/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/18090/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18091","slug":"martial-arts-dojo-and-fight-stages-event-banner-bfe03511","title":"Event Banner (Martial Arts Dojo and Fight Stages)","summary":"Two-post hanging banner with a blank field.","description":"Event banner 4.3 m wide and 3.25 m tall on two weighted posts, with a blank white field on blue. Dimensions 4.80 x 3.21 x 0.60 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-event-banner-bfe03511","cdnUrl":"https://cdn.3dassets.dev/assets/18091/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-event-banner-bfe03511","thumbnailUrl":"https://cdn.3dassets.dev/assets/18091/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18091/v1/poster.webp","blurhash":"UB9tcUt700WC_4%NDiIA00tR?vIT00Rj_4xv","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9100,"triangles":148,"vertices":444,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.4000000953674316,0.00007779170687771675,-0.3000091674741356],"max":[2.4000000953674316,3.2149221224624336,0.3000091674741356]},"sizeMeters":[4.8,3.215,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:37.118Z","updatedAt":"2026-09-07T16:39:37.207Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18091/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function EventBannerMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18091/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18091/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18091/v1/model.glb\" alt=\"Event Banner (Martial Arts Dojo and Fight Stages)\" 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/18091/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/18091/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18092","slug":"martial-arts-dojo-and-fight-stages-trophy-belt-stand-0a460808","title":"Trophy Belt On Stand (Martial Arts Dojo and Fight Stages)","summary":"Championship belt displayed over a timber stand.","description":"Trophy belt on a stand 0.70 m wide and 1.52 m tall: a black strap over a timber cradle with a large gilded centre plate and four side plates. Dimensions 0.76 x 1.65 x 0.68 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-trophy-belt-stand-0a460808","cdnUrl":"https://cdn.3dassets.dev/assets/18092/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-trophy-belt-stand-0a460808","thumbnailUrl":"https://cdn.3dassets.dev/assets/18092/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18092/v1/poster.webp","blurhash":"U27-7*xa00Iq02W9~Tt9.8RkMxtREjS1xWxb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":16148,"triangles":284,"vertices":852,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3799999952316284,0,-0.3400000035762787],"max":[0.3799999952316284,1.6499981783560322,0.3400000035762787]},"sizeMeters":[0.76,1.65,0.68],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:37.754Z","updatedAt":"2026-09-07T16:39:37.849Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18092/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TrophyBeltOnStandMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18092/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18092/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18092/v1/model.glb\" alt=\"Trophy Belt On Stand (Martial Arts Dojo and Fight Stages)\" 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/18092/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/18092/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18093","slug":"martial-arts-dojo-and-fight-stages-medical-table-7502620e","title":"Medical Table (Martial Arts Dojo and Fight Stages)","summary":"Wheeled treatment table with a raised head end and a kit box.","description":"Medical table 1.9 m long at 0.80 m on a wheeled chrome frame, with a raised head pad and a first-aid box. Dimensions 1.90 x 1.17 x 0.66 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-medical-table-7502620e","cdnUrl":"https://cdn.3dassets.dev/assets/18093/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-medical-table-7502620e","thumbnailUrl":"https://cdn.3dassets.dev/assets/18093/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18093/v1/poster.webp","blurhash":"UNDl{5xuD%s:~q-;IUM{4n%MxuIU00Vs-;S3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":17676,"triangles":296,"vertices":888,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,0.00003738464208293685,-0.3299645943884978],"max":[0.949999988079071,1.1649967723105663,0.3299645943884978]},"sizeMeters":[1.9,1.165,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:38.358Z","updatedAt":"2026-09-07T16:39:38.441Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18093/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MedicalTableMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18093/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18093/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18093/v1/model.glb\" alt=\"Medical Table (Martial Arts Dojo and Fight Stages)\" 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/18093/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/18093/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18094","slug":"martial-arts-dojo-and-fight-stages-weigh-in-scale-e90215ce","title":"Weigh-In Scale (Martial Arts Dojo and Fight Stages)","summary":"Platform scale with a column and a blank dial head.","description":"Weigh-in scale 0.70 m wide and 1.72 m tall: a chrome platform on a dark base with a column carrying a blank dial head. Dimensions 0.70 x 1.72 x 0.60 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-weigh-in-scale-e90215ce","cdnUrl":"https://cdn.3dassets.dev/assets/18094/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-weigh-in-scale-e90215ce","thumbnailUrl":"https://cdn.3dassets.dev/assets/18094/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18094/v1/poster.webp","blurhash":"U36H+PM{00?b%1M_D%-=_4ay9Eof?bt7D$RP","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":6900,"triangles":92,"vertices":276,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.3500418161805266,0,-0.2999646035185753],"max":[0.3500418161805266,1.7200000286102295,0.2999646035185753]},"sizeMeters":[0.7,1.72,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:38.808Z","updatedAt":"2026-09-07T16:39:38.915Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18094/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WeighInScaleMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18094/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18094/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18094/v1/model.glb\" alt=\"Weigh-In Scale (Martial Arts Dojo and Fight Stages)\" 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/18094/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/18094/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18096","slug":"martial-arts-dojo-and-fight-stages-podium-a67022d7","title":"Podium (Martial Arts Dojo and Fight Stages)","summary":"Three-step winners podium with plain risers.","description":"Winners podium 3.3 m wide with three plain blue risers at 0.78, 0.60 and 0.42 m, each with a white tread and a blank place plate. Dimensions 3.34 x 0.80 x 1.14 m (X x Y x Z). Footprint-centred origin resting on the ground; metre units, +Y up, +Z forward. Dojo low-poly palette of tatami, timber, canvas and painted steel, no textures. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-podium-a67022d7","cdnUrl":"https://cdn.3dassets.dev/assets/18096/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-podium-a67022d7","thumbnailUrl":"https://cdn.3dassets.dev/assets/18096/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18096/v1/poster.webp","blurhash":"U9DTCjxt00-:~9?cNHIU00sk_4E20200-T%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7468,"triangles":120,"vertices":360,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.6699999570846558,0.00005861504432191911,-0.5700536979275452],"max":[1.6699999570846558,0.7999688785806379,0.5700536979275452]},"sizeMeters":[3.34,0.8,1.14],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:39.129Z","updatedAt":"2026-09-07T16:39:39.215Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18096/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PodiumMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18096/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18096/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18096/v1/model.glb\" alt=\"Podium (Martial Arts Dojo and Fight Stages)\" 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/18096/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/18096/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18095","slug":"martial-arts-dojo-and-fight-stages-fight-394bf497-starter-scene","title":"Fight Night Stage (Martial Arts Dojo and Fight Stages)","summary":"Composed example for Martial Arts Dojo and Fight Stages.","description":"Fight night demonstration: a boxing ring on a raised stage with an entrance ramp and apron skirts, corner stools, crowd blocks and stand blocks either side, spotlight rigs, a scoreboard, commentary desk, camera crane and podium. Static layout of pack instances; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-fight-394bf497-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/18095/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-fight-394bf497-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/18095/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18095/v1/poster.webp","blurhash":"U78z_j%M00o~tSV@s:tR00IT~qr=MckXNGR4","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":620492,"triangles":14920,"vertices":31835,"meshes":48,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-11.62735524673482,-0.00008848991931609262,-15.34987635831337],"max":[11.62735524673482,3.759999990463257,10.399999952316284]},"sizeMeters":[23.255,3.76,25.75],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:38.987Z","updatedAt":"2026-09-07T16:39:39.072Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18095/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FightNightStageMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18095/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18095/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18095/v1/model.glb\" alt=\"Fight Night Stage (Martial Arts Dojo and Fight Stages)\" 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/18095/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/18095/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"18097","slug":"martial-arts-dojo-and-fight-stages-dojo-training-circu-d65af306","title":"Dojo Training Circuit (Martial Arts Dojo and Fight Stages)","summary":"Composed example for Martial Arts Dojo and Fight Stages.","description":"Dojo interior demonstration: a tatami floor inside walls with a weapon rack, mirror and shrine alcove, roof beams overhead, and a training circuit of heavy bag, speed bag, wooden dummy, makiwara, plyo box, rig and weights. Static layout; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/martial-arts-dojo-and-fight-stages-dojo-training-circu-d65af306","cdnUrl":"https://cdn.3dassets.dev/assets/18097/v1/model.glb","downloadUrl":"https://3dassets.dev/download/martial-arts-dojo-and-fight-stages-dojo-training-circu-d65af306","thumbnailUrl":"https://cdn.3dassets.dev/assets/18097/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/18097/v1/poster.webp","blurhash":"U7C~^.D%00-;RkoekBt800%M~VIVxZM}V^NE","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":483476,"triangles":11272,"vertices":23521,"meshes":75,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-5.81365784480812,-0.00004792240452755614,-5],"max":[5.997349362222085,3.201200008392334,4.469924009953354]},"sizeMeters":[11.811,3.201,9.47],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":0,"publishedAt":"2026-09-07T16:39:39.181Z","updatedAt":"2026-09-07T16:39:39.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/18097/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DojoTrainingCircuitMartialArtsDojoAndFightStages(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/18097/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/18097/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/18097/v1/model.glb\" alt=\"Dojo Training Circuit (Martial Arts Dojo and Fight Stages)\" 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/18097/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/18097/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"martial-arts-dojo-and-fight-stages","title":"Martial arts dojo","url":"https://3dassets.dev/demos/martial-arts-dojo-and-fight-stages"}}}