{"data":{"id":24,"slug":"tabletop-game-components","title":"Board Game Pieces, Dice and Tokens","summary":"A full polyhedral dice set, meeples and pawns, resource and objective tokens, hex and route tiles, card stands and decks, dice towers, trays, counters and markers for tabletop and board games.","description":"A crafted tabletop component library with original geometric symbols, useful open containers and two example layouts. No branded rules or gameplay.","url":"https://3dassets.dev/packs/tabletop-game-components","coverUrl":"https://cdn.3dassets.dev/assets/20891/v1/poster.webp","assetCount":48,"aiGenerated":true,"aiGeneratedAssetCount":48,"aiModels":["Claude Fable 5.1"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":899728,"totalTriangles":19246,"starterScene":{"id":"20891","slug":"tabletop-game-components-route-planning--77b7d3f2-starter-scene","title":"Canal route planning layout (Board Game Pieces, Dice and Tokens)","summary":"Connected canal tiles and bridge crossing with ownership tokens, dice and a score track.","description":"Connected canal tiles and bridge crossing with ownership tokens, dice and a score track.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-route-planning--77b7d3f2-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/20891/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-route-planning--77b7d3f2-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/20891/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20891/v1/poster.webp","blurhash":"U76I?6Xm4Ti{oxo}WEeT00nO.lW=RQVEs.X-","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":113840,"triangles":2328,"vertices":5510,"meshes":76,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000011200301183771988,-0.20001221535156147],"max":[0.30000001192092896,0.03849999845027924,0.20001221535156147]},"sizeMeters":[0.6,0.038,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":14,"publishedAt":"2026-09-07T17:16:43.818Z","updatedAt":"2026-10-05T06:03:49.743Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20891/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalRoutePlanningLayoutBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20891/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20891/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20891/v1/model.glb\" alt=\"Canal route planning layout (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20891/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20891/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"20841","slug":"tabletop-game-components-d2-coin-684a1682","title":"D2 toss coin (Board Game Pieces, Dice and Tokens)","summary":"28 mm coin with one raised top pip and two underside pips.","description":"28 mm coin with one raised top pip and two underside pips. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d2-coin-684a1682","cdnUrl":"https://cdn.3dassets.dev/assets/20841/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d2-coin-684a1682","thumbnailUrl":"https://cdn.3dassets.dev/assets/20841/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20841/v1/poster.webp","blurhash":"UGDc25xt02Rkxsf6R+j[00Rk~UoeE3j[t6WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":11340,"triangles":328,"vertices":984,"meshes":4,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.014000000432133675,3.1257663129060156e-8,-0.014000000432133675],"max":[0.014000000432133675,0.003699968666729488,0.014000000432133675]},"sizeMeters":[0.028,0.004,0.028],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:26.626Z","updatedAt":"2026-10-05T18:10:24.117Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20841/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D2TossCoinBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20841/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20841/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20841/v1/model.glb\" alt=\"D2 toss coin (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20841/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20841/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20845","slug":"tabletop-game-components-d4-tetrahedron-af97e14a","title":"D4 tetrahedral die (Board Game Pieces, Dice and Tokens)","summary":"Faceted 4-face die with one ordinal pip array per face, values 1–4; raised geometry markings.","description":"Faceted 4-face die with one ordinal pip array per face, values 1–4; raised geometry markings. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d4-tetrahedron-af97e14a","cdnUrl":"https://cdn.3dassets.dev/assets/20845/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d4-tetrahedron-af97e14a","thumbnailUrl":"https://cdn.3dassets.dev/assets/20845/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20845/v1/poster.webp","blurhash":"U6FFjO?b00D%a|of00D%00IU_2kC~pay~p%M","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7744,"triangles":84,"vertices":252,"meshes":5,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.010392304509878159,0,-0.010392304509878159],"max":[0.010392304509878159,0.020784609019756317,0.010392304509878159]},"sizeMeters":[0.021,0.021,0.021],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:26.798Z","updatedAt":"2026-10-05T18:10:24.124Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20845/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D4TetrahedralDieBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20845/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20845/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20845/v1/model.glb\" alt=\"D4 tetrahedral die (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20845/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20845/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20839","slug":"tabletop-game-components-d6-cube-3840dad9","title":"D6 cubic die (Board Game Pieces, Dice and Tokens)","summary":"Faceted 6-face die with one ordinal pip array per face, values 1–6; raised geometry markings.","description":"Faceted 6-face die with one ordinal pip array per face, values 1–6; raised geometry markings. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d6-cube-3840dad9","cdnUrl":"https://cdn.3dassets.dev/assets/20839/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d6-cube-3840dad9","thumbnailUrl":"https://cdn.3dassets.dev/assets/20839/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20839/v1/poster.webp","blurhash":"UFK-g^~q00t7_3WVRjt700D%9FM|oIj[WBV@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":13244,"triangles":180,"vertices":540,"meshes":7,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.012040000408887863,0,-0.012040000408887863],"max":[0.012040000408887863,0.024080000817775726,0.012040000408887863]},"sizeMeters":[0.024,0.024,0.024],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":15,"publishedAt":"2026-09-07T17:16:26.477Z","updatedAt":"2026-10-25T14:41:59.915Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20839/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D6CubicDieBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20839/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20839/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20839/v1/model.glb\" alt=\"D6 cubic die (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20839/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20839/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20844","slug":"tabletop-game-components-d8-octahedron-e7a37f2f","title":"D8 octahedral die (Board Game Pieces, Dice and Tokens)","summary":"Faceted 8-face die with one ordinal pip array per face, values 1–8; raised geometry markings.","description":"Faceted 8-face die with one ordinal pip array per face, values 1–8; raised geometry markings. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d8-octahedron-e7a37f2f","cdnUrl":"https://cdn.3dassets.dev/assets/20844/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d8-octahedron-e7a37f2f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20844/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20844/v1/poster.webp","blurhash":"UGBz2wxt00M{-poLIVWB00Rj~pt79GWB%Ms:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":20400,"triangles":296,"vertices":888,"meshes":9,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.01899999938905239,0,-0.01899999938905239],"max":[0.01899999938905239,0.03799999877810478,0.01899999938905239]},"sizeMeters":[0.038,0.038,0.038],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:26.761Z","updatedAt":"2026-10-05T18:10:20.363Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20844/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D8OctahedralDieBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20844/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20844/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20844/v1/model.glb\" alt=\"D8 octahedral die (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20844/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20844/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20846","slug":"tabletop-game-components-d10-bipyramid-ed4c3783","title":"D10 bipyramid die (Board Game Pieces, Dice and Tokens)","summary":"Faceted 10-face die with one ordinal pip array per face, values 1–10; raised geometry markings.","description":"Faceted 10-face die with one ordinal pip array per face, values 1–10; raised geometry markings. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d10-bipyramid-ed4c3783","cdnUrl":"https://cdn.3dassets.dev/assets/20846/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d10-bipyramid-ed4c3783","thumbnailUrl":"https://cdn.3dassets.dev/assets/20846/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20846/v1/poster.webp","blurhash":"UEBph9-:009Z?bt7D%Rj00In~pxu4oRj-;t8","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":29052,"triangles":450,"vertices":1350,"meshes":11,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.012136156752634632,0,-0.014266792490951499],"max":[0.015000901266861546,0.03999999910593033,0.014266792490951499]},"sizeMeters":[0.027,0.04,0.029],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:26.908Z","updatedAt":"2026-10-05T18:10:21.346Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20846/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D10BipyramidDieBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20846/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20846/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20846/v1/model.glb\" alt=\"D10 bipyramid die (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20846/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20846/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20842","slug":"tabletop-game-components-d12-dodecahedron-f87385ea","title":"D12 dodecahedral die (Board Game Pieces, Dice and Tokens)","summary":"Faceted 12-face die with one ordinal pip array per face, values 1–12; raised geometry markings.","description":"Faceted 12-face die with one ordinal pip array per face, values 1–12; raised geometry markings. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d12-dodecahedron-f87385ea","cdnUrl":"https://cdn.3dassets.dev/assets/20842/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d12-dodecahedron-f87385ea","thumbnailUrl":"https://cdn.3dassets.dev/assets/20842/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20842/v1/poster.webp","blurhash":"UFEo-{%M00IU_2t7IURj00M{~pof4nWBxuWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":40512,"triangles":660,"vertices":1980,"meshes":13,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.017749274149537086,0,-0.017749274149537086],"max":[0.017749274149537086,0.03549854829907417,0.017749274149537086]},"sizeMeters":[0.035,0.035,0.035],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:26.672Z","updatedAt":"2026-10-05T18:10:21.098Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20842/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D12DodecahedralDieBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20842/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20842/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20842/v1/model.glb\" alt=\"D12 dodecahedral die (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20842/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20842/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20843","slug":"tabletop-game-components-d20-icosahedron-c5214a6a","title":"D20 icosahedral die (Board Game Pieces, Dice and Tokens)","summary":"Faceted 20-face die with one ordinal pip array per face, values 1–20; raised geometry markings.","description":"Faceted 20-face die with one ordinal pip array per face, values 1–20; raised geometry markings. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-d20-icosahedron-c5214a6a","cdnUrl":"https://cdn.3dassets.dev/assets/20843/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-d20-icosahedron-c5214a6a","thumbnailUrl":"https://cdn.3dassets.dev/assets/20843/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20843/v1/poster.webp","blurhash":"UCE{e1-p00E0~WofD%ay00Io~qxu4nRjx]WB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":95332,"triangles":1700,"vertices":5100,"meshes":21,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.01701301708817482,0,-0.01701301708817482],"max":[0.01701301708817482,0.03402603417634964,0.01701301708817482]},"sizeMeters":[0.034,0.034,0.034],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:26.704Z","updatedAt":"2026-10-05T18:10:38.249Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20843/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function D20IcosahedralDieBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20843/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20843/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20843/v1/model.glb\" alt=\"D20 icosahedral die (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20843/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20843/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20840","slug":"tabletop-game-components-worker-meeple-5b14f812","title":"Worker meeple (Board Game Pieces, Dice and Tokens)","summary":"36 mm broad shouldered worker silhouette with head, splayed legs and arms.","description":"36 mm broad shouldered worker silhouette with head, splayed legs and arms. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-worker-meeple-5b14f812","cdnUrl":"https://cdn.3dassets.dev/assets/20840/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-worker-meeple-5b14f812","thumbnailUrl":"https://cdn.3dassets.dev/assets/20840/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20840/v1/poster.webp","blurhash":"U34XC?uO00Qmtlt,R*QmL#Q-l.yrUveTV@WV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4540,"triangles":72,"vertices":216,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.016000426570349488,0,-0.007999145499570065],"max":[0.016000426570349488,0.035999998450279236,-8.548804095427978e-7]},"sizeMeters":[0.032,0.036,0.008],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:26.471Z","updatedAt":"2026-10-05T18:10:38.500Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20840/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WorkerMeepleBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20840/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20840/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20840/v1/model.glb\" alt=\"Worker meeple (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20840/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20840/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20854","slug":"tabletop-game-components-soldier-pawn-c4f48900","title":"Helmeted soldier pawn (Board Game Pieces, Dice and Tokens)","summary":"30 mm pawn with a helmet brim and side baton.","description":"30 mm pawn with a helmet brim and side baton. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-soldier-pawn-c4f48900","cdnUrl":"https://cdn.3dassets.dev/assets/20854/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-soldier-pawn-c4f48900","thumbnailUrl":"https://cdn.3dassets.dev/assets/20854/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20854/v1/poster.webp","blurhash":"UAC=h@$+00I.0$R*]hsA0#X5^OnS}BjGKioz","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":23832,"triangles":468,"vertices":1404,"meshes":5,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.010999999940395355,5.494389997023376e-7,-0.010999999940395355],"max":[0.010999999940395355,0.029999999329447746,0.010999999940395355]},"sizeMeters":[0.022,0.03,0.022],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:29.938Z","updatedAt":"2026-10-05T18:10:39.078Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20854/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HelmetedSoldierPawnBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20854/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20854/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20854/v1/model.glb\" alt=\"Helmeted soldier pawn (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20854/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20854/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20858","slug":"tabletop-game-components-house-token-77bf5818","title":"House ownership token (Board Game Pieces, Dice and Tokens)","summary":"29 mm gabled house with contrasting roof and front door.","description":"29 mm gabled house with contrasting roof and front door. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-house-token-77bf5818","cdnUrl":"https://cdn.3dassets.dev/assets/20858/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-house-token-77bf5818","thumbnailUrl":"https://cdn.3dassets.dev/assets/20858/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20858/v1/poster.webp","blurhash":"UCHKa}xu00xZD4IoyX$$00Io#Rs;Lzxuv$SN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3624,"triangles":32,"vertices":96,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.014000000432133675,0,-0.012499466311901323],"max":[0.014000000432133675,0.028999145711611926,0.012499466311901323]},"sizeMeters":[0.028,0.029,0.025],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:30.090Z","updatedAt":"2026-10-05T18:10:39.001Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20858/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HouseOwnershipTokenBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20858/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20858/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20858/v1/model.glb\" alt=\"House ownership token (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20858/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20858/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20857","slug":"tabletop-game-components-outpost-tower-54f9f880","title":"Outpost tower token (Board Game Pieces, Dice and Tokens)","summary":"30 mm round watchtower with four battlements and a recessed crown.","description":"30 mm round watchtower with four battlements and a recessed crown. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-outpost-tower-54f9f880","cdnUrl":"https://cdn.3dassets.dev/assets/20857/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-outpost-tower-54f9f880","thumbnailUrl":"https://cdn.3dassets.dev/assets/20857/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20857/v1/poster.webp","blurhash":"UME.^Uxu00IV~poLD*bb9GWB-:t7M{ayRjWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":10684,"triangles":240,"vertices":720,"meshes":6,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.012000000104308128,4.273367465923092e-7,-0.012000000104308128],"max":[0.012000000104308128,0.02999999956227839,0.012000000104308128]},"sizeMeters":[0.024,0.03,0.024],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:30.078Z","updatedAt":"2026-10-05T18:10:39.269Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20857/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OutpostTowerTokenBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20857/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20857/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20857/v1/model.glb\" alt=\"Outpost tower token (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20857/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20857/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20856","slug":"tabletop-game-components-resource-cube-438a9711","title":"Resource crate cube (Board Game Pieces, Dice and Tokens)","summary":"18 mm resource crate with two raised binding bands.","description":"18 mm resource crate with two raised binding bands. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-resource-cube-438a9711","cdnUrl":"https://cdn.3dassets.dev/assets/20856/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-resource-cube-438a9711","thumbnailUrl":"https://cdn.3dassets.dev/assets/20856/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20856/v1/poster.webp","blurhash":"UBHw;^~U03M}^#WCSdt603E2E2kBawoeNLRk","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":2792,"triangles":36,"vertices":108,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.009999999776482582,0,-0.009999999776482582],"max":[0.009999999776482582,0.017999999225139618,0.009999999776482582]},"sizeMeters":[0.02,0.018,0.02],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:30.057Z","updatedAt":"2026-10-25T11:31:03.818Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20856/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ResourceCrateCubeBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20856/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20856/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20856/v1/model.glb\" alt=\"Resource crate cube (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20856/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20856/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20860","slug":"tabletop-game-components-barrel-token-9b290264","title":"Barrel supply token (Board Game Pieces, Dice and Tokens)","summary":"24 mm bulged wooden barrel with two dark hoops.","description":"24 mm bulged wooden barrel with two dark hoops. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-barrel-token-9b290264","cdnUrl":"https://cdn.3dassets.dev/assets/20860/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-barrel-token-9b290264","thumbnailUrl":"https://cdn.3dassets.dev/assets/20860/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20860/v1/poster.webp","blurhash":"U8CP65={009b~AkB9bn%0MIp-UtQIpayoya#","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":16432,"triangles":384,"vertices":1152,"meshes":4,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.012000000104308128,-9.155552922381766e-7,-0.012000000104308128],"max":[0.012000000104308128,0.024000915763908497,0.012000000104308128]},"sizeMeters":[0.024,0.024,0.024],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:30.260Z","updatedAt":"2026-10-05T18:10:39.465Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20860/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarrelSupplyTokenBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20860/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20860/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20860/v1/model.glb\" alt=\"Barrel supply token (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20860/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20860/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20855","slug":"tabletop-game-components-treasure-chest-b0e8881c","title":"Treasure chest token (Board Game Pieces, Dice and Tokens)","summary":"29 mm treasure chest with rounded lid, binding bands and latch.","description":"29 mm treasure chest with rounded lid, binding bands and latch. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-treasure-chest-b0e8881c","cdnUrl":"https://cdn.3dassets.dev/assets/20855/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-treasure-chest-b0e8881c","thumbnailUrl":"https://cdn.3dassets.dev/assets/20855/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20855/v1/poster.webp","blurhash":"UEHw*#~T04ICxZ%1WVNJ03E3NLS1IVt6s.Ip","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":6528,"triangles":96,"vertices":288,"meshes":5,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.014499999582767487,0,-0.009999603205192921],"max":[0.014499999582767487,0.023500869004946905,0.010999877866337441]},"sizeMeters":[0.029,0.024,0.021],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:30.039Z","updatedAt":"2026-10-25T11:53:47.825Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20855/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TreasureChestTokenBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20855/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20855/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20855/v1/model.glb\" alt=\"Treasure chest token (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20855/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20855/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20859","slug":"tabletop-game-components-flag-token-c15ac9f7","title":"Claim flag token (Board Game Pieces, Dice and Tokens)","summary":"36 mm claim flag on a stable circular foot; flag faces +Z.","description":"36 mm claim flag on a stable circular foot; flag faces +Z. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-flag-token-c15ac9f7","cdnUrl":"https://cdn.3dassets.dev/assets/20859/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-flag-token-c15ac9f7","thumbnailUrl":"https://cdn.3dassets.dev/assets/20859/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20859/v1/poster.webp","blurhash":"UAA9==cE00Qn^NS25Sr?0Mrs~ATJ0~sB^OOX","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9852,"triangles":204,"vertices":612,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.012000000104308128,-4.5777764611995564e-8,-0.012000000104308128],"max":[0.017999999225139618,0.035999998450279236,0.012000000104308128]},"sizeMeters":[0.03,0.036,0.024],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:30.156Z","updatedAt":"2026-10-05T15:32:42.591Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20859/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClaimFlagTokenBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20859/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20859/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20859/v1/model.glb\" alt=\"Claim flag token (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20859/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20859/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20861","slug":"tabletop-game-components-hex-island-d505ebf5","title":"Hex island tile (Board Game Pieces, Dice and Tokens)","summary":"60 mm across-flats hex water tile with a raised irregular island.","description":"60 mm across-flats hex water tile with a raised irregular island. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-hex-island-d505ebf5","cdnUrl":"https://cdn.3dassets.dev/assets/20861/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-hex-island-d505ebf5","thumbnailUrl":"https://cdn.3dassets.dev/assets/20861/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20861/v1/poster.webp","blurhash":"UA8qsUx[4TNGJBWCsSoe00RQ?]s:=Xt6OYWB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":14240,"triangles":244,"vertices":732,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.03463999927043915,-1.487932057525447e-7,-0.030001176161863846],"max":[0.03463999927043915,0.01600000075995922,0.030001176161863846]},"sizeMeters":[0.069,0.016,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:30.206Z","updatedAt":"2026-10-05T18:10:46.452Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20861/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HexIslandTileBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20861/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20861/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20861/v1/model.glb\" alt=\"Hex island tile (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20861/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20861/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20865","slug":"tabletop-game-components-canal-straight-35c2dacf","title":"Straight canal tile (Board Game Pieces, Dice and Tokens)","summary":"60 mm route tile with visible edge connections and solid underside. straight topology.","description":"60 mm route tile with visible edge connections and solid underside. straight topology. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-canal-straight-35c2dacf","cdnUrl":"https://cdn.3dassets.dev/assets/20865/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-canal-straight-35c2dacf","thumbnailUrl":"https://cdn.3dassets.dev/assets/20865/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20865/v1/poster.webp","blurhash":"U6BDl_-.00RlyrnkVYX800IV*IS2HXX7TKv~","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3428,"triangles":36,"vertices":108,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.005701573213482104,0.029999999329447746]},"sizeMeters":[0.06,0.006,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:33.418Z","updatedAt":"2026-10-05T18:10:44.557Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20865/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StraightCanalTileBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20865/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20865/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20865/v1/model.glb\" alt=\"Straight canal tile (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20865/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20865/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20862","slug":"tabletop-game-components-canal-elbow-47ee2349","title":"Right angle canal tile (Board Game Pieces, Dice and Tokens)","summary":"60 mm route tile with visible edge connections and solid underside. elbow topology.","description":"60 mm route tile with visible edge connections and solid underside. elbow topology. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-canal-elbow-47ee2349","cdnUrl":"https://cdn.3dassets.dev/assets/20862/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-canal-elbow-47ee2349","thumbnailUrl":"https://cdn.3dassets.dev/assets/20862/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20862/v1/poster.webp","blurhash":"U6BN7i^$009xyrjHVYbb009b*I-PHXg1TKn5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4212,"triangles":48,"vertices":144,"meshes":4,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.005700230404245345,0.029999999329447746]},"sizeMeters":[0.06,0.006,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:33.375Z","updatedAt":"2026-10-05T18:10:44.039Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20862/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function RightAngleCanalTileBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20862/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20862/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20862/v1/model.glb\" alt=\"Right angle canal tile (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20862/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20862/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20863","slug":"tabletop-game-components-canal-junction-6c5487bb","title":"Three way canal tile (Board Game Pieces, Dice and Tokens)","summary":"60 mm route tile with visible edge connections and solid underside. junction topology.","description":"60 mm route tile with visible edge connections and solid underside. junction topology. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-canal-junction-6c5487bb","cdnUrl":"https://cdn.3dassets.dev/assets/20863/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-canal-junction-6c5487bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/20863/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20863/v1/poster.webp","blurhash":"U5A^gu?Y00EO*JjHR4X800D+uit2D4XQTdrr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4216,"triangles":48,"vertices":144,"meshes":4,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.005701573213482104,0.029999999329447746]},"sizeMeters":[0.06,0.006,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:33.372Z","updatedAt":"2026-10-05T14:43:55.634Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20863/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThreeWayCanalTileBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20863/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20863/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20863/v1/model.glb\" alt=\"Three way canal tile (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20863/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20863/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20866","slug":"tabletop-game-components-crossroads-99d39683","title":"Crossroads route tile (Board Game Pieces, Dice and Tokens)","summary":"60 mm route tile with visible edge connections and solid underside. cross topology.","description":"60 mm route tile with visible edge connections and solid underside. cross topology. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-crossroads-99d39683","cdnUrl":"https://cdn.3dassets.dev/assets/20866/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-crossroads-99d39683","thumbnailUrl":"https://cdn.3dassets.dev/assets/20866/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20866/v1/poster.webp","blurhash":"UAD07D%L00Rk.8a#Mxod00M|_MbH4Tobx]Rl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4160,"triangles":48,"vertices":144,"meshes":4,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.005701573213482104,0.029999999329447746]},"sizeMeters":[0.06,0.006,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":10,"publishedAt":"2026-09-07T17:16:33.524Z","updatedAt":"2026-10-05T18:10:45.248Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20866/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CrossroadsRouteTileBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20866/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20866/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20866/v1/model.glb\" alt=\"Crossroads route tile (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20866/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20866/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20869","slug":"tabletop-game-components-arched-bridge-14707306","title":"Bridge over canal tile (Board Game Pieces, Dice and Tokens)","summary":"60 mm canal crossing with raised bridge deck, two abutments and clear water passage.","description":"60 mm canal crossing with raised bridge deck, two abutments and clear water passage. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-arched-bridge-14707306","cdnUrl":"https://cdn.3dassets.dev/assets/20869/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-arched-bridge-14707306","thumbnailUrl":"https://cdn.3dassets.dev/assets/20869/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20869/v1/poster.webp","blurhash":"U7CZFN-:00RQIVe;NaNa00M{~VNdt*W;^Q-T","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":6744,"triangles":108,"vertices":324,"meshes":9,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.023999572576964112,0.029999999329447746]},"sizeMeters":[0.06,0.024,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:33.583Z","updatedAt":"2026-10-25T03:18:49.257Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20869/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BridgeOverCanalTileBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20869/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20869/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20869/v1/model.glb\" alt=\"Bridge over canal tile (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20869/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20869/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20864","slug":"tabletop-game-components-corridor-corner-32a0d8b1","title":"Walled corridor corner (Board Game Pieces, Dice and Tokens)","summary":"60 mm route tile with visible edge connections and solid underside. corner topology.","description":"60 mm route tile with visible edge connections and solid underside. corner topology. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-corridor-corner-32a0d8b1","cdnUrl":"https://cdn.3dassets.dev/assets/20864/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-corridor-corner-32a0d8b1","thumbnailUrl":"https://cdn.3dassets.dev/assets/20864/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20864/v1/poster.webp","blurhash":"U9C?Jr$%00kWIURkkXt600Na~VRQ?vxam+Rj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5840,"triangles":72,"vertices":216,"meshes":6,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.01699911549305784,0.029999999329447746]},"sizeMeters":[0.06,0.017,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:33.411Z","updatedAt":"2026-10-05T16:33:55.583Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20864/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalledCorridorCornerBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20864/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20864/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20864/v1/model.glb\" alt=\"Walled corridor corner (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20864/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20864/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20867","slug":"tabletop-game-components-corridor-dead-end-32710c17","title":"Walled corridor dead end (Board Game Pieces, Dice and Tokens)","summary":"60 mm route tile with visible edge connections and solid underside. end topology.","description":"60 mm route tile with visible edge connections and solid underside. end topology. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-corridor-dead-end-32710c17","cdnUrl":"https://cdn.3dassets.dev/assets/20867/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-corridor-dead-end-32710c17","thumbnailUrl":"https://cdn.3dassets.dev/assets/20867/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20867/v1/poster.webp","blurhash":"U5CF@U=y01O?E1NGSPxa00Ef}?n5?u%2+[I:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5888,"triangles":72,"vertices":216,"meshes":6,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.029999999329447746,4.2739882150002323e-7,-0.029999999329447746],"max":[0.029999999329447746,0.01699935943647427,0.029999999329447746]},"sizeMeters":[0.06,0.017,0.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:33.548Z","updatedAt":"2026-10-12T13:36:41.250Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20867/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalledCorridorDeadEndBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20867/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20867/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20867/v1/model.glb\" alt=\"Walled corridor dead end (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20867/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20867/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20868","slug":"tabletop-game-components-card-rail-30f9bd97","title":"Long card display rail (Board Game Pieces, Dice and Tokens)","summary":"180 mm card rail with 11 mm channel and a tall backrest.","description":"180 mm card rail with 11 mm channel and a tall backrest. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-card-rail-30f9bd97","cdnUrl":"https://cdn.3dassets.dev/assets/20868/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-card-rail-30f9bd97","thumbnailUrl":"https://cdn.3dassets.dev/assets/20868/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20868/v1/poster.webp","blurhash":"U8CPCFxt4=xZxr~AoKIq00WT^iNGIX03S2=_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3180,"triangles":36,"vertices":108,"meshes":3,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.09000000357627869,6.407955922046321e-7,-0.012997223332100917],"max":[0.09000000357627869,0.025997864395914026,0.012997223332100917]},"sizeMeters":[0.18,0.026,0.026],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:33.594Z","updatedAt":"2026-10-05T18:10:55.118Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20868/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LongCardDisplayRailBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20868/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20868/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20868/v1/model.glb\" alt=\"Long card display rail (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20868/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20868/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20871","slug":"tabletop-game-components-card-stand-de463d7b","title":"Single upright card stand (Board Game Pieces, Dice and Tokens)","summary":"35 mm single card support with 6 mm open slot.","description":"35 mm single card support with 6 mm open slot. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-card-stand-de463d7b","cdnUrl":"https://cdn.3dassets.dev/assets/20871/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-card-stand-de463d7b","thumbnailUrl":"https://cdn.3dassets.dev/assets/20871/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20871/v1/poster.webp","blurhash":"U5F#X6~T00NGn4={I[EN009b,:E4RiSz%LE1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3208,"triangles":36,"vertices":108,"meshes":3,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.017500000074505806,4.2734561443626834e-7,-0.012500534127136536],"max":[0.017500000074505806,0.01699914606633552,0.012500534127136536]},"sizeMeters":[0.035,0.017,0.025],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T17:16:36.771Z","updatedAt":"2026-10-25T08:05:43.533Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20871/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SingleUprightCardStandBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20871/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20871/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20871/v1/model.glb\" alt=\"Single upright card stand (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20871/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20871/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20872","slug":"tabletop-game-components-miniature-slot-base-edd70115","title":"Miniature standee slot base (Board Game Pieces, Dice and Tokens)","summary":"30 mm round standee foot with 3 mm open gripping slot.","description":"30 mm round standee foot with 3 mm open gripping slot. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-miniature-slot-base-edd70115","cdnUrl":"https://cdn.3dassets.dev/assets/20872/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-miniature-slot-base-edd70115","thumbnailUrl":"https://cdn.3dassets.dev/assets/20872/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20872/v1/poster.webp","blurhash":"U13c35%P00ImM}Vsxso#00R#.Tn}iupcXTR4","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7180,"triangles":120,"vertices":360,"meshes":3,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.014999999664723873,4.2739882150002323e-7,-0.014999999664723873],"max":[0.014999999664723873,0.009999969509429746,0.014999999664723873]},"sizeMeters":[0.03,0.01,0.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":5,"publishedAt":"2026-09-07T17:16:36.863Z","updatedAt":"2026-10-05T18:10:56.114Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20872/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MiniatureStandeeSlotBaseBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20872/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20872/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20872/v1/model.glb\" alt=\"Miniature standee slot base (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20872/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20872/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20870","slug":"tabletop-game-components-dice-tray-94d3ce3f","title":"Felt rolling tray (Board Game Pieces, Dice and Tokens)","summary":"160 by 130 mm open dice tray with lined floor and retaining walls.","description":"160 by 130 mm open dice tray with lined floor and retaining walls. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-dice-tray-94d3ce3f","cdnUrl":"https://cdn.3dassets.dev/assets/20870/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-dice-tray-94d3ce3f","thumbnailUrl":"https://cdn.3dassets.dev/assets/20870/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20870/v1/poster.webp","blurhash":"U6BMuX%L4Tw]%es:V@s,00M|LgI=H@awNyEQ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4592,"triangles":72,"vertices":216,"meshes":6,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.08000311079451053,-0.000003952100322675506,-0.06500201332751072],"max":[0.08000311079451053,0.021800671614394068,0.06500201332751072]},"sizeMeters":[0.16,0.022,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:36.743Z","updatedAt":"2026-10-25T10:56:37.426Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20870/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FeltRollingTrayBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20870/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20870/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20870/v1/model.glb\" alt=\"Felt rolling tray (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20870/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20870/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20877","slug":"tabletop-game-components-token-bowl-0d59ac12","title":"Open token bowl (Board Game Pieces, Dice and Tokens)","summary":"56 mm open bowl with thick circular rim and lined bottom.","description":"56 mm open bowl with thick circular rim and lined bottom. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-token-bowl-0d59ac12","cdnUrl":"https://cdn.3dassets.dev/assets/20877/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-token-bowl-0d59ac12","thumbnailUrl":"https://cdn.3dassets.dev/assets/20877/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20877/v1/poster.webp","blurhash":"U6CPIc-o01WE%2RkWFxs00Io~Uj?IU%1X4E3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":21436,"triangles":448,"vertices":1344,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.02800000086426735,3.204184877384376e-7,-0.02800000086426735],"max":[0.02800000086426735,0.019998718307711938,0.02800000086426735]},"sizeMeters":[0.056,0.02,0.056],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:37.376Z","updatedAt":"2026-10-25T07:01:47.043Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20877/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenTokenBowlBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20877/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20877/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20877/v1/model.glb\" alt=\"Open token bowl (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20877/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20877/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20873","slug":"tabletop-game-components-three-compartment-tray-a33d04db","title":"Three compartment sorting tray (Board Game Pieces, Dice and Tokens)","summary":"150 mm open sorting tray with three physically divided bins.","description":"150 mm open sorting tray with three physically divided bins. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-three-compartment-tray-a33d04db","cdnUrl":"https://cdn.3dassets.dev/assets/20873/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-three-compartment-tray-a33d04db","thumbnailUrl":"https://cdn.3dassets.dev/assets/20873/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20873/v1/poster.webp","blurhash":"U5CY,K?G02xV-.~Bt6E200NH.6NH9H0MIqT0","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5864,"triangles":96,"vertices":288,"meshes":8,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.07500049094960426,-0.0000015107128452189738,-0.03249591001044471],"max":[0.07500049094960426,0.02100033566148249,0.03249591001044471]},"sizeMeters":[0.15,0.021,0.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":13,"publishedAt":"2026-09-07T17:16:36.911Z","updatedAt":"2026-10-25T16:14:21.773Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20873/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThreeCompartmentSortingTrayBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20873/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20873/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20873/v1/model.glb\" alt=\"Three compartment sorting tray (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20873/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20873/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20874","slug":"tabletop-game-components-dice-tower-eb5ae628","title":"Open chute dice tower (Board Game Pieces, Dice and Tokens)","summary":"103 mm open front dice tower with two alternating baffles and an exit catch tray.","description":"103 mm open front dice tower with two alternating baffles and an exit catch tray. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-dice-tower-eb5ae628","cdnUrl":"https://cdn.3dassets.dev/assets/20874/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-dice-tower-eb5ae628","thumbnailUrl":"https://cdn.3dassets.dev/assets/20874/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20874/v1/poster.webp","blurhash":"U4EByqIv00oY{w030-?[0#%1%1rvY%OX{d]%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":8832,"triangles":132,"vertices":396,"meshes":11,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.032502669354797654,3.205042102302595e-7,-0.05249999836087227],"max":[0.032502669354797654,0.10180000215768814,0.05249999836087227]},"sizeMeters":[0.065,0.102,0.105],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:36.995Z","updatedAt":"2026-10-25T09:54:26.008Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20874/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenChuteDiceTowerBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20874/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20874/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20874/v1/model.glb\" alt=\"Open chute dice tower (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20874/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20874/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20875","slug":"tabletop-game-components-tile-rack-be465f62","title":"Stepped tile rack (Board Game Pieces, Dice and Tokens)","summary":"180 mm rack with two open rows and stepped retaining lips.","description":"180 mm rack with two open rows and stepped retaining lips. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-tile-rack-be465f62","cdnUrl":"https://cdn.3dassets.dev/assets/20875/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-tile-rack-be465f62","thumbnailUrl":"https://cdn.3dassets.dev/assets/20875/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20875/v1/poster.webp","blurhash":"U7D8?xt603tPxY^iS2E200Rj~9M|Ir0gs.=x","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3928,"triangles":48,"vertices":144,"meshes":4,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.09000000357627869,4.2727467168459515e-7,-0.03250129832813824],"max":[0.09000000357627869,0.029002823136706466,0.03250129832813824]},"sizeMeters":[0.18,0.029,0.065],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:37.063Z","updatedAt":"2026-10-05T18:11:03.178Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20875/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SteppedTileRackBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20875/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20875/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20875/v1/model.glb\" alt=\"Stepped tile rack (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20875/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20875/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20876","slug":"tabletop-game-components-turn-arrow-ebae0e58","title":"Turn direction arrow (Board Game Pieces, Dice and Tokens)","summary":"50 mm solid direction arrow with broad tactile head.","description":"50 mm solid direction arrow with broad tactile head. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-turn-arrow-ebae0e58","cdnUrl":"https://cdn.3dassets.dev/assets/20876/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-turn-arrow-ebae0e58","thumbnailUrl":"https://cdn.3dassets.dev/assets/20876/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20876/v1/poster.webp","blurhash":"UDBxyL$*0zWW%1$*jsNG0LW:}@R*9u9[bI-U","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":2208,"triangles":24,"vertices":72,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.02500000037252903,0.0000010376945302260389,-0.014000366430735425],"max":[0.02500000037252903,0.00399896249545958,0.014000366430735425]},"sizeMeters":[0.05,0.004,0.028],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":7,"publishedAt":"2026-09-07T17:16:37.260Z","updatedAt":"2026-10-05T18:11:01.667Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20876/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TurnDirectionArrowBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20876/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20876/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20876/v1/model.glb\" alt=\"Turn direction arrow (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20876/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20876/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20878","slug":"tabletop-game-components-first-player-crown-07e75ca3","title":"First player crown (Board Game Pieces, Dice and Tokens)","summary":"30 mm crown marker with five pointed peaks and an open centre.","description":"30 mm crown marker with five pointed peaks and an open centre. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-first-player-crown-07e75ca3","cdnUrl":"https://cdn.3dassets.dev/assets/20878/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-first-player-crown-07e75ca3","thumbnailUrl":"https://cdn.3dassets.dev/assets/20878/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20878/v1/poster.webp","blurhash":"UEE{5l%K02RS9aWBxZof00Rk~Taf?Fs;WEWA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":20796,"triangles":392,"vertices":1176,"meshes":7,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.014999999664723873,3.2049090846410395e-7,-0.014999999664723873],"max":[0.015000427456068265,0.017000000923871994,0.014999999664723873]},"sizeMeters":[0.03,0.017,0.03],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":11,"publishedAt":"2026-09-07T17:16:40.070Z","updatedAt":"2026-10-06T11:25:59.923Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20878/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FirstPlayerCrownBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20878/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20878/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20878/v1/model.glb\" alt=\"First player crown (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20878/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20878/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20879","slug":"tabletop-game-components-heart-marker-d9abe6dd","title":"Heart health marker (Board Game Pieces, Dice and Tokens)","summary":"32 mm extruded heart marker with sculpted lobes and a pointed base.","description":"32 mm extruded heart marker with sculpted lobes and a pointed base. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-heart-marker-d9abe6dd","cdnUrl":"https://cdn.3dassets.dev/assets/20879/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-heart-marker-d9abe6dd","thumbnailUrl":"https://cdn.3dassets.dev/assets/20879/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20879/v1/poster.webp","blurhash":"UDCX.[EM0fR--ojZI:S40L$*}tay57of%2s,","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7036,"triangles":124,"vertices":372,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.01600000075995922,-6.10370218512811e-8,-0.011804548771045486],"max":[0.01600000075995922,0.004000061227011657,0.017000042580924312]},"sizeMeters":[0.032,0.004,0.029],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:40.108Z","updatedAt":"2026-10-25T13:45:32.676Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20879/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HeartHealthMarkerBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20879/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20879/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20879/v1/model.glb\" alt=\"Heart health marker (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20879/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20879/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20881","slug":"tabletop-game-components-damage-burst-aebeb54d","title":"Damage burst marker (Board Game Pieces, Dice and Tokens)","summary":"38 mm eight pointed impact burst token.","description":"38 mm eight pointed impact burst token. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-damage-burst-aebeb54d","cdnUrl":"https://cdn.3dassets.dev/assets/20881/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-damage-burst-aebeb54d","thumbnailUrl":"https://cdn.3dassets.dev/assets/20881/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20881/v1/poster.webp","blurhash":"UGBW9vt602R*xtj[Rkay02Rk~ToeE2WCxtkB","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3944,"triangles":60,"vertices":180,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.01899999938905239,6.7156649205969e-7,-0.01899999938905239],"max":[0.01899999938905239,0.0039993286234977455,0.01899999938905239]},"sizeMeters":[0.038,0.004,0.038],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:40.266Z","updatedAt":"2026-10-05T18:11:05.792Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20881/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DamageBurstMarkerBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20881/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20881/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20881/v1/model.glb\" alt=\"Damage burst marker (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20881/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20881/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20880","slug":"tabletop-game-components-objective-ring-261a7f34","title":"Open objective ring (Board Game Pieces, Dice and Tokens)","summary":"48 mm hollow objective ring with a raised facing tab; accepts a 38 mm base.","description":"48 mm hollow objective ring with a raised facing tab; accepts a 38 mm base. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-objective-ring-261a7f34","cdnUrl":"https://cdn.3dassets.dev/assets/20880/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-objective-ring-261a7f34","thumbnailUrl":"https://cdn.3dassets.dev/assets/20880/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20880/v1/poster.webp","blurhash":"U54y}+x[D4Elo#WBjYs:00Mz.m-4VXxuW=M|","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":14664,"triangles":268,"vertices":804,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.024000000208616257,-4.5777764611995564e-8,-0.024000000208616257],"max":[0.024000000208616257,0.0049997862845542265,0.025499999523162842]},"sizeMeters":[0.048,0.005,0.049],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:40.251Z","updatedAt":"2026-10-05T18:11:05.045Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20880/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenObjectiveRingBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20880/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20880/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20880/v1/model.glb\" alt=\"Open objective ring (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20880/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20880/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20884","slug":"tabletop-game-components-number-dial-07da746e","title":"Ten position counter dial (Board Game Pieces, Dice and Tokens)","summary":"56 mm ten detent counter with raised tick dots and a named central pointer pivot.","description":"56 mm ten detent counter with raised tick dots and a named central pointer pivot. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-number-dial-07da746e","cdnUrl":"https://cdn.3dassets.dev/assets/20884/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-number-dial-07da746e","thumbnailUrl":"https://cdn.3dassets.dev/assets/20884/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20884/v1/poster.webp","blurhash":"UBBMJHxZ0MWVkCWVWCj[01NH~Ao0V@oet6WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":23236,"triangles":1168,"vertices":3504,"meshes":13,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.02800000086426735,-5.341071938355733e-7,-0.02800000086426735],"max":[0.02800000086426735,0.008000152856118917,0.02800000086426735]},"sizeMeters":[0.056,0.008,0.056],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:40.511Z","updatedAt":"2026-10-05T18:11:12.817Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20884/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TenPositionCounterDialBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20884/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20884/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20884/v1/model.glb\" alt=\"Ten position counter dial (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20884/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20884/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20882","slug":"tabletop-game-components-hourglass-b4819602","title":"Tabletop hourglass (Board Game Pieces, Dice and Tokens)","summary":"40 mm hourglass silhouette with four protective pillars and opaque sand-coloured bulbs.","description":"40 mm hourglass silhouette with four protective pillars and opaque sand-coloured bulbs. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-hourglass-b4819602","cdnUrl":"https://cdn.3dassets.dev/assets/20882/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-hourglass-b4819602","thumbnailUrl":"https://cdn.3dassets.dev/assets/20882/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20882/v1/poster.webp","blurhash":"U6FY0+?H00D%#QadTKt802WAt,S6~qkV4nVt","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":20208,"triangles":768,"vertices":2304,"meshes":8,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.014000000432133675,-5.341071938355733e-7,-0.014000000432133675],"max":[0.014000000432133675,0.04000053391161609,0.014000000432133675]},"sizeMeters":[0.028,0.04,0.028],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:16:40.393Z","updatedAt":"2026-10-05T18:11:13.776Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20882/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TabletopHourglassBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20882/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20882/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20882/v1/model.glb\" alt=\"Tabletop hourglass (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20882/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20882/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20883","slug":"tabletop-game-components-card-deck-b09a6dee","title":"Blank backed card deck (Board Game Pieces, Dice and Tokens)","summary":"63 by 88 mm deck with visible page edges and an original geometric back emblem.","description":"63 by 88 mm deck with visible page edges and an original geometric back emblem. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-card-deck-b09a6dee","cdnUrl":"https://cdn.3dassets.dev/assets/20883/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-card-deck-b09a6dee","thumbnailUrl":"https://cdn.3dassets.dev/assets/20883/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20883/v1/poster.webp","blurhash":"U4AnM%?v00nQGuDjrW%g00H?dANd_~_NKPR5","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":5396,"triangles":84,"vertices":252,"meshes":7,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.03159824927961997,-0.000001586750819931003,-0.04410000145435333],"max":[0.03159824927961997,0.00870015097460386,0.04410000145435333]},"sizeMeters":[0.063,0.009,0.088],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:40.461Z","updatedAt":"2026-10-05T09:29:19.171Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20883/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BlankBackedCardDeckBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20883/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20883/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20883/v1/model.glb\" alt=\"Blank backed card deck (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20883/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20883/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20885","slug":"tabletop-game-components-upright-card-5f8cda75","title":"Single upright playing card (Board Game Pieces, Dice and Tokens)","summary":"63 by 88 mm individual upright card with a solid back, cream border and original diamond emblem.","description":"63 by 88 mm individual upright card with a solid back, cream border and original diamond emblem. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-upright-card-5f8cda75","cdnUrl":"https://cdn.3dassets.dev/assets/20885/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-upright-card-5f8cda75","thumbnailUrl":"https://cdn.3dassets.dev/assets/20885/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20885/v1/poster.webp","blurhash":"U4CHA#PP00;U?[?]IU8wUbwiCPI.-;?IRP00","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":3836,"triangles":36,"vertices":108,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.03149974042198483,0,-0.0004995269603963832],"max":[0.03149974042198483,0.08799999952316284,0.0011001510595032914]},"sizeMeters":[0.063,0.088,0.002],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:40.865Z","updatedAt":"2026-10-25T14:20:56.458Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20885/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SingleUprightPlayingCardBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20885/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20885/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20885/v1/model.glb\" alt=\"Single upright playing card (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20885/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20885/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20887","slug":"tabletop-game-components-draw-bag-0fb18c84","title":"Drawstring token bag (Board Game Pieces, Dice and Tokens)","summary":"Soft faceted token bag with gathered mouth and contrasting drawstring collar.","description":"Soft faceted token bag with gathered mouth and contrasting drawstring collar. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-draw-bag-0fb18c84","cdnUrl":"https://cdn.3dassets.dev/assets/20887/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-draw-bag-0fb18c84","thumbnailUrl":"https://cdn.3dassets.dev/assets/20887/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20887/v1/poster.webp","blurhash":"U85?uBpc4TQ-?]kq9Ga1Q8VslnozHsa0x[kW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":31320,"triangles":604,"vertices":1812,"meshes":3,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.03500000014901161,-7.473309563132968e-7,-0.02559068585985962],"max":[0.03500000014901161,0.06350106924309998,0.02559068585985962]},"sizeMeters":[0.07,0.064,0.051],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:43.583Z","updatedAt":"2026-10-05T18:11:13.230Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20887/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrawstringTokenBagBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20887/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20887/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20887/v1/model.glb\" alt=\"Drawstring token bag (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20887/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20887/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20889","slug":"tabletop-game-components-deck-box-b3ff3388","title":"Open deck storage box (Board Game Pieces, Dice and Tokens)","summary":"77 by 102 mm open card box; interior accommodates the included 63 by 88 mm deck.","description":"77 by 102 mm open card box; interior accommodates the included 63 by 88 mm deck. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-deck-box-b3ff3388","cdnUrl":"https://cdn.3dassets.dev/assets/20889/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-deck-box-b3ff3388","thumbnailUrl":"https://cdn.3dassets.dev/assets/20889/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20889/v1/poster.webp","blurhash":"U6FODH~B03%L^%58IV^%01579bNbWB-UM|E3","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":4584,"triangles":72,"vertices":216,"meshes":6,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.038502379838733884,-4.119587824610513e-7,-0.05100213500331467],"max":[0.038502379838733884,0.049802746370917916,0.05100213500331467]},"sizeMeters":[0.077,0.05,0.102],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:43.735Z","updatedAt":"2026-10-25T10:22:01.425Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20889/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpenDeckStorageBoxBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20889/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20889/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20889/v1/model.glb\" alt=\"Open deck storage box (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20889/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20889/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20886","slug":"tabletop-game-components-component-organizer-b5ca0b7a","title":"Six bin component organizer (Board Game Pieces, Dice and Tokens)","summary":"200 mm six compartment organizer with thick walls and lined floors.","description":"200 mm six compartment organizer with thick walls and lined floors. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-component-organizer-b5ca0b7a","cdnUrl":"https://cdn.3dassets.dev/assets/20886/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-component-organizer-b5ca0b7a","thumbnailUrl":"https://cdn.3dassets.dev/assets/20886/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20886/v1/poster.webp","blurhash":"U3CPIY~U00M}_0={V@9u00E2~UM|045QI[s=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":6596,"triangles":108,"vertices":324,"meshes":9,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.10000311407276599,-0.0000015106755547982225,-0.06500201340209157],"max":[0.10000311407276599,0.0280003668535536,0.06500201340209157]},"sizeMeters":[0.2,0.028,0.13],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":8,"publishedAt":"2026-09-07T17:16:43.574Z","updatedAt":"2026-10-05T10:24:15.897Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20886/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function SixBinComponentOrganizerBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20886/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20886/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20886/v1/model.glb\" alt=\"Six bin component organizer (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20886/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20886/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20888","slug":"tabletop-game-components-player-screen-31404ece","title":"Three panel player screen (Board Game Pieces, Dice and Tokens)","summary":"Three solid privacy panels with separate side-panel hinge pivots; 75 mm tall.","description":"Three solid privacy panels with separate side-panel hinge pivots; 75 mm tall. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-player-screen-31404ece","cdnUrl":"https://cdn.3dassets.dev/assets/20888/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-player-screen-31404ece","thumbnailUrl":"https://cdn.3dassets.dev/assets/20888/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20888/v1/poster.webp","blurhash":"U74E1Xp_L#u4y?uOaKVsD4iwuOQ-L#Qmo}o}","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":9672,"triangles":228,"vertices":684,"meshes":5,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.11774609034385465,-0.0000014479358784874607,-0.022000487928609043],"max":[0.11774609034385465,0.07500145091611073,0.023580505208663668]},"sizeMeters":[0.235,0.075,0.046],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:43.637Z","updatedAt":"2026-10-05T18:11:25.402Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20888/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ThreePanelPlayerScreenBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20888/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20888/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20888/v1/model.glb\" alt=\"Three panel player screen (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20888/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20888/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20890","slug":"tabletop-game-components-score-track-2cba7038","title":"Twenty space score track (Board Game Pieces, Dice and Tokens)","summary":"220 mm score track with twenty discrete spaces and highlighted five-space milestones.","description":"220 mm score track with twenty discrete spaces and highlighted five-space milestones. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-score-track-2cba7038","cdnUrl":"https://cdn.3dassets.dev/assets/20890/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-score-track-2cba7038","thumbnailUrl":"https://cdn.3dassets.dev/assets/20890/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20890/v1/poster.webp","blurhash":"U7B3TcxZ4os:%2~BoJIV00of~VR%E101X9_1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":7864,"triangles":252,"vertices":756,"meshes":21,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.10999999940395355,-7.933754099655015e-7,-0.019994506559952004],"max":[0.10999999940395355,0.004500740077165511,0.019994506559952004]},"sizeMeters":[0.22,0.005,0.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:43.798Z","updatedAt":"2026-10-25T11:35:35.742Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20890/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TwentySpaceScoreTrackBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20890/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20890/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20890/v1/model.glb\" alt=\"Twenty space score track (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20890/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20890/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20892","slug":"tabletop-game-components-game-mat-2a2ba1f3","title":"Bound edge playing mat (Board Game Pieces, Dice and Tokens)","summary":"600 by 400 mm plain playing mat with a dark bound edge and solid underside.","description":"600 by 400 mm plain playing mat with a dark bound edge and solid underside. Metres, ground-centred origin. Static original component; no rules or physics included.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-game-mat-2a2ba1f3","cdnUrl":"https://cdn.3dassets.dev/assets/20892/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-game-mat-2a2ba1f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/20892/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20892/v1/poster.webp","blurhash":"U64zHXofHXe.pIo~aKVY4TbIy?aeQ-VEkDpc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"modern","title":"Modern"},{"slug":"low-poly","title":"Low Poly"},{"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":2496,"triangles":24,"vertices":72,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000011200301183771988,-0.20001221535156147],"max":[0.30000001192092896,0.0025003738820967058,0.20001221535156147]},"sizeMeters":[0.6,0.002,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":6,"publishedAt":"2026-09-07T17:16:43.796Z","updatedAt":"2026-10-05T09:32:21.196Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20892/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoundEdgePlayingMatBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20892/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20892/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20892/v1/model.glb\" alt=\"Bound edge playing mat (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20892/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20892/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20891","slug":"tabletop-game-components-route-planning--77b7d3f2-starter-scene","title":"Canal route planning layout (Board Game Pieces, Dice and Tokens)","summary":"Connected canal tiles and bridge crossing with ownership tokens, dice and a score track.","description":"Connected canal tiles and bridge crossing with ownership tokens, dice and a score track.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-route-planning--77b7d3f2-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/20891/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-route-planning--77b7d3f2-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/20891/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20891/v1/poster.webp","blurhash":"U76I?6Xm4Ti{oxo}WEeT00nO.lW=RQVEs.X-","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":113840,"triangles":2328,"vertices":5510,"meshes":76,"materials":7,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000011200301183771988,-0.20001221535156147],"max":[0.30000001192092896,0.03849999845027924,0.20001221535156147]},"sizeMeters":[0.6,0.038,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":14,"publishedAt":"2026-09-07T17:16:43.818Z","updatedAt":"2026-10-05T06:03:49.743Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20891/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalRoutePlanningLayoutBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20891/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20891/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20891/v1/model.glb\" alt=\"Canal route planning layout (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20891/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20891/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"20893","slug":"tabletop-game-components-card-workshop-layout-99d41615","title":"Card and component workshop (Board Game Pieces, Dice and Tokens)","summary":"Deck storage, sorting tray, dice tower and tactile counters arranged on a plain playing mat.","description":"Deck storage, sorting tray, dice tower and tactile counters arranged on a plain playing mat.","status":"published","url":"https://3dassets.dev/assets/tabletop-game-components-card-workshop-layout-99d41615","cdnUrl":"https://cdn.3dassets.dev/assets/20893/v1/model.glb","downloadUrl":"https://3dassets.dev/download/tabletop-game-components-card-workshop-layout-99d41615","thumbnailUrl":"https://cdn.3dassets.dev/assets/20893/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/20893/v1/poster.webp","blurhash":"U67LcKbv00R+h}xuXmIo00rW.SXSUHIBvz-o","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":219176,"triangles":5812,"vertices":13378,"meshes":106,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.30000001192092896,0.000011200301183771988,-0.20001221535156147],"max":[0.30000001192092896,0.10430000215768814,0.20001221535156147]},"sizeMeters":[0.6,0.104,0.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Fable 5.1","downloads":9,"publishedAt":"2026-09-07T17:16:44.224Z","updatedAt":"2026-10-05T18:11:24.002Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/20893/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CardAndComponentWorkshopBoardGamePiecesDiceAndTokens(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/20893/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/20893/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/20893/v1/model.glb\" alt=\"Card and component workshop (Board Game Pieces, Dice and Tokens)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/20893/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/20893/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":null}}