{"data":{"id":249,"slug":"fantasy-mmo-city-and-townsfolk","title":"Fantasy MMO City And Townsfolk","summary":"A hand painted fantasy MMO capital city as a buildable kit: modular walls, gatehouse and paved streets, eighteen civic and trade buildings, their fittings, lit street dressing and fourteen rigid jointed townsfolk and creatures.","description":"A complete hand painted capital city for a fantasy massively multiplayer or role playing game, built as one kit on a 4 m grid. The city shell is modular: curtain wall bays with their wall walk and parapet, square corner towers, round flanking towers, a postern bay, a great gatehouse whose iron portcullis lifts and whose oak leaves swing, wall stairs, paved street, junction, corner and back lane tiles, an eight metre market plaza, walled canal and quay tiles, quay and street steps, a retaining wall and a stone arch bridge. Eighteen buildings each read as their service without a label: a bank with a round banded vault door, auction house, general store, smithy with a lit forge and a pumping bellows, alchemist, fletcher, tailor, cartographer, bakery with a lit oven, apothecary, tavern, three storey inn, buttressed cathedral with lit stained glass and a swinging bell, guild hall, three stage mage tower with a turning arcane crystal, town hall with turning clock hands, guard barracks and a canal warehouse with a turning mill wheel. Seventeen fittings stock them, from counters with sliding drawers and a bank deposit box wall to the anvil and quench trough, altar, throne, cauldron, brewing vat, bookcase, chests, crates and sacks, and seventeen street pieces dress and light the quarter: braziers, hanging lanterns, wall torches, a well, a fountain, notice board, cart and barrow on rolling wheels, trees, planters, hedges, rubble, signs and pennants. Fourteen townsfolk and creatures finish it: guard, merchant, blacksmith, innkeeper, mage, ranger, priest, dockhand, child, market trader, goblin, skeleton warrior, wolf and giant rat. Every figure is a rigid jointed puppet: solid nodes parented on real hip, shoulder, elbow and neck pivots, with no skeleton and no skin weighting anywhere, so an idle sway, an arm swing, a head turn and a weapon raise are node transforms and nothing deforms. Fingers, cloth and facial features are static, and so is anything that would need a linkage: bell ropes, the well rope, the hoist and the fountain jets. Lighting is emissive materials, because there are no punctual lights in a GLB of this kit. Metre units, +Y up, +Z front, ground contact at y = 0, modular pivots on the grid origin and dimensions accurate to a millimetre. Original CC0 designs: no game, place, item or character from any existing title is referenced.","url":"https://3dassets.dev/packs/fantasy-mmo-city-and-townsfolk","coverUrl":"https://cdn.3dassets.dev/assets/32797/v1/poster.webp","assetCount":87,"aiGenerated":true,"aiGeneratedAssetCount":87,"aiModels":["claude-opus-5"],"aiModelUnspecifiedCount":0,"featured":true,"licenseLabel":"CC0 1.0 Universal","totalBytes":96710292,"totalTriangles":1906846,"starterScene":{"id":"32797","slug":"fantasy-mmo-city-and-townsfolk-walled-ma-f4ebc913-starter-scene","title":"Walled Market Quarter (Fantasy MMO City And Townsfolk)","summary":"A hand painted fantasy city quarter inside a forty eight metre circuit of curtain wall, with a wall walk on corbels, arrow loops, four quoined corner towers, two round flanking towers, a postern in the west wall and the great gatehouse in the south wall, its portcullis and...","description":"A hand painted fantasy city quarter inside a forty eight metre circuit of curtain wall, with a wall walk on corbels, arrow loops, four quoined corner towers, two round flanking towers, a postern in the west wall and the great gatehouse in the south wall, its portcullis and studded oak leaves over the main street. A paved market plaza carries the fountain, eight covered stalls, the well, the notice board and the guild banner, lit by braziers, wall torches and hanging lanterns and planted with trees, cypresses and flower boxes. The three stage mage tower stands behind the west side for height, with the tavern, two general stores, two bakeries, the apothecary and the smithy closing the four blocks around it. The canal runs across the south west under a stone arch bridge, with quay steps and pallet loads on its bank. Guards on the gate street, market traders, merchants, children, a blacksmith and a wolf are placed at work. Metre units, +Y up, ground tiles at y = -0.14 so their surface is exactly zero.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-walled-ma-f4ebc913-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/32797/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-walled-ma-f4ebc913-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/32797/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32797/v1/poster.webp","blurhash":"U7BDA,.701RQ9GWBs,WA00My-.Rj~Vt7xvxb","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":14417952,"triangles":303094,"vertices":761991,"meshes":334,"materials":16,"textures":2,"animations":[],"boundingBox":{"min":[-30.419986555816948,-1.4200268612305382,-30.569319794418632],"max":[31.346030322774634,23.899999713897706,30.419986555816948]},"sizeMeters":[61.766,25.32,60.989],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":4,"publishedAt":"2026-09-08T13:01:16.449Z","updatedAt":"2026-09-08T18:37:05.045Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32797/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalledMarketQuarterFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32797/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32797/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32797/v1/model.glb\" alt=\"Walled Market Quarter (Fantasy MMO City And Townsfolk)\" 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/32797/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/32797/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},"assets":[{"id":"32715","slug":"fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","title":"City Curtain Wall Bay (Fantasy MMO City And Townsfolk)","summary":"One 4 m bay of hand painted city curtain wall in coursed limestone, with a corbelled wall walk, a crenellated parapet on the outer face and a solid rear breast wall. Hand painted fantasy MMO city and RPG game asset.","description":"One 4 m bay of hand painted city curtain wall in coursed limestone, with a corbelled wall walk, a crenellated parapet on the outer face and a solid rear breast wall. Dimensions 4.19 x 4.62 x 1.98 m (X x Y x Z). Pivot on the 4 m grid origin at ground level, wall centred on Z; metre units, +Y up, +Z front. Connectors: e wall at (2, 0, 0) facing +X; w wall at (-2, 0, 0) facing -X. Bays butt end to end at the e and w ports; the parapet faces +Z, so turn the bay 180 degrees for the opposite side of a circuit. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","cdnUrl":"https://cdn.3dassets.dev/assets/32715/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-curtain-wall-bay-2d830417","thumbnailUrl":"https://cdn.3dassets.dev/assets/32715/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32715/v1/poster.webp","blurhash":"U5EfD]~p009G~p-:D*D*00Io-os;-.-:M{9G","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":269204,"triangles":4460,"vertices":11532,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.0000974754463945,0,-0.8600280350767399],"max":[2.1867642025124345,4.619999885559082,1.1242017811857488]},"sizeMeters":[4.187,4.62,1.984],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:36.553Z","updatedAt":"2026-09-08T15:02:08.444Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32715/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityCurtainWallBayFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32715/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32715/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32715/v1/model.glb\" alt=\"City Curtain Wall Bay (Fantasy MMO City And Townsfolk)\" 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/32715/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/32715/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32719","slug":"fantasy-mmo-city-and-townsfolk-wall-postern-bay-79414eed","title":"Wall Bay With Postern Gate (Fantasy MMO City And Townsfolk)","summary":"The same 4 m curtain wall bay pierced by an arched postern with a hinged oak door, for a sally port or a service way through the city wall. Hand painted fantasy MMO city and RPG game asset.","description":"The same 4 m curtain wall bay pierced by an arched postern with a hinged oak door, for a sally port or a service way through the city wall. Dimensions 4.19 x 4.62 x 1.98 m (X x Y x Z). Pivot on the 4 m grid origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-0.58, 0.42, 0.5). Connectors: e wall at (2, 0, 0) facing +X; w wall at (-2, 0, 0) facing -X. The postern is a through opening only on the outer face; a consumer wanting a full passage cuts the rear breast wall. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-wall-postern-bay-79414eed","cdnUrl":"https://cdn.3dassets.dev/assets/32719/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-wall-postern-bay-79414eed","thumbnailUrl":"https://cdn.3dassets.dev/assets/32719/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32719/v1/poster.webp","blurhash":"U7EM2c?a00Rk~p%MD*D*00NGxZV[oaxtofM{","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":348108,"triangles":5120,"vertices":13283,"meshes":5,"materials":4,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-2.0000974754463945,0,-0.8600280350767399],"max":[2.1867642025124345,4.619999885559082,1.1242017811857488]},"sizeMeters":[4.187,4.62,1.984],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:36.950Z","updatedAt":"2026-09-08T15:02:03.943Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32719/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WallBayWithPosternGateFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32719/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32719/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32719/v1/model.glb\" alt=\"Wall Bay With Postern Gate (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32719/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32719/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32720","slug":"fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","title":"City Wall Corner Tower (Fantasy MMO City And Townsfolk)","summary":"Square corner tower for the city wall, 4 m on the grid and seven metres to its crenellations, with arrow slits on all four faces and a crimson pennant on the staff. Hand painted fantasy MMO city and RPG game asset.","description":"Square corner tower for the city wall, 4 m on the grid and seven metres to its crenellations, with arrow slits on all four faces and a crimson pennant on the staff. Dimensions 4.99 x 9.50 x 4.99 m (X x Y x Z). Pivot on the 4 m grid origin at ground level; metre units, +Y up, +Z front. Named pivots: pennant at (0, 8.9, 0). Connectors: n wall at (0, 0, 2) facing +Z; s wall at (0, 0, -2) facing -Z; e wall at (2, 0, 0) facing +X; w wall at (-2, 0, 0) facing -X. Two adjacent ports close a corner of the circuit; the other two are left free or take a spur. Rigid node-transform clips banner-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","cdnUrl":"https://cdn.3dassets.dev/assets/32720/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-wall-corner-tower-46fd417b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32720/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32720/v1/poster.webp","blurhash":"U6CsT|~p0001M|M{xa%M00D%^*%M9Zog%2R%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":749624,"triangles":12160,"vertices":31132,"meshes":5,"materials":5,"textures":2,"animations":["banner-sway"],"boundingBox":{"min":[-2.4199865558169478,0,-2.5693197944186323],"max":[2.5693197944186323,9.500006509526905,2.4199865558169478]},"sizeMeters":[4.989,9.5,4.989],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:37.258Z","updatedAt":"2026-09-08T15:02:02.890Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32720/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityWallCornerTowerFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32720/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32720/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32720/v1/model.glb\" alt=\"City Wall Corner Tower (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32720/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32720/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32718","slug":"fantasy-mmo-city-and-townsfolk-wall-gate-tower-1cf4e6ef","title":"City Wall Round Tower (Fantasy MMO City And Townsfolk)","summary":"Round flanking tower of banded limestone with arrow slits, a crenellated head and a conical terracotta cap on a brass finial, sized to the 4 m wall grid. Hand painted fantasy MMO city and RPG game asset.","description":"Round flanking tower of banded limestone with arrow slits, a crenellated head and a conical terracotta cap on a brass finial, sized to the 4 m wall grid. Dimensions 4.67 x 10.60 x 4.67 m (X x Y x Z). Pivot on the 4 m grid origin at ground level; metre units, +Y up, +Z front. Connectors: e wall at (2, 0, 0) facing +X; w wall at (-2, 0, 0) facing -X. The cap and finial are static; the tower carries no clip. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-wall-gate-tower-1cf4e6ef","cdnUrl":"https://cdn.3dassets.dev/assets/32718/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-wall-gate-tower-1cf4e6ef","thumbnailUrl":"https://cdn.3dassets.dev/assets/32718/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32718/v1/poster.webp","blurhash":"U5A]?4?a0001D4Rj%}x[00M{~W%MGHbc#Re,","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":494700,"triangles":8580,"vertices":21594,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-2.333250045776367,0,-2.333250045776367],"max":[2.333250045776367,10.600000381469727,2.333250045776367]},"sizeMeters":[4.667,10.6,4.667],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:36.728Z","updatedAt":"2026-09-08T15:02:05.153Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32718/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityWallRoundTowerFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32718/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32718/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32718/v1/model.glb\" alt=\"City Wall Round Tower (Fantasy MMO City And Townsfolk)\" 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/32718/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/32718/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32739","slug":"fantasy-mmo-city-and-townsfolk-city-gatehouse-6af8de89","title":"Great City Gatehouse (Fantasy MMO City And Townsfolk)","summary":"Eight metre gatehouse for the city wall: two limestone blocks either side of an arched passage, a lifting iron portcullis in its runners, a pair of banded oak gate leaves and a crenellated fighting top over a brass city crest. Hand painted fantasy MMO city and RPG game asset.","description":"Eight metre gatehouse for the city wall: two limestone blocks either side of an arched passage, a lifting iron portcullis in its runners, a pair of banded oak gate leaves and a crenellated fighting top over a brass city crest. Dimensions 9.00 x 7.94 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin at ground level, the passage running along Z; metre units, +Y up, +Z front. Named pivots: portcullis at (0, 0.74, 1.02); gate-l at (-1.58, 0.44, -0.9); gate-r at (1.58, 0.44, -0.9). Connectors: e wall at (4, 0, 0) facing +X; w wall at (-4, 0, 0) facing -X. The portcullis and the gate leaves are separate systems, so each carries its own clip pair. The winch gear above the passage is modelled solid and does not turn. Rigid node-transform clips portcullis-open, portcullis-close, gate-open, gate-close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-gatehouse-6af8de89","cdnUrl":"https://cdn.3dassets.dev/assets/32739/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-gatehouse-6af8de89","thumbnailUrl":"https://cdn.3dassets.dev/assets/32739/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32739/v1/poster.webp","blurhash":"U6F5]T?v00xu~V%MD%9Z00M{MxMyNG-ptQM_","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1099088,"triangles":19196,"vertices":49832,"meshes":12,"materials":5,"textures":2,"animations":["portcullis-open","portcullis-close","gate-open","gate-close"],"boundingBox":{"min":[-4.500666618347168,0.0000678630141055514,-1.9899640384073873],"max":[4.500666618347168,7.939932194206353,2.0078509154673236]},"sizeMeters":[9.001,7.94,3.998],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:47.102Z","updatedAt":"2026-09-08T13:00:47.208Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32739/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function GreatCityGatehouseFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32739/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32739/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32739/v1/model.glb\" alt=\"Great City Gatehouse (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32739/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32739/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32716","slug":"fantasy-mmo-city-and-townsfolk-wall-stair-9bbb43fd","title":"City Wall Stair (Fantasy MMO City And Townsfolk)","summary":"Straight limestone stair rising 3.9 m from the street to the wall walk, with a solid parapet on its open flank. Hand painted fantasy MMO city and RPG game asset.","description":"Straight limestone stair rising 3.9 m from the street to the wall walk, with a solid parapet on its open flank. Dimensions 1.80 x 4.50 x 4.40 m (X x Y x Z). Foot of the flight at the origin, climbing +Z; metre units, +Y up, +Z front. Placed against the inner face of a curtain wall bay; it declares no ports because it lands on the walk rather than butting a bay. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-wall-stair-9bbb43fd","cdnUrl":"https://cdn.3dassets.dev/assets/32716/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-wall-stair-9bbb43fd","thumbnailUrl":"https://cdn.3dassets.dev/assets/32716/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32716/v1/poster.webp","blurhash":"U7DJ6OXT00M{D%01jX~W00xt_2xb%1bboJt7","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":49508,"triangles":616,"vertices":1652,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-0.8498764179180157,0,-2.2000106814783167],"max":[0.9498763821552288,4.5,2.2000106814783167]},"sizeMeters":[1.8,4.5,4.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:36.676Z","updatedAt":"2026-09-08T15:02:07.316Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32716/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityWallStairFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32716/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32716/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32716/v1/model.glb\" alt=\"City Wall Stair (Fantasy MMO City And Townsfolk)\" 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/32716/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/32716/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32714","slug":"fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","title":"Paved Street Tile (Fantasy MMO City And Townsfolk)","summary":"Four metre square of hand painted city paving laid in real setts on a staggered bond, every stone chamfered and set to its own height, the standard ground module of the quarter. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre square of hand painted city paving laid in real setts on a staggered bond, every stone chamfered and set to its own height, the standard ground module of the quarter. Dimensions 4.00 x 0.17 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin, deck 0.14 m thick; place at y = -0.14 for a walking surface at zero; metre units, +Y up, +Z front. Connectors: n street at (0, 0, 2) facing +Z; s street at (0, 0, -2) facing -Z; e street at (2, 0, 0) facing +X; w street at (-2, 0, 0) facing -X. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","cdnUrl":"https://cdn.3dassets.dev/assets/32714/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-paved-street-tile-2595f83b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32714/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32714/v1/poster.webp","blurhash":"U6C6rq%M00V{xuayWAoe00In~WWAD*off+Rk","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":136112,"triangles":2068,"vertices":5546,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,-0.000046745022703076344,-2],"max":[2,0.1718335003461131,2]},"sizeMeters":[4,0.172,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:36.522Z","updatedAt":"2026-09-08T13:00:36.628Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32714/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PavedStreetTileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32714/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32714/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32714/v1/model.glb\" alt=\"Paved Street Tile (Fantasy MMO City And Townsfolk)\" 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/32714/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/32714/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32717","slug":"fantasy-mmo-city-and-townsfolk-street-junction-tile-5802f611","title":"Street Junction Tile (Fantasy MMO City And Townsfolk)","summary":"Four metre paved junction with a cast iron sewer grate at the crown and drainage channels down both flanks, open on all four sides. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre paved junction with a cast iron sewer grate at the crown and drainage channels down both flanks, open on all four sides. Dimensions 4.00 x 0.28 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin, deck 0.14 m thick; metre units, +Y up, +Z front. Connectors: n street at (0, 0, 2) facing +Z; s street at (0, 0, -2) facing -Z; e street at (2, 0, 0) facing +X; w street at (-2, 0, 0) facing -X. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-street-junction-tile-5802f611","cdnUrl":"https://cdn.3dassets.dev/assets/32717/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-street-junction-tile-5802f611","thumbnailUrl":"https://cdn.3dassets.dev/assets/32717/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32717/v1/poster.webp","blurhash":"U5B:gE?b00NG%MoeRja}00D%~pRj9FV[tQRj","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":155100,"triangles":2420,"vertices":6490,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00010315315807532532,-2],"max":[2,0.2798968480340176,2]},"sizeMeters":[4,0.28,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:36.687Z","updatedAt":"2026-09-08T15:02:06.201Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32717/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StreetJunctionTileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32717/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32717/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32717/v1/model.glb\" alt=\"Street Junction Tile (Fantasy MMO City And Townsfolk)\" 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/32717/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/32717/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32721","slug":"fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","title":"Street Corner Tile (Fantasy MMO City And Townsfolk)","summary":"Four metre paved corner turning the street from north to east, with a raised kerb closing the two blind sides. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre paved corner turning the street from north to east, with a raised kerb closing the two blind sides. Dimensions 4.00 x 0.36 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin, deck 0.14 m thick; metre units, +Y up, +Z front. Connectors: n street at (0, 0, 2) facing +Z; e street at (2, 0, 0) facing +X. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","cdnUrl":"https://cdn.3dassets.dev/assets/32721/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-street-corner-tile-2d0d8192","thumbnailUrl":"https://cdn.3dassets.dev/assets/32721/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32721/v1/poster.webp","blurhash":"U7B|7_%M00f*xtWBNHof00Io~pRjIVt7xaR*","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":141364,"triangles":2156,"vertices":5782,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00006287528207793436,-2],"max":[2,0.3599371390230368,2]},"sizeMeters":[4,0.36,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:39.503Z","updatedAt":"2026-09-08T15:02:01.675Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32721/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StreetCornerTileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32721/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32721/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32721/v1/model.glb\" alt=\"Street Corner Tile (Fantasy MMO City And Townsfolk)\" 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/32721/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/32721/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32722","slug":"fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","title":"Market Plaza Paving (Fantasy MMO City And Townsfolk)","summary":"Eight metre paved market plaza with a compass rose of dressed slabs at its centre, the open heart of the city quarter. Hand painted fantasy MMO city and RPG game asset.","description":"Eight metre paved market plaza with a compass rose of dressed slabs at its centre, the open heart of the city quarter. Dimensions 8.00 x 0.19 x 8.00 m (X x Y x Z). Pivot on the 8 m plaza centre, deck 0.14 m thick; metre units, +Y up, +Z front. Connectors: n1 street at (-2, 0, 4) facing +Z; n2 street at (2, 0, 4) facing +Z; s1 street at (-2, 0, -4) facing -Z; s2 street at (2, 0, -4) facing -Z; e1 street at (4, 0, -2) facing +X; e2 street at (4, 0, 2) facing +X; w1 street at (-4, 0, -2) facing -X; w2 street at (-4, 0, 2) facing -X. Two ports on each edge, so a 4 m street tile joins on either half of any side. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","cdnUrl":"https://cdn.3dassets.dev/assets/32722/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-market-plaza-tile-b62327ed","thumbnailUrl":"https://cdn.3dassets.dev/assets/32722/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32722/v1/poster.webp","blurhash":"U6B:jM-p00n+%Mf6M{j?00Io~pRjD*j]xuWC","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":281508,"triangles":4580,"vertices":12062,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-4,-0.0002177507572041354,-4],"max":[4,0.19021774837301836,4]},"sizeMeters":[8,0.19,8],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:39.575Z","updatedAt":"2026-09-08T15:02:00.566Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32722/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarketPlazaPavingFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32722/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32722/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32722/v1/model.glb\" alt=\"Market Plaza Paving (Fantasy MMO City And Townsfolk)\" 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/32722/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/32722/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32724","slug":"fantasy-mmo-city-and-townsfolk-canal-water-tile-e734a5d8","title":"City Canal Water Tile (Fantasy MMO City And Townsfolk)","summary":"Four metre run of walled city canal: dressed limestone channel sides with a coping course and still water at 0.95 m. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre run of walled city canal: dressed limestone channel sides with a coping course and still water at 0.95 m. Dimensions 4.10 x 1.42 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin, channel running along Z; sink the tile 1.42 m in a scene to bring the coping level with the paving; metre units, +Y up, +Z front. Connectors: n canal at (0, 0, 2) facing +Z; s canal at (0, 0, -2) facing -Z. The water is a flat slab with a plain material: there is no flow, foam or caustic geometry. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-canal-water-tile-e734a5d8","cdnUrl":"https://cdn.3dassets.dev/assets/32724/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-canal-water-tile-e734a5d8","thumbnailUrl":"https://cdn.3dassets.dev/assets/32724/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32724/v1/poster.webp","blurhash":"U5Cj96~q00e9%#snw[S$00I9TfEOHrT09zVX","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28848,"triangles":264,"vertices":708,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.049999952316284,-0.000026861230538299807,-2],"max":[2.049999952316284,1.420026818315194,2]},"sizeMeters":[4.1,1.42,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:39.846Z","updatedAt":"2026-09-08T15:01:58.488Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32724/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityCanalWaterTileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32724/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32724/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32724/v1/model.glb\" alt=\"City Canal Water Tile (Fantasy MMO City And Townsfolk)\" 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/32724/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/32724/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32723","slug":"fantasy-mmo-city-and-townsfolk-canal-bank-tile-4bb312da","title":"Canal Bank And Quay Tile (Fantasy MMO City And Townsfolk)","summary":"Four metre canal end tile: a paved quay platform 1.42 m over the water, with a proud coping kerb and two brass mooring rings, closing a canal run against the street. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre canal end tile: a paved quay platform 1.42 m over the water, with a proud coping kerb and two brass mooring rings, closing a canal run against the street. Dimensions 4.10 x 1.66 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin, quay to +Z and water to -Z; sink the tile 1.42 m in a scene to bring the quay level with the paving; metre units, +Y up, +Z front. Connectors: n canal at (0, 0, 2) facing +Z; s canal at (0, 0, -2) facing -Z. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-canal-bank-tile-4bb312da","cdnUrl":"https://cdn.3dassets.dev/assets/32723/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-canal-bank-tile-4bb312da","thumbnailUrl":"https://cdn.3dassets.dev/assets/32723/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32723/v1/poster.webp","blurhash":"U6D+@]~p009G%gadRiNI009GozV@MdtSNIi^","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":43100,"triangles":532,"vertices":1362,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.049999952316284,0.0001227056303084728,-2],"max":[2.049999952316284,1.657906782133417,1.9999495979398376]},"sizeMeters":[4.1,1.658,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:39.774Z","updatedAt":"2026-09-08T15:01:59.535Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32723/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalBankAndQuayTileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32723/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32723/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32723/v1/model.glb\" alt=\"Canal Bank And Quay Tile (Fantasy MMO City And Townsfolk)\" 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/32723/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/32723/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32725","slug":"fantasy-mmo-city-and-townsfolk-quay-steps-be9bc373","title":"Canal Quay Steps (Fantasy MMO City And Townsfolk)","summary":"Short flight of worn limestone steps down a canal wall to the waterline, with cheek walls and a mooring ring, for loading a barge from the quay. Hand painted fantasy MMO city and RPG game asset.","description":"Short flight of worn limestone steps down a canal wall to the waterline, with cheek walls and a mooring ring, for loading a barge from the quay. Dimensions 2.66 x 1.60 x 2.62 m (X x Y x Z). Top of the flight at the origin, descending +Z; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-quay-steps-be9bc373","cdnUrl":"https://cdn.3dassets.dev/assets/32725/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-quay-steps-be9bc373","thumbnailUrl":"https://cdn.3dassets.dev/assets/32725/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32725/v1/poster.webp","blurhash":"U8FFd3~q00Rj_2xaaxt7009FM{M{9GkCM}D%","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":42864,"triangles":504,"vertices":1344,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.3300000429153442,-0.000021376850134480208,-1.1999509039187695],"max":[1.3300000429153442,1.6000214006919924,1.4179999828338623]},"sizeMeters":[2.66,1.6,2.618],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:39.848Z","updatedAt":"2026-09-08T15:01:57.310Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32725/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CanalQuayStepsFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32725/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32725/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32725/v1/model.glb\" alt=\"Canal Quay Steps (Fantasy MMO City And Townsfolk)\" 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/32725/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/32725/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32726","slug":"fantasy-mmo-city-and-townsfolk-retaining-wall-bay-caaa15f3","title":"Street Retaining Wall Bay (Fantasy MMO City And Townsfolk)","summary":"Four metre coursed limestone retaining wall with a coping course, for stepping the quarter down a slope or edging a raised terrace. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre coursed limestone retaining wall with a coping course, for stepping the quarter down a slope or edging a raised terrace. Dimensions 4.00 x 1.87 x 1.06 m (X x Y x Z). Pivot on the 4 m grid origin, retained ground to +Z; metre units, +Y up, +Z front. Connectors: e retain at (2, 0, 0) facing +X; w retain at (-2, 0, 0) facing -X. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-retaining-wall-bay-caaa15f3","cdnUrl":"https://cdn.3dassets.dev/assets/32726/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-retaining-wall-bay-caaa15f3","thumbnailUrl":"https://cdn.3dassets.dev/assets/32726/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32726/v1/poster.webp","blurhash":"UCG8.a?b0K%L?a~pxtIU00o0xuV@WAozn$M{","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":31940,"triangles":352,"vertices":852,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-2,0.00009598309648783943,-0.5301065095980713],"max":[2,1.8699040216718839,0.5301065095980713]},"sizeMeters":[4,1.87,1.06],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:40.003Z","updatedAt":"2026-09-08T15:01:56.199Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32726/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StreetRetainingWallBayFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32726/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32726/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32726/v1/model.glb\" alt=\"Street Retaining Wall Bay (Fantasy MMO City And Townsfolk)\" 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/32726/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/32726/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32727","slug":"fantasy-mmo-city-and-townsfolk-street-steps-ebce5704","title":"City Street Steps (Fantasy MMO City And Townsfolk)","summary":"Seven step public stair between two street levels, three metres wide, with solid cheek walls and a lit lantern standing on each. Hand painted fantasy MMO city and RPG game asset.","description":"Seven step public stair between two street levels, three metres wide, with solid cheek walls and a lit lantern standing on each. Dimensions 3.55 x 2.31 x 2.40 m (X x Y x Z). Foot of the flight at the origin, climbing +Z; metre units, +Y up, +Z front. The lantern glow is an emissive material, not a punctual light. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-street-steps-ebce5704","cdnUrl":"https://cdn.3dassets.dev/assets/32727/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-street-steps-ebce5704","thumbnailUrl":"https://cdn.3dassets.dev/assets/32727/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32727/v1/poster.webp","blurhash":"U7EyMO~p00M{0Lxt%MR+00D*%2V@s:t7%MIU","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":70352,"triangles":1036,"vertices":2762,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.774999976158142,-0.00012820158165716133,-1.2000640888698997],"max":[1.774999976158142,2.311905290357441,1.2000640888698997]},"sizeMeters":[3.55,2.312,2.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:40.380Z","updatedAt":"2026-09-08T15:01:55.121Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32727/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityStreetStepsFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32727/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32727/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32727/v1/model.glb\" alt=\"City Street Steps (Fantasy MMO City And Townsfolk)\" 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/32727/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/32727/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32728","slug":"fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","title":"Dirt Back Lane Tile (Fantasy MMO City And Townsfolk)","summary":"Four metre unpaved back lane of packed earth with cart ruts and loose stones, for the service alleys behind the city shopfronts. Hand painted fantasy MMO city and RPG game asset.","description":"Four metre unpaved back lane of packed earth with cart ruts and loose stones, for the service alleys behind the city shopfronts. Dimensions 4.00 x 0.19 x 4.00 m (X x Y x Z). Pivot on the 4 m grid origin, deck 0.14 m thick; metre units, +Y up, +Z front. Connectors: n street at (0, 0, 2) facing +Z; s street at (0, 0, -2) facing -Z; e street at (2, 0, 0) facing +X; w street at (-2, 0, 0) facing -X. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","cdnUrl":"https://cdn.3dassets.dev/assets/32728/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-dirt-lane-tile-f811028e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32728/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32728/v1/poster.webp","blurhash":"U5BV|Vxu00WF%1WCNcoe00RQ~UadE2t6xCRl","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":106604,"triangles":2156,"vertices":5782,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-2,0.000026397318603835207,-2],"max":[2,0.1899736002972104,2]},"sizeMeters":[4,0.19,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:42.388Z","updatedAt":"2026-09-08T15:01:54.094Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32728/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DirtBackLaneTileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32728/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32728/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32728/v1/model.glb\" alt=\"Dirt Back Lane Tile (Fantasy MMO City And Townsfolk)\" 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/32728/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/32728/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32729","slug":"fantasy-mmo-city-and-townsfolk-stone-arch-bridge-80ffa4c5","title":"City Stone Arch Bridge (Fantasy MMO City And Townsfolk)","summary":"Eight metre single span limestone bridge over the city canal, with voussoired arch ring, cambered deck and solid parapets on both sides. Hand painted fantasy MMO city and RPG game asset.","description":"Eight metre single span limestone bridge over the city canal, with voussoired arch ring, cambered deck and solid parapets on both sides. Dimensions 9.00 x 3.75 x 5.04 m (X x Y x Z). Deck centre over the origin at ground level, span running along X; metre units, +Y up, +Z front. Sized to cross the canal tiles at a right angle; it declares no ports because it lands on the quay rather than butting a module. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-stone-arch-bridge-80ffa4c5","cdnUrl":"https://cdn.3dassets.dev/assets/32729/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-stone-arch-bridge-80ffa4c5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32729/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32729/v1/poster.webp","blurhash":"U6DcH#4:00?H~W?G9ZE100%L-;IV019G%M-p","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":131988,"triangles":2000,"vertices":5360,"meshes":1,"materials":1,"textures":1,"animations":[],"boundingBox":{"min":[-4.5,-0.000011444441053498622,-1.770065919980468],"max":[4.5,3.7500114444410535,3.270065919980468]},"sizeMeters":[9,3.75,5.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:42.808Z","updatedAt":"2026-09-08T15:01:53.061Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32729/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityStoneArchBridgeFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32729/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32729/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32729/v1/model.glb\" alt=\"City Stone Arch Bridge (Fantasy MMO City And Townsfolk)\" 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/32729/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/32729/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32730","slug":"fantasy-mmo-city-and-townsfolk-city-smithy-d8883eff","title":"City Smithy (Fantasy MMO City And Townsfolk)","summary":"Single storey city smithy with an open forge front on two ashlar piers, a lit stone hearth under a corbelled hood, a leather bellows on its beam, anvil, quench trough, racked bar stock, a coal store lean-to and a nine metre chimney stack with three pots. Hand painted fantasy MMO","description":"Single storey city smithy with an open forge front on two ashlar piers, a lit stone hearth under a corbelled hood, a leather bellows on its beam, anvil, quench trough, racked bar stock, a coal store lean-to and a nine metre chimney stack with three pots. Dimensions 12.01 x 9.90 x 8.65 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: bellows at (-0.5, 2.5, 0.9); door at (2.23, 0.44, -3.52); sign at (-4.98, 3.6, 2.2). The forge fire is emissive geometry, not a light. The bellows pumps, the rear door swings and the sign rocks; the hammers and tongs are static. Rigid node-transform clips open, close, bellows-pump, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-smithy-d8883eff","cdnUrl":"https://cdn.3dassets.dev/assets/32730/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-smithy-d8883eff","thumbnailUrl":"https://cdn.3dassets.dev/assets/32730/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32730/v1/poster.webp","blurhash":"UBCY,X~V014:DjadtRS201I:-Aa0tlX9%1$*","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1070472,"triangles":19070,"vertices":45546,"meshes":15,"materials":10,"textures":2,"animations":["open","close","bellows-pump","sign-sway"],"boundingBox":{"min":[-5.055006285086242,-0.0002850238050191578,-4.064971082410708],"max":[6.951200008392334,9.900216893579037,4.584870171720837]},"sizeMeters":[12.006,9.901,8.65],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:42.938Z","updatedAt":"2026-09-08T13:00:43.050Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32730/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CitySmithyFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32730/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32730/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32730/v1/model.glb\" alt=\"City Smithy (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32730/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32730/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32731","slug":"fantasy-mmo-city-and-townsfolk-city-bakery-c5db5aec","title":"City Bakery (Fantasy MMO City And Townsfolk)","summary":"Two storey bakery with a wide counter window of cooling loaves under a folding awning, a jettied framed upper floor, a roof dormer and a lit stone bread oven built into the flank under its own eight metre stack. Hand painted fantasy MMO city and RPG game asset.","description":"Two storey bakery with a wide counter window of cooling loaves under a folding awning, a jettied framed upper floor, a roof dormer and a lit stone bread oven built into the flank under its own eight metre stack. Dimensions 10.11 x 10.20 x 10.42 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: awning at (1.3, 3.05, 4.2); door at (-2.58, 0.4, 4.02); sign at (3, 3.2, 4.52). The oven fire is emissive geometry, not a light. The awning rests deployed: its open clip folds it up against the shopfront and close lowers it again. Rigid node-transform clips awning-open, awning-close, door-open, door-close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-bakery-c5db5aec","cdnUrl":"https://cdn.3dassets.dev/assets/32731/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-bakery-c5db5aec","thumbnailUrl":"https://cdn.3dassets.dev/assets/32731/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32731/v1/poster.webp","blurhash":"U7CiHxrs00ACHr%1O?Nb02oz=djFBAM|}[WV","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1478440,"triangles":26424,"vertices":64726,"meshes":16,"materials":10,"textures":2,"animations":["awning-open","awning-close","door-open","door-close","sign-sway"],"boundingBox":{"min":[-5.769999980926514,-0.000006476505691743739,-4.864999771118164],"max":[4.340000863965424,10.199778765446354,5.555077811771019]},"sizeMeters":[10.11,10.2,10.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:43.535Z","updatedAt":"2026-09-08T13:00:43.677Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32731/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityBakeryFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32731/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32731/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32731/v1/model.glb\" alt=\"City Bakery (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32731/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32731/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32732","slug":"fantasy-mmo-city-and-townsfolk-alchemist-shop-d5f14853","title":"Alchemist Shop (Fantasy MMO City And Townsfolk)","summary":"Narrow three storey alchemist twice jettied out on carved corbels, with a projecting glazed oriel bay over the street, a sill of glowing bottles, a brass still window and a cut arcane crystal turning on its iron bracket by the door. Hand painted fantasy MMO city and RPG game asse","description":"Narrow three storey alchemist twice jettied out on carved corbels, with a projecting glazed oriel bay over the street, a sill of glowing bottles, a brass still window and a cut arcane crystal turning on its iron bracket by the door. Dimensions 8.76 x 12.90 x 9.04 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-2.55, 0.4, 3.22); crystal at (-2.9, 3.1, 3.8); sign at (2.6, 3.2, 3.72). The bottles, oriel glazing and crystal are emissive materials, not lights. The crystal turns, the door swings and the sign rocks. Rigid node-transform clips open, close, crystal-spin, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-alchemist-shop-d5f14853","cdnUrl":"https://cdn.3dassets.dev/assets/32732/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-alchemist-shop-d5f14853","thumbnailUrl":"https://cdn.3dassets.dev/assets/32732/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32732/v1/poster.webp","blurhash":"U6B..a}[000|:6$iGZEg0gNG$zV@1KOr^js9","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1806064,"triangles":32298,"vertices":80303,"meshes":14,"materials":9,"textures":2,"animations":["open","close","crystal-spin","sign-sway"],"boundingBox":{"min":[-4.380021359637677,0,-4.4050406000235585],"max":[4.380021359637677,12.900203950492362,4.635040619097045]},"sizeMeters":[8.76,12.9,9.04],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:44.033Z","updatedAt":"2026-09-08T13:00:44.304Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32732/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function AlchemistShopFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32732/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32732/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32732/v1/model.glb\" alt=\"Alchemist Shop (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32732/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32732/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32733","slug":"fantasy-mmo-city-and-townsfolk-fletcher-bowyer-shop-a02d4803","title":"Fletcher And Bowyer Shop (Fantasy MMO City And Townsfolk)","summary":"Thatched fletcher and bowyer with an arrow shaft counter on the street and two external timber drying racks along the flank, staves seasoning on the rails and finished bow staves leaning against the frame. Hand painted fantasy MMO city and RPG game asset.","description":"Thatched fletcher and bowyer with an arrow shaft counter on the street and two external timber drying racks along the flank, staves seasoning on the rails and finished bow staves leaning against the frame. Dimensions 10.85 x 8.74 x 7.45 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-2.68, 0.4, 3.02); sign at (3.1, 3.1, 3.52). Rigid node-transform clips open, close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-fletcher-bowyer-shop-a02d4803","cdnUrl":"https://cdn.3dassets.dev/assets/32733/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-fletcher-bowyer-shop-a02d4803","thumbnailUrl":"https://cdn.3dassets.dev/assets/32733/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32733/v1/poster.webp","blurhash":"U9EL]3xX009b$^xtE4IW00WV~TbG02WF~nR%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1101792,"triangles":21080,"vertices":51608,"meshes":14,"materials":10,"textures":2,"animations":["open","close","sign-sway"],"boundingBox":{"min":[-6.409999847412109,0,-3.665231755863457],"max":[4.440000057220459,8.740120633322897,3.7850328313495605]},"sizeMeters":[10.85,8.74,7.45],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:44.098Z","updatedAt":"2026-09-08T13:00:44.311Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32733/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FletcherAndBowyerShopFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32733/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32733/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32733/v1/model.glb\" alt=\"Fletcher And Bowyer Shop (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32733/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32733/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32734","slug":"fantasy-mmo-city-and-townsfolk-tailor-shop-75717b5f","title":"Tailor And Weaver Shop (Fantasy MMO City And Townsfolk)","summary":"Jettied tailor and weaver with bolts of dyed cloth on a wide counter under a folding awning, and two tenter frames on the flank with lengths of cloth stretched and pegged out to dry. Hand painted fantasy MMO city and RPG game asset.","description":"Jettied tailor and weaver with bolts of dyed cloth on a wide counter under a folding awning, and two tenter frames on the flank with lengths of cloth stretched and pegged out to dry. Dimensions 9.05 x 8.90 x 9.62 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (2.55, 0.4, 3.52); awning at (-1.4, 3.05, 3.8); sign at (2.9, 3.1, 4.02). The awning rests deployed: its open clip folds it up against the shopfront and close lowers it again. The cloth on the frames is static. Rigid node-transform clips door-open, door-close, awning-open, awning-close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-tailor-shop-75717b5f","cdnUrl":"https://cdn.3dassets.dev/assets/32734/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-tailor-shop-75717b5f","thumbnailUrl":"https://cdn.3dassets.dev/assets/32734/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32734/v1/poster.webp","blurhash":"U8B{ZJ~C0056[.rrELJR0LS1-7RP7MTK-Urr","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1324184,"triangles":23668,"vertices":58570,"meshes":19,"materials":12,"textures":2,"animations":["door-open","door-close","awning-open","awning-close","sign-sway"],"boundingBox":{"min":[-4.239999771118164,0,-4.464822516026748],"max":[4.809999942779541,8.899997595825088,5.155055225528502]},"sizeMeters":[9.05,8.9,9.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:44.330Z","updatedAt":"2026-09-08T13:00:44.564Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32734/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TailorAndWeaverShopFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32734/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32734/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32734/v1/model.glb\" alt=\"Tailor And Weaver Shop (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32734/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32734/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32735","slug":"fantasy-mmo-city-and-townsfolk-cartographer-shop-62db4476","title":"Cartographer Shop (Fantasy MMO City And Townsfolk)","summary":"Long single storey map maker under a hipped tile roof, with four wide shuttered drawing windows for the light, rolled charts on the counter and a banded globe on its tripod by the door. Hand painted fantasy MMO city and RPG game asset.","description":"Long single storey map maker under a hipped tile roof, with four wide shuttered drawing windows for the light, rolled charts on the counter and a banded globe on its tripod by the door. Dimensions 10.93 x 7.90 x 7.96 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-0.68, 0.4, 3.12); sign at (-1.9, 3.2, 3.62). The globe is modelled solid and does not turn; the shutters are fixed open. Rigid node-transform clips open, close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-cartographer-shop-62db4476","cdnUrl":"https://cdn.3dassets.dev/assets/32735/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-cartographer-shop-62db4476","thumbnailUrl":"https://cdn.3dassets.dev/assets/32735/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32735/v1/poster.webp","blurhash":"U5DId$~W005600={xu9a00IU]*S2uiTJ?FxD","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1446172,"triangles":26564,"vertices":65030,"meshes":15,"materials":9,"textures":2,"animations":["open","close","sign-sway"],"boundingBox":{"min":[-5.465000152587891,0.00005263597829108235,-3.864725691866103],"max":[5.465000152587891,7.900253031867706,4.099999904632568]},"sizeMeters":[10.93,7.9,7.965],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:45.537Z","updatedAt":"2026-09-08T13:00:45.661Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32735/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CartographerShopFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32735/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32735/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32735/v1/model.glb\" alt=\"Cartographer Shop (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32735/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32735/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32736","slug":"fantasy-mmo-city-and-townsfolk-apothecary-shop-922c13d1","title":"Apothecary Shop (Fantasy MMO City And Townsfolk)","summary":"Herbalist and apothecary whose upper floor is an open drying gallery on five posts, twelve bunches of herbs hanging from its rail, with jars of salve on the counter below and a thatched roof over it all. Hand painted fantasy MMO city and RPG game asset.","description":"Herbalist and apothecary whose upper floor is an open drying gallery on five posts, twelve bunches of herbs hanging from its rail, with jars of salve on the counter below and a thatched roof over it all. Dimensions 8.18 x 9.88 x 9.23 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-2.16, 0.4, 3.62); sign at (2.6, 3.15, 4.12). Rigid node-transform clips open, close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-apothecary-shop-922c13d1","cdnUrl":"https://cdn.3dassets.dev/assets/32736/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-apothecary-shop-922c13d1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32736/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32736/v1/poster.webp","blurhash":"UAD+xN~V0003-+%KIWD+02NH-nV?04E3_0-o","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1087356,"triangles":21024,"vertices":51333,"meshes":15,"materials":10,"textures":2,"animations":["open","close","sign-sway"],"boundingBox":{"min":[-4.089937386806859,0,-4.614999771118164],"max":[4.089937386806859,9.87974156574323,4.614999771118164]},"sizeMeters":[8.18,9.88,9.23],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:46.019Z","updatedAt":"2026-09-08T13:00:46.222Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32736/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ApothecaryShopFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32736/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32736/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32736/v1/model.glb\" alt=\"Apothecary Shop (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32736/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32736/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32737","slug":"fantasy-mmo-city-and-townsfolk-general-store-739cfa62","title":"City General Store (Fantasy MMO City And Townsfolk)","summary":"General store under a gambrel tile roof, with a three bay stone arcade, an open serving counter and folding awning on the street, and crates and a barrel of stock stacked at the corner. Hand painted fantasy MMO city and RPG game asset.","description":"General store under a gambrel tile roof, with a three bay stone arcade, an open serving counter and folding awning on the street, and crates and a barrel of stock stacked at the corner. Dimensions 9.76 x 9.60 x 9.71 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: awning at (-1.2, 2.9, 3.95); door at (3.08, 0.4, 3.36); sign at (-0.2, 3.2, 3.98). The awning rests deployed: its open clip folds it up against the shopfront and close lowers it again. Rigid node-transform clips awning-open, awning-close, door-open, door-close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-general-store-739cfa62","cdnUrl":"https://cdn.3dassets.dev/assets/32737/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-general-store-739cfa62","thumbnailUrl":"https://cdn.3dassets.dev/assets/32737/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32737/v1/poster.webp","blurhash":"U4C$G%=w000|m8-;Aa9a00OD-Bi|CkRi}XW9","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1991556,"triangles":35820,"vertices":87850,"meshes":14,"materials":8,"textures":2,"animations":["awning-open","awning-close","door-open","door-close","sign-sway"],"boundingBox":{"min":[-4.880000114440918,-0.00017027078987652544,-4.405209610189841],"max":[4.880000114440918,9.60007725534111,5.305038129498986]},"sizeMeters":[9.76,9.6,9.71],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:46.914Z","updatedAt":"2026-09-08T13:00:47.063Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32737/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityGeneralStoreFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32737/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32737/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32737/v1/model.glb\" alt=\"City General Store (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32737/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32737/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32738","slug":"fantasy-mmo-city-and-townsfolk-city-tavern-db20ff00","title":"City Tavern (Fantasy MMO City And Townsfolk)","summary":"Cross wing city tavern: a jettied main range with a gabled wing over the street, a courtyard arch through the east end with a barred inner gate, a half height stable door beside it, ale barrels stacked at the corner and a large painted sign on its bracket. Hand painted fantasy MM","description":"Cross wing city tavern: a jettied main range with a gabled wing over the street, a courtyard arch through the east end with a barred inner gate, a half height stable door beside it, ale barrels stacked at the corner and a large painted sign on its bracket. Dimensions 11.34 x 10.10 x 12.21 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door-stable at (0.27, 0.4, 3.52); sign at (1.4, 4.4, 4.36). The lit windows are emissive geometry, not lights. The stable door swings and the sign rocks. Rigid node-transform clips sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-tavern-db20ff00","cdnUrl":"https://cdn.3dassets.dev/assets/32738/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-tavern-db20ff00","thumbnailUrl":"https://cdn.3dassets.dev/assets/32738/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32738/v1/poster.webp","blurhash":"U5Duud^*00E1*#xD5QEO00D*-Btk7yX7}sIo","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2425420,"triangles":44204,"vertices":108436,"meshes":13,"materials":9,"textures":2,"animations":["sign-sway"],"boundingBox":{"min":[-5.630197563231634,-0.0003302137412308781,-4.40500020980835],"max":[5.708049940632542,10.099854721368008,7.800000190734863]},"sizeMeters":[11.338,10.1,12.205],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:47.045Z","updatedAt":"2026-09-08T13:00:47.164Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32738/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityTavernFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32738/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32738/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32738/v1/model.glb\" alt=\"City Tavern (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32738/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32738/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32740","slug":"fantasy-mmo-city-and-townsfolk-travellers-inn-881bdfb8","title":"Travellers Inn (Fantasy MMO City And Townsfolk)","summary":"Three storey coaching inn twice jettied on carved corbels, with an arched carriage entry and its inner gate, two roof dormers, lit ground and attic windows, twin four pot stacks and a house banner at the eaves. Hand painted fantasy MMO city and RPG game asset.","description":"Three storey coaching inn twice jettied on carved corbels, with an arched carriage entry and its inner gate, two roof dormers, lit ground and attic windows, twin four pot stacks and a house banner at the eaves. Dimensions 12.40 x 13.00 x 10.57 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: banner at (-3.8, 9.42, 4.96); sign at (3.9, 4.1, 4.84). Rigid node-transform clips banner-sway, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-travellers-inn-881bdfb8","cdnUrl":"https://cdn.3dassets.dev/assets/32740/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-travellers-inn-881bdfb8","thumbnailUrl":"https://cdn.3dassets.dev/assets/32740/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32740/v1/poster.webp","blurhash":"U5C=^{}@000z*y,DKjFd0fWA#SI;1Ho}}@IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2461332,"triangles":45600,"vertices":110032,"meshes":11,"materials":8,"textures":2,"animations":["banner-sway","sign-sway"],"boundingBox":{"min":[-6.199999809265137,-0.0003746595862041957,-5.225165402168546],"max":[6.199999809265137,12.999818032809522,5.344566154149642]},"sizeMeters":[12.4,13,10.57],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:47.752Z","updatedAt":"2026-09-08T13:00:47.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32740/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TravellersInnFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32740/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32740/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32740/v1/model.glb\" alt=\"Travellers Inn (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32740/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32740/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32742","slug":"fantasy-mmo-city-and-townsfolk-auction-house-39ab43f6","title":"City Auction House (Fantasy MMO City And Townsfolk)","summary":"Tall single volume auction house lit by a clerestory over an aisle roof, entered through an arched pair of studded double doors, with a corbelled canopy and a crimson house banner over the entry. Hand painted fantasy MMO city and RPG game asset.","description":"Tall single volume auction house lit by a clerestory over an aisle roof, entered through an arched pair of studded double doors, with a corbelled canopy and a crimson house banner over the entry. Dimensions 10.74 x 10.00 x 11.15 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door-l at (-1.5, 0.4, 4.34); door-r at (1.5, 0.4, 4.34); banner at (0, 5.1, 5.1); sign at (-4.92, 3.6, 2.4). Both door leaves are one system, so they share a single open and close pair. The banner sways and the sign rocks. Rigid node-transform clips banner-sway, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-auction-house-39ab43f6","cdnUrl":"https://cdn.3dassets.dev/assets/32742/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-auction-house-39ab43f6","thumbnailUrl":"https://cdn.3dassets.dev/assets/32742/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32742/v1/poster.webp","blurhash":"U5DIqA^k00oz00IU%zsD00JRicD%y?-:}[pH","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2035292,"triangles":38096,"vertices":92800,"meshes":17,"materials":9,"textures":2,"animations":["banner-sway","sign-sway"],"boundingBox":{"min":[-5.369999885559082,-0.0001979644390157631,-5.576674938201904],"max":[5.369999885559082,9.999794946757497,5.576674938201904]},"sizeMeters":[10.74,10,11.153],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:49.670Z","updatedAt":"2026-09-08T13:00:49.781Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32742/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityAuctionHouseFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32742/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32742/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32742/v1/model.glb\" alt=\"City Auction House (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32742/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32742/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32741","slug":"fantasy-mmo-city-and-townsfolk-grand-city-bank-4208b772","title":"Grand City Bank (Fantasy MMO City And Townsfolk)","summary":"Ashlar city bank behind a four column fluted portico with a pediment and gilded roundel, reached up four nosed steps, with barred crystal windows and a round banded strongroom door hinged in the west flank. Hand painted fantasy MMO city and RPG game asset.","description":"Ashlar city bank behind a four column fluted portico with a pediment and gilded roundel, reached up four nosed steps, with barred crystal windows and a round banded strongroom door hinged in the west flank. Dimensions 12.26 x 8.00 x 12.22 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-0.83, 0.4, 3.8); vault at (-5.66, 0.6, 2.6); sign at (4.4, 4, 4.48). The strongroom leaf, the front door and the hanging sign are separate systems, so each carries its own clip. Rigid node-transform clips door-open, door-close, vault-open, vault-close, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-grand-city-bank-4208b772","cdnUrl":"https://cdn.3dassets.dev/assets/32741/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-grand-city-bank-4208b772","thumbnailUrl":"https://cdn.3dassets.dev/assets/32741/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32741/v1/poster.webp","blurhash":"U7D96co}00Di4TIot+xu00wy^PtQui$%#SRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1846908,"triangles":34184,"vertices":83366,"meshes":14,"materials":7,"textures":2,"animations":["door-open","door-close","vault-open","vault-close","sign-sway"],"boundingBox":{"min":[-6.439948508544015,-0.00009654206170495172,-4.814806560028329],"max":[5.815000057220459,8.000142282564603,7.40500020980835]},"sizeMeters":[12.255,8,12.22],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:48.216Z","updatedAt":"2026-09-08T13:00:48.561Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32741/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function GrandCityBankFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32741/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32741/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32741/v1/model.glb\" alt=\"Grand City Bank (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32741/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32741/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32743","slug":"fantasy-mmo-city-and-townsfolk-adventurers-guild-hall-d597e1c9","title":"Adventurers Guild Hall (Fantasy MMO City And Townsfolk)","summary":"Cross wing guild hall: a jettied great hall over a two bay stone arcade, a gabled east wing carrying a glazed oriel over the door, three guild banners along the front and a four pot stack. Hand painted fantasy MMO city and RPG game asset.","description":"Cross wing guild hall: a jettied great hall over a two bay stone arcade, a gabled east wing carrying a glazed oriel over the door, three guild banners along the front and a four pot stack. Dimensions 12.92 x 12.90 x 14.33 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-3.58, 0.4, 4); banner-0 at (-4.6, 4.8, 5.08); banner-1 at (-2.9, 4.8, 5.08); banner-2 at (-1.2, 4.8, 5.08); sign at (-5.98, 4.2, 1). Rigid node-transform clips open, close, banner-sway, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-adventurers-guild-hall-d597e1c9","cdnUrl":"https://cdn.3dassets.dev/assets/32743/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-adventurers-guild-hall-d597e1c9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32743/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32743/v1/poster.webp","blurhash":"U5DS5e-9000zzU$fBUJB00tQ=2M}7yXS}YM{","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2715128,"triangles":49888,"vertices":121061,"meshes":17,"materials":9,"textures":2,"animations":["open","close","banner-sway","sign-sway"],"boundingBox":{"min":[-6.460023832411392,0.00021819694800306877,-5.485000133514404],"max":[6.460023832411392,12.90034992719521,8.845000267028809]},"sizeMeters":[12.92,12.9,14.33],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:49.126Z","updatedAt":"2026-09-08T13:00:49.273Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32743/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function AdventurersGuildHallFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32743/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32743/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32743/v1/model.glb\" alt=\"Adventurers Guild Hall (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32743/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32743/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32744","slug":"fantasy-mmo-city-and-townsfolk-city-barracks-b7b25a3b","title":"City Guard Barracks (Fantasy MMO City And Townsfolk)","summary":"Long hipped roof guard barracks with three roof dormers, an arched muster door, a bench by the entry, racked spears at both ends and the city arms painted on the front wall. Hand painted fantasy MMO city and RPG game asset.","description":"Long hipped roof guard barracks with three roof dormers, an arched muster door, a bench by the entry, racked spears at both ends and the city arms painted on the front wall. Dimensions 14.03 x 8.70 x 11.12 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-0.73, 0.4, 3.82). Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-barracks-b7b25a3b","cdnUrl":"https://cdn.3dassets.dev/assets/32744/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-barracks-b7b25a3b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32744/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32744/v1/poster.webp","blurhash":"U5CPLxyC00Vs4T?G%g4:00H@}ttl%}IpxF%L","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1979028,"triangles":38880,"vertices":88514,"meshes":12,"materials":9,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-7.014999866485596,-0.00016678762446131756,-4.764993237376588],"max":[7.014999866485596,8.699896774988469,6.349993275523561]},"sizeMeters":[14.03,8.7,11.115],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:49.613Z","updatedAt":"2026-09-08T13:00:49.715Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32744/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityGuardBarracksFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32744/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32744/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32744/v1/model.glb\" alt=\"City Guard Barracks (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32744/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32744/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32745","slug":"fantasy-mmo-city-and-townsfolk-dock-warehouse-3f3fafc2","title":"Canal Dock Warehouse (Fantasy MMO City And Townsfolk)","summary":"Tall canal warehouse with a barred cargo arch, a boarded and framed upper storey, a pair of loading doors under the gable with a hoist beam, pulley and crate on the rope, and an undershot mill wheel turning on the flank. Hand painted fantasy MMO city and RPG game asset.","description":"Tall canal warehouse with a barred cargo arch, a boarded and framed upper storey, a pair of loading doors under the gable with a hoist beam, pulley and crate on the rope, and an undershot mill wheel turning on the flank. Dimensions 13.54 x 12.58 x 13.27 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (2.32, 0.4, 4.77); door-load-l at (-1.1, 5.02, 5.17); door-load-r at (1.1, 5.02, 5.17); waterwheel at (-6.3, 2.3, 0); sign at (4.6, 3, 5.23). The mill wheel turns, the loading doors and the office door swing and the sign rocks. The hoist rope and pulley are static: a rope is not reachable with one rigid node transform. Rigid node-transform clips open, close, wheel-spin, sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-dock-warehouse-3f3fafc2","cdnUrl":"https://cdn.3dassets.dev/assets/32745/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-dock-warehouse-3f3fafc2","thumbnailUrl":"https://cdn.3dassets.dev/assets/32745/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32745/v1/poster.webp","blurhash":"U6CYjy^k000Lm7-UKOEN0yNH+vt67|J7}[R6","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1792004,"triangles":33000,"vertices":79105,"meshes":19,"materials":8,"textures":2,"animations":["open","close","wheel-spin","sign-sway"],"boundingBox":{"min":[-6.999999988079071,0.000013788596942232445,-5.815314712634139],"max":[6.539999961853027,12.580170888548881,7.449999809265137]},"sizeMeters":[13.54,12.58,13.265],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:50.508Z","updatedAt":"2026-09-08T13:00:50.620Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32745/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CanalDockWarehouseFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32745/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32745/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32745/v1/model.glb\" alt=\"Canal Dock Warehouse (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32745/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32745/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32747","slug":"fantasy-mmo-city-and-townsfolk-city-cathedral-260bcd65","title":"City Cathedral (Fantasy MMO City And Townsfolk)","summary":"Buttressed limestone cathedral: a coursed ashlar nave with eight lit stained glass lancets and a tracery rose over the arched west door, a tiled nave roof, and a crossing tower with a crenellated belfry, a tiled spire on a gilded finial and a bronze bell swinging in the opening.","description":"Buttressed limestone cathedral: a coursed ashlar nave with eight lit stained glass lancets and a tracery rose over the arched west door, a tiled nave roof, and a crossing tower with a crenellated belfry, a tiled spire on a gilded finial and a bronze bell swinging in the opening. Dimensions 12.92 x 23.70 x 23.51 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-1.08, 0.6, 9.7); bell at (0, 13.4, -6.8). The stained glass and rose are emissive materials, not lights. The bell rings and the west door swings; the tracery is modelled as mullion bars rather than cut openings. Rigid node-transform clips open, close, bell-ring drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-cathedral-260bcd65","cdnUrl":"https://cdn.3dassets.dev/assets/32747/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-cathedral-260bcd65","thumbnailUrl":"https://cdn.3dassets.dev/assets/32747/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32747/v1/poster.webp","blurhash":"U6C~r1xu00TD004:%g~B00x[}tZ$?uxa$*Xm","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":4082792,"triangles":68132,"vertices":162323,"meshes":12,"materials":7,"textures":2,"animations":["open","close","bell-ring"],"boundingBox":{"min":[-6.46073237809219,0.0000619914208854766,-11.255000114440918],"max":[6.46073237809219,23.700000762939453,12.255000114440918]},"sizeMeters":[12.921,23.7,23.51],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:51.562Z","updatedAt":"2026-09-08T13:00:51.693Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32747/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityCathedralFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32747/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32747/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32747/v1/model.glb\" alt=\"City Cathedral (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32747/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32747/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32746","slug":"fantasy-mmo-city-and-townsfolk-arcane-mage-tower-3270d276","title":"Arcane Mage Tower (Fantasy MMO City And Townsfolk)","summary":"Three stage mage tower twenty three metres tall in banded rubble courses, tapering through two tiled skirts, with an outer winding stair and iron rail, mullioned enchanted windows, a crenellated head and a cut arcane crystal turning in its four armed iron cradle. Hand painted fan","description":"Three stage mage tower twenty three metres tall in banded rubble courses, tapering through two tiled skirts, with an outer winding stair and iron rail, mullioned enchanted windows, a crenellated head and a cut arcane crystal turning in its four armed iron cradle. Dimensions 9.38 x 23.90 x 9.39 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (-0.78, 0, 3.3); crystal at (0, 21.6, 0). The crystal turns and the door swings. The windows and the crystal are emissive materials, not lights. Rigid node-transform clips open, close, crystal-spin drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-arcane-mage-tower-3270d276","cdnUrl":"https://cdn.3dassets.dev/assets/32746/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-arcane-mage-tower-3270d276","thumbnailUrl":"https://cdn.3dassets.dev/assets/32746/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32746/v1/poster.webp","blurhash":"U4Ac*o-p000L0MWB-ns:0MX7~BnPwLRkkUx?","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":1022096,"triangles":18312,"vertices":46182,"meshes":9,"materials":7,"textures":2,"animations":["open","close","crystal-spin"],"boundingBox":{"min":[-4.776847313767907,0,-4.5980000495910645],"max":[4.5980000495910645,23.899999713897706,4.792628511072941]},"sizeMeters":[9.375,23.9,9.391],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:51.196Z","updatedAt":"2026-09-08T13:00:51.294Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32746/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ArcaneMageTowerFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32746/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32746/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32746/v1/model.glb\" alt=\"Arcane Mage Tower (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32746/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32746/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32749","slug":"fantasy-mmo-city-and-townsfolk-city-town-hall-402750dc","title":"City Town Hall (Fantasy MMO City And Townsfolk)","summary":"Ashlar town hall behind a two column entrance porch on nosed steps, with lit council windows, a quoined clock tower carrying a moulded dial and gilded hands under a tiled spire, and the city banners at first floor level. Hand painted fantasy MMO city and RPG game asset.","description":"Ashlar town hall behind a two column entrance porch on nosed steps, with lit council windows, a quoined clock tower carrying a moulded dial and gilded hands under a tiled spire, and the city banners at first floor level. Dimensions 13.63 x 18.30 x 12.62 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: door at (0.88, 0.4, 4.03); hands at (0, 10.4, 2.68); banner-hall at (-4, 5.6, 4.41); banner-hall2 at (4, 5.6, 4.41). The hands turn as one node, the door swings and the two banners sway; the clock movement itself is not modelled. Rigid node-transform clips open, close, hands-spin, banner-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-town-hall-402750dc","cdnUrl":"https://cdn.3dassets.dev/assets/32749/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-town-hall-402750dc","thumbnailUrl":"https://cdn.3dassets.dev/assets/32749/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32749/v1/poster.webp","blurhash":"U5B{lmtS00Di00V@?ux]01jG}@tQ?aWV-Vnj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"kit","title":"Kit / Set"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":2794956,"triangles":52008,"vertices":127210,"meshes":16,"materials":9,"textures":2,"animations":["open","close","hands-spin","banner-sway"],"boundingBox":{"min":[-6.815000057220459,0,-5.0652336617190175],"max":[6.815000057220459,18.299999237060547,7.555072216437967]},"sizeMeters":[13.63,18.3,12.62],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:00:51.793Z","updatedAt":"2026-09-08T16:11:45.316Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32749/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityTownHallFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32749/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32749/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32749/v1/model.glb\" alt=\"City Town Hall (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32749/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32749/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32748","slug":"fantasy-mmo-city-and-townsfolk-shop-counter-93cebdce","title":"Shop Counter With Drawers (Fantasy MMO City And Townsfolk)","summary":"Oak trade counter with a brass edged top and two lined drawers on runners, the serving piece for any shop in the quarter. Hand painted fantasy MMO city and RPG game asset.","description":"Oak trade counter with a brass edged top and two lined drawers on runners, the serving piece for any shop in the quarter. Dimensions 2.66 x 1.05 x 0.99 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: drawer-0 at (-0.6, 0.5, 0.37); drawer-1 at (0.6, 0.5, 0.37). Both drawers are one system, so they share a single open and close pair. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-shop-counter-93cebdce","cdnUrl":"https://cdn.3dassets.dev/assets/32748/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-shop-counter-93cebdce","thumbnailUrl":"https://cdn.3dassets.dev/assets/32748/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32748/v1/poster.webp","blurhash":"U38C?Y}=0~R,S$=w-SOU049^=e$N#SIW5nI@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":119856,"triangles":1624,"vertices":4330,"meshes":8,"materials":4,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-1.3300000429153442,0.000012818633192142326,-0.47997224364372526],"max":[1.3300000429153442,1.0499455175572372,0.5079986059676208]},"sizeMeters":[2.66,1.05,0.988],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:51.675Z","updatedAt":"2026-09-08T13:00:51.786Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32748/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ShopCounterWithDrawersFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32748/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32748/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32748/v1/model.glb\" alt=\"Shop Counter With Drawers (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32748/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32748/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32750","slug":"fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","title":"Covered Market Stall (Fantasy MMO City And Townsfolk)","summary":"Trestle market stall with a crimson awning on its frame, three trays of produce on the counter and a stock crate underneath. Hand painted fantasy MMO city and RPG game asset.","description":"Trestle market stall with a crimson awning on its frame, three trays of produce on the counter and a stock crate underneath. Dimensions 3.04 x 2.34 x 2.83 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: awning at (0, 2.16, 0.72). The awning rests deployed: its open clip folds it up against the frame rail and close lowers it again. The produce is static. Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","cdnUrl":"https://cdn.3dassets.dev/assets/32750/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-market-stall-5d9f093b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32750/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32750/v1/poster.webp","blurhash":"UA9}}*$kACNt}Z-BNaNa1HWo-Bo21H5+$j$j","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":174552,"triangles":2428,"vertices":6546,"meshes":8,"materials":6,"textures":2,"animations":["open","close"],"boundingBox":{"min":[-1.5,-0.00007587770417849526,-0.7499754228968679],"max":[1.5399999618530273,2.34007579187349,2.0749558945678137]},"sizeMeters":[3.04,2.34,2.825],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:52.102Z","updatedAt":"2026-09-08T13:00:52.254Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32750/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CoveredMarketStallFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32750/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32750/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32750/v1/model.glb\" alt=\"Covered Market Stall (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32750/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32750/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32751","slug":"fantasy-mmo-city-and-townsfolk-bank-deposit-boxes-c298b7df","title":"Bank Deposit Box Wall (Fantasy MMO City And Townsfolk)","summary":"Iron bank strongroom wall of sixteen brass fronted deposit boxes in four rows, one drawn out on its runners. Hand painted fantasy MMO city and RPG game asset.","description":"Iron bank strongroom wall of sixteen brass fronted deposit boxes in four rows, one drawn out on its runners. Dimensions 2.34 x 2.54 x 0.78 m (X x Y x Z). Footprint origin at ground level, box faces to +Z; metre units, +Y up, +Z front. Named pivots: drawer-box at (-0.25, 0.76, 0.3). Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-bank-deposit-boxes-c298b7df","cdnUrl":"https://cdn.3dassets.dev/assets/32751/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-bank-deposit-boxes-c298b7df","thumbnailUrl":"https://cdn.3dassets.dev/assets/32751/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32751/v1/poster.webp","blurhash":"U68D|X-:00E3?dxbISM{9+NL$vxTxvt8M{M_","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":77444,"triangles":1516,"vertices":4053,"meshes":3,"materials":2,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.1700030342792649,0,-0.3600277664365485],"max":[1.1700030342792649,2.5399999618530273,0.4180000156164169]},"sizeMeters":[2.34,2.54,0.778],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:52.410Z","updatedAt":"2026-09-08T13:00:52.547Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32751/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BankDepositBoxWallFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32751/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32751/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32751/v1/model.glb\" alt=\"Bank Deposit Box Wall (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32751/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32751/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32752","slug":"fantasy-mmo-city-and-townsfolk-anvil-and-quench-trough-f19d79a9","title":"Anvil And Quench Trough (Fantasy MMO City And Townsfolk)","summary":"Smith working set: a horned iron anvil on its oak block beside a banded quench trough of water with a hammer standing in the rack. Hand painted fantasy MMO city and RPG game asset.","description":"Smith working set: a horned iron anvil on its oak block beside a banded quench trough of water with a hammer standing in the rack. Dimensions 2.67 x 1.58 x 1.08 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-anvil-and-quench-trough-f19d79a9","cdnUrl":"https://cdn.3dassets.dev/assets/32752/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-anvil-and-quench-trough-f19d79a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32752/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32752/v1/poster.webp","blurhash":"U27,iR2^02;11Q}@^09u00+t=}Xm_}56GG$+","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":164532,"triangles":2196,"vertices":5733,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.1200000047683716,-0.000054912665803596994,-0.5400222704015966],"max":[1.5549999475479126,1.580039530480788,0.5400222704015966]},"sizeMeters":[2.675,1.58,1.08],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:52.505Z","updatedAt":"2026-09-08T15:01:14.296Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32752/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AnvilAndQuenchTroughFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32752/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32752/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32752/v1/model.glb\" alt=\"Anvil And Quench Trough (Fantasy MMO City And Townsfolk)\" 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/32752/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/32752/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32753","slug":"fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453","title":"Tavern Table (Fantasy MMO City And Townsfolk)","summary":"Heavy oak tavern table on four braced legs, set with a brass jug, two tankards and a plate. Hand painted fantasy MMO city and RPG game asset.","description":"Heavy oak tavern table on four braced legs, set with a brass jug, two tankards and a plate. Dimensions 2.20 x 1.08 x 0.98 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453","cdnUrl":"https://cdn.3dassets.dev/assets/32753/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-tavern-table-2f69f453","thumbnailUrl":"https://cdn.3dassets.dev/assets/32753/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32753/v1/poster.webp","blurhash":"U79G8Rn#10w}~A%0NHIq0f-p-9E20NOE$~ad","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":137792,"triangles":1520,"vertices":3970,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-1.100000023841858,-0.00001923000422887622,-0.49244362772717104],"max":[1.100000023841858,1.0799789532996782,0.49244362772717104]},"sizeMeters":[2.2,1.08,0.985],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:53.388Z","updatedAt":"2026-09-08T13:00:53.494Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32753/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TavernTableFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32753/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32753/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32753/v1/model.glb\" alt=\"Tavern Table (Fantasy MMO City And Townsfolk)\" 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/32753/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/32753/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32754","slug":"fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","title":"Tavern Bench (Fantasy MMO City And Townsfolk)","summary":"Two metre oak bench with plank ends and a low back rail, for a tavern table or the front of a shop. Hand painted fantasy MMO city and RPG game asset.","description":"Two metre oak bench with plank ends and a low back rail, for a tavern table or the front of a shop. Dimensions 2.22 x 1.04 x 0.42 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","cdnUrl":"https://cdn.3dassets.dev/assets/32754/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-tavern-bench-7a330927","thumbnailUrl":"https://cdn.3dassets.dev/assets/32754/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32754/v1/poster.webp","blurhash":"U27l}w$60$xa}X}YEgAD0Nsm^5AC9]0~xG-T","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":91748,"triangles":876,"vertices":2342,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-1.1100000143051147,0.00004422606432896714,-0.20504776591162047],"max":[1.1100000143051147,1.0399557357886984,0.21502152073548683]},"sizeMeters":[2.22,1.04,0.42],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:54.044Z","updatedAt":"2026-09-08T13:00:54.138Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32754/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TavernBenchFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32754/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32754/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32754/v1/model.glb\" alt=\"Tavern Bench (Fantasy MMO City And Townsfolk)\" 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/32754/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/32754/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32755","slug":"fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","title":"Ale Barrel With Tap (Fantasy MMO City And Townsfolk)","summary":"Banded oak ale barrel a metre tall with a brass tap and handle, for a tavern cellar or a brewer's yard. Hand painted fantasy MMO city and RPG game asset.","description":"Banded oak ale barrel a metre tall with a brass tap and handle, for a tavern cellar or a brewer's yard. Dimensions 1.04 x 1.10 x 0.99 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","cdnUrl":"https://cdn.3dassets.dev/assets/32755/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-ale-barrel-4d777ea5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32755/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32755/v1/poster.webp","blurhash":"U39PAv-B03O9}rs.ADR+0gSe%2i~WUagjIs-","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":190068,"triangles":2932,"vertices":7435,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.4950000047683716,0,-0.4950000047683716],"max":[0.5500069095682617,1.100000023841858,0.4950000047683716]},"sizeMeters":[1.045,1.1,0.99],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:54.390Z","updatedAt":"2026-09-08T13:00:54.494Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32755/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AleBarrelWithTapFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32755/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32755/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32755/v1/model.glb\" alt=\"Ale Barrel With Tap (Fantasy MMO City And Townsfolk)\" 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/32755/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/32755/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32756","slug":"fantasy-mmo-city-and-townsfolk-library-bookcase-0190afaf","title":"Guild Library Bookcase (Fantasy MMO City And Townsfolk)","summary":"Four shelf walnut bookcase filled with thirty six bound volumes in guild colours, with a moulded cornice. Hand painted fantasy MMO city and RPG game asset.","description":"Four shelf walnut bookcase filled with thirty six bound volumes in guild colours, with a moulded cornice. Dimensions 1.80 x 2.44 x 0.50 m (X x Y x Z). Footprint origin at ground level, shelves facing +Z; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-library-bookcase-0190afaf","cdnUrl":"https://cdn.3dassets.dev/assets/32756/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-library-bookcase-0190afaf","thumbnailUrl":"https://cdn.3dassets.dev/assets/32756/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32756/v1/poster.webp","blurhash":"U48DU-^P000f-nxZM|Ip01Ip~p-oi{WCX8s:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":126872,"triangles":1936,"vertices":5136,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-0.9000604477560865,0,-0.2499050932960558],"max":[0.9000604477560865,2.440000057220459,0.2499050932960558]},"sizeMeters":[1.8,2.44,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:54.789Z","updatedAt":"2026-09-08T13:00:54.895Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32756/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuildLibraryBookcaseFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32756/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32756/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32756/v1/model.glb\" alt=\"Guild Library Bookcase (Fantasy MMO City And Townsfolk)\" 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/32756/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/32756/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32757","slug":"fantasy-mmo-city-and-townsfolk-cathedral-altar-32fce994","title":"Cathedral Stone Altar (Fantasy MMO City And Townsfolk)","summary":"Dressed limestone altar with a crimson cloth, two lit brass candlesticks and a gilded standing emblem, for the cathedral or a wayside shrine. Hand painted fantasy MMO city and RPG game asset.","description":"Dressed limestone altar with a crimson cloth, two lit brass candlesticks and a gilded standing emblem, for the cathedral or a wayside shrine. Dimensions 2.50 x 2.14 x 1.40 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. The candle flames are an emissive material, not lights. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-cathedral-altar-32fce994","cdnUrl":"https://cdn.3dassets.dev/assets/32757/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-cathedral-altar-32fce994","thumbnailUrl":"https://cdn.3dassets.dev/assets/32757/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32757/v1/poster.webp","blurhash":"U4Eob]~W009F00-p.9EL009Z:kxaT|XR]#H@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":88296,"triangles":1356,"vertices":3530,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-1.25,-0.000039037466085578565,-0.7000183111056856],"max":[1.25,2.140004948129455,0.7000183111056856]},"sizeMeters":[2.5,2.14,1.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:54.805Z","updatedAt":"2026-09-08T13:00:54.907Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32757/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CathedralStoneAltarFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32757/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32757/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32757/v1/model.glb\" alt=\"Cathedral Stone Altar (Fantasy MMO City And Townsfolk)\" 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/32757/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/32757/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32758","slug":"fantasy-mmo-city-and-townsfolk-guild-throne-36dd32f5","title":"Guild Master Throne (Fantasy MMO City And Townsfolk)","summary":"High backed walnut throne with a crimson cushion and back panel, brass arm finials and a gilded crest over the head, for a guild hall or a great chamber. Hand painted fantasy MMO city and RPG game asset.","description":"High backed walnut throne with a crimson cushion and back panel, brass arm finials and a gilded crest over the head, for a guild hall or a great chamber. Dimensions 1.60 x 3.14 x 1.50 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-guild-throne-36dd32f5","cdnUrl":"https://cdn.3dassets.dev/assets/32758/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-guild-throne-36dd32f5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32758/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32758/v1/poster.webp","blurhash":"U5AS#qj^00xU8wE2lA~A*HNLMK-PR*n$-pkW","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":111792,"triangles":1008,"vertices":2630,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.000008230311926538114,-0.7499984852503744],"max":[0.800000011920929,3.140000104904175,0.7499984852503744]},"sizeMeters":[1.6,3.14,1.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:55.231Z","updatedAt":"2026-09-08T13:00:55.335Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32758/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuildMasterThroneFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32758/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32758/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32758/v1/model.glb\" alt=\"Guild Master Throne (Fantasy MMO City And Townsfolk)\" 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/32758/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/32758/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32759","slug":"fantasy-mmo-city-and-townsfolk-iron-cauldron-ffaa4331","title":"Iron Cauldron On Its Fire (Fantasy MMO City And Townsfolk)","summary":"Bellied iron cauldron on a three legged trivet over a lit fire, brimming with green brew, with a lifting bar across its handles. Hand painted fantasy MMO city and RPG game asset.","description":"Bellied iron cauldron on a three legged trivet over a lit fire, brimming with green brew, with a lifting bar across its handles. Dimensions 1.50 x 1.55 x 1.21 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. The fire is an emissive material, not a light. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-iron-cauldron-ffaa4331","cdnUrl":"https://cdn.3dassets.dev/assets/32759/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-iron-cauldron-ffaa4331","thumbnailUrl":"https://cdn.3dassets.dev/assets/32759/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32759/v1/poster.webp","blurhash":"U584b:-p004.4?Rl^$xs4oRj?Hxa~Sxu0OD*","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":72980,"triangles":1480,"vertices":3828,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7500394987340383,0,-0.6050373979507885],"max":[0.7500394987340383,1.5547394752502441,0.6050373979507885]},"sizeMeters":[1.5,1.555,1.21],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:55.299Z","updatedAt":"2026-09-08T13:00:55.438Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32759/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IronCauldronOnItsFireFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32759/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32759/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32759/v1/model.glb\" alt=\"Iron Cauldron On Its Fire (Fantasy MMO City And Townsfolk)\" 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/32759/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/32759/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32760","slug":"fantasy-mmo-city-and-townsfolk-brewing-vat-0529004f","title":"Brewery Mash Vat (Fantasy MMO City And Townsfolk)","summary":"Banded oak brewing vat a metre and three quarters across with a straw mash surface, a brass tap and a paddle standing in it. Hand painted fantasy MMO city and RPG game asset.","description":"Banded oak brewing vat a metre and three quarters across with a straw mash surface, a brass tap and a paddle standing in it. Dimensions 2.28 x 2.62 x 2.28 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-brewing-vat-0529004f","cdnUrl":"https://cdn.3dassets.dev/assets/32760/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-brewing-vat-0529004f","thumbnailUrl":"https://cdn.3dassets.dev/assets/32760/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32760/v1/poster.webp","blurhash":"U38fP|xF0Nj?ADf6$ja}0gWV}sSgJAoLw^Nb","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":180404,"triangles":2626,"vertices":6701,"meshes":5,"materials":5,"textures":1,"animations":[],"boundingBox":{"min":[-1.1399999856948853,0.00005344189886502537,-1.1399999856948853],"max":[1.1399999856948853,2.619999885559082,1.1399999856948853]},"sizeMeters":[2.28,2.62,2.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:55.433Z","updatedAt":"2026-09-08T13:00:55.584Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32760/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BreweryMashVatFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32760/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32760/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32760/v1/model.glb\" alt=\"Brewery Mash Vat (Fantasy MMO City And Townsfolk)\" 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/32760/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/32760/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32761","slug":"fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","title":"Stacked Market Crates (Fantasy MMO City And Townsfolk)","summary":"Three slatted oak crates stacked for a shopfront or a dock, the top one lidded on iron hinges with a sack of grain leaning on the pile. Hand painted fantasy MMO city and RPG game asset.","description":"Three slatted oak crates stacked for a shopfront or a dock, the top one lidded on iron hinges with a sack of grain leaning on the pile. Dimensions 1.68 x 1.60 x 0.90 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: lid at (-0.3, 1.44, -0.32). Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","cdnUrl":"https://cdn.3dassets.dev/assets/32761/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-crate-stack-b08adb12","thumbnailUrl":"https://cdn.3dassets.dev/assets/32761/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32761/v1/poster.webp","blurhash":"U59Y@]rX03%y5o$i$$Eg02pH~ADk=wR-NH$$","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":262884,"triangles":3740,"vertices":10027,"meshes":7,"materials":5,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.8399999737739563,-0.00003090441985498238,-0.4600064002015416],"max":[0.8399999737739563,1.5999925208794614,0.44000638947270554]},"sizeMeters":[1.68,1.6,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:56.495Z","updatedAt":"2026-09-08T13:00:56.608Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32761/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function StackedMarketCratesFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32761/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32761/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32761/v1/model.glb\" alt=\"Stacked Market Crates (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32761/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32761/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32762","slug":"fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","title":"Grain Sack Pile (Fantasy MMO City And Townsfolk)","summary":"Four tied hessian grain sacks piled for a bakery store, a mill floor or a dock, each cinched at the neck with cord. Hand painted fantasy MMO city and RPG game asset.","description":"Four tied hessian grain sacks piled for a bakery store, a mill floor or a dock, each cinched at the neck with cord. Dimensions 1.78 x 1.57 x 1.56 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","cdnUrl":"https://cdn.3dassets.dev/assets/32762/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-grain-sack-pile-4be6b3ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/32762/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32762/v1/poster.webp","blurhash":"UCEL=*~U00D*03M|%LRl009b~Txt~TxtWExt","category":{"slug":"food","title":"Food & Drink"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":112144,"triangles":2336,"vertices":6004,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.000008975522331144958,-0.9691895357294668],"max":[0.8799999952316284,1.5679790103022957,0.587434481732427]},"sizeMeters":[1.78,1.568,1.557],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:00:56.896Z","updatedAt":"2026-09-08T15:00:45.368Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32762/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GrainSackPileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32762/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32762/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32762/v1/model.glb\" alt=\"Grain Sack Pile (Fantasy MMO City And Townsfolk)\" 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/32762/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/32762/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32763","slug":"fantasy-mmo-city-and-townsfolk-hanging-guild-banner-67cde01e","title":"Hanging Guild Banner (Fantasy MMO City And Townsfolk)","summary":"Free standing crimson guild banner two and a half metres long on a walnut crossbar between two posts, for a hall wall or a market square. Hand painted fantasy MMO city and RPG game asset.","description":"Free standing crimson guild banner two and a half metres long on a walnut crossbar between two posts, for a hall wall or a market square. Dimensions 2.74 x 3.58 x 0.58 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: banner at (0, 3.14, 0.02). Rigid node-transform clips banner-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-hanging-guild-banner-67cde01e","cdnUrl":"https://cdn.3dassets.dev/assets/32763/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-hanging-guild-banner-67cde01e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32763/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32763/v1/poster.webp","blurhash":"U99P1eoe0zWX%1s.R*Nb1boe}ZWDkBoen+WC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":115420,"triangles":996,"vertices":2668,"meshes":5,"materials":3,"textures":2,"animations":["banner-sway"],"boundingBox":{"min":[-1.3700000047683716,0,-0.26799100131077463],"max":[1.3700000047683716,3.5799465215351307,0.3079909715084523]},"sizeMeters":[2.74,3.58,0.576],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:57.310Z","updatedAt":"2026-09-08T13:00:57.411Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32763/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function HangingGuildBannerFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32763/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32763/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32763/v1/model.glb\" alt=\"Hanging Guild Banner (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32763/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32763/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32764","slug":"fantasy-mmo-city-and-townsfolk-storage-chest-c28ef872","title":"Iron Bound Storage Chest (Fantasy MMO City And Townsfolk)","summary":"Oak strongbox with two iron straps, a brass lock plate and a domed lid hinged along its back edge. Hand painted fantasy MMO city and RPG game asset.","description":"Oak strongbox with two iron straps, a brass lock plate and a domed lid hinged along its back edge. Dimensions 1.66 x 1.02 x 0.94 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: lid at (0, 0.74, -0.4). Rigid node-transform clips open, close drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-storage-chest-c28ef872","cdnUrl":"https://cdn.3dassets.dev/assets/32764/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-storage-chest-c28ef872","thumbnailUrl":"https://cdn.3dassets.dev/assets/32764/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32764/v1/poster.webp","blurhash":"U39~Z*}=0M5SxC$iNdWD04Eh=vbq5;X6-ASN","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"interior","title":"Interior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":161200,"triangles":2208,"vertices":5901,"meshes":6,"materials":3,"textures":1,"animations":["open","close"],"boundingBox":{"min":[-0.828000009059906,0.000051580039998000426,-0.43998586103285103],"max":[0.828000009059906,1.0188000106811523,0.5049858586486653]},"sizeMeters":[1.656,1.019,0.945],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:57.668Z","updatedAt":"2026-09-08T13:00:57.763Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32764/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function IronBoundStorageChestFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32764/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32764/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32764/v1/model.glb\" alt=\"Iron Bound Storage Chest (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32764/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32764/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32765","slug":"fantasy-mmo-city-and-townsfolk-guard-weapon-rack-07c16b87","title":"Guard Weapon Rack (Fantasy MMO City And Townsfolk)","summary":"Barracks rack holding five spears upright in their slots with two swords hung on the back rail, on a heavy walnut base. Hand painted fantasy MMO city and RPG game asset.","description":"Barracks rack holding five spears upright in their slots with two swords hung on the back rail, on a heavy walnut base. Dimensions 2.12 x 2.72 x 0.66 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-guard-weapon-rack-07c16b87","cdnUrl":"https://cdn.3dassets.dev/assets/32765/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-guard-weapon-rack-07c16b87","thumbnailUrl":"https://cdn.3dassets.dev/assets/32765/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32765/v1/poster.webp","blurhash":"U167N4%2009sPV%2rC9t1ikW}8RPyDt8m,Mx","category":{"slug":"weapons-tools","title":"Weapons & Tools"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":109016,"triangles":1288,"vertices":3187,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-1.059999942779541,-0.00006345375473271186,-0.3299984562606921],"max":[1.059999942779541,2.7200000286102295,0.3299984562606921]},"sizeMeters":[2.12,2.72,0.66],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:00:57.696Z","updatedAt":"2026-09-09T02:59:11.865Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32765/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuardWeaponRackFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32765/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32765/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32765/v1/model.glb\" alt=\"Guard Weapon Rack (Fantasy MMO City And Townsfolk)\" 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/32765/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/32765/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32766","slug":"fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","title":"Lit Street Brazier (Fantasy MMO City And Townsfolk)","summary":"Iron fire basket on a three legged stand with a bed of embers and seven flame tongues, the standard light of the city square at night. Hand painted fantasy MMO city and RPG game asset.","description":"Iron fire basket on a three legged stand with a bed of embers and seven flame tongues, the standard light of the city square at night. Dimensions 1.46 x 2.34 x 1.43 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. The flames are emissive geometry, not a light, and they do not flicker: there is no shader or particle system in a GLB of this kit. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","cdnUrl":"https://cdn.3dassets.dev/assets/32766/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-street-brazier-4a70a043","thumbnailUrl":"https://cdn.3dassets.dev/assets/32766/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32766/v1/poster.webp","blurhash":"U87w.;t700Ri~oog4pRis+WBRnt64oa#?aax","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":140364,"triangles":2842,"vertices":7524,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.7149825369614679,0,-0.714969217646281],"max":[0.7399825727242547,2.3399032046717982,0.714969217646281]},"sizeMeters":[1.455,2.34,1.43],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:58.063Z","updatedAt":"2026-09-08T13:00:58.156Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32766/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LitStreetBrazierFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32766/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32766/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32766/v1/model.glb\" alt=\"Lit Street Brazier (Fantasy MMO City And Townsfolk)\" 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/32766/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/32766/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32767","slug":"fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","title":"Hanging Street Lantern (Fantasy MMO City And Townsfolk)","summary":"Glazed iron street lantern on a scrolled wall bracket, hanging 1.4 m above its fixing with a warm lit pane on all four faces. Hand painted fantasy MMO city and RPG game asset.","description":"Glazed iron street lantern on a scrolled wall bracket, hanging 1.4 m above its fixing with a warm lit pane on all four faces. Dimensions 0.47 x 1.12 x 1.14 m (X x Y x Z). Origin at the wall fixing plate, the bracket reaching +Z and the lantern hanging below; metre units, +Y up, +Z front. The glow is an emissive material, not a light. Mount the fixing plate flush on a wall face at about 3 m. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","cdnUrl":"https://cdn.3dassets.dev/assets/32767/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-hanging-lantern-5a5e040f","thumbnailUrl":"https://cdn.3dassets.dev/assets/32767/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32767/v1/poster.webp","blurhash":"U25hV]_30000EUD%wY_2IUD$oa?d~Wxt9ZIr","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21824,"triangles":390,"vertices":1034,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.23750279474268246,-0.000007499411493361308,-0.4699999988079071],"max":[0.23750279474268246,1.120007504179865,0.665681004524231]},"sizeMeters":[0.475,1.12,1.136],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:58.104Z","updatedAt":"2026-09-08T13:00:58.197Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32767/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingStreetLanternFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32767/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32767/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32767/v1/model.glb\" alt=\"Hanging Street Lantern (Fantasy MMO City And Townsfolk)\" 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/32767/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/32767/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32768","slug":"fantasy-mmo-city-and-townsfolk-wall-torch-bc9b5a2c","title":"Lit Wall Torch (Fantasy MMO City And Townsfolk)","summary":"Pitch torch in an iron wall sconce with a burning head, for a gatehouse passage, a barracks corridor or a city lane. Hand painted fantasy MMO city and RPG game asset.","description":"Pitch torch in an iron wall sconce with a burning head, for a gatehouse passage, a barracks corridor or a city lane. Dimensions 0.39 x 1.94 x 0.59 m (X x Y x Z). Origin at the wall fixing plate, the torch leaning out along +Z; metre units, +Y up, +Z front. The flame is an emissive material, not a light. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-wall-torch-bc9b5a2c","cdnUrl":"https://cdn.3dassets.dev/assets/32768/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-wall-torch-bc9b5a2c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32768/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32768/v1/poster.webp","blurhash":"UA7^-?xu009Z~Uxt4pD*NGazt7fi4;Rj?Z%L","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":96480,"triangles":1112,"vertices":2808,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-0.1901020201258301,0,-0.04500022437261458],"max":[0.20000513814016574,1.940000057220459,0.5471260897372063]},"sizeMeters":[0.39,1.94,0.592],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:58.291Z","updatedAt":"2026-09-08T13:00:58.586Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32768/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LitWallTorchFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32768/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32768/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32768/v1/model.glb\" alt=\"Lit Wall Torch (Fantasy MMO City And Townsfolk)\" 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/32768/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/32768/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32769","slug":"fantasy-mmo-city-and-townsfolk-city-well-4a25c00a","title":"City Well (Fantasy MMO City And Townsfolk)","summary":"Round dressed stone well with a banded rim, a tiled roof on two posts, a windlass on its shaft and an oak bucket on the rope. Hand painted fantasy MMO city and RPG game asset.","description":"Round dressed stone well with a banded rim, a tiled roof on two posts, a windlass on its shaft and an oak bucket on the rope. Dimensions 2.90 x 5.00 x 2.63 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. The windlass and bucket are static: the rope is not reachable with one rigid node transform, so nothing here would carry the bucket honestly. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-well-4a25c00a","cdnUrl":"https://cdn.3dassets.dev/assets/32769/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-well-4a25c00a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32769/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32769/v1/poster.webp","blurhash":"U5Avk9?G000e4Tw]?^K50zRl-Uoe3WR-:+s9","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":103340,"triangles":812,"vertices":2057,"meshes":6,"materials":6,"textures":2,"animations":[],"boundingBox":{"min":[-1.4500732619277754,-0.00010299997130058802,-1.3162160332552824],"max":[1.4500732619277754,5,1.3162160332552824]},"sizeMeters":[2.9,5,2.632],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:59.554Z","updatedAt":"2026-09-08T13:00:59.673Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32769/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityWellFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32769/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32769/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32769/v1/model.glb\" alt=\"City Well (Fantasy MMO City And Townsfolk)\" 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/32769/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/32769/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32770","slug":"fantasy-mmo-city-and-townsfolk-plaza-fountain-9b482127","title":"Plaza Fountain (Fantasy MMO City And Townsfolk)","summary":"Five metre stone plaza fountain: a low basin, a fluted central pillar with an upper bowl, six arcs of falling water and a gilded finial. Hand painted fantasy MMO city and RPG game asset.","description":"Five metre stone plaza fountain: a low basin, a fluted central pillar with an upper bowl, six arcs of falling water and a gilded finial. Dimensions 5.44 x 3.65 x 5.44 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. The water arcs are solid geometry in the water material and do not move; a flowing jet needs a shader this kit does not ship. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-plaza-fountain-9b482127","cdnUrl":"https://cdn.3dassets.dev/assets/32770/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-plaza-fountain-9b482127","thumbnailUrl":"https://cdn.3dassets.dev/assets/32770/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32770/v1/poster.webp","blurhash":"UAA,%n%M00M|01Rjx]of00Rj.8jZ_NozwHoJ","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":68340,"triangles":1044,"vertices":2597,"meshes":3,"materials":3,"textures":1,"animations":[],"boundingBox":{"min":[-2.7200000286102295,-0.00007190483731922548,-2.7200000286102295],"max":[2.7200000286102295,3.6500000953674316,2.7200000286102295]},"sizeMeters":[5.44,3.65,5.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:00:59.868Z","updatedAt":"2026-09-08T13:01:00.020Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32770/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PlazaFountainFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32770/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32770/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32770/v1/model.glb\" alt=\"Plaza Fountain (Fantasy MMO City And Townsfolk)\" 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/32770/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/32770/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32771","slug":"fantasy-mmo-city-and-townsfolk-notice-board-fb05c69d","title":"City Notice Board (Fantasy MMO City And Townsfolk)","summary":"Public notice board under a small tiled canopy, with five pinned bills of ruled parchment on an oak panel between two posts. Hand painted fantasy MMO city and RPG game asset.","description":"Public notice board under a small tiled canopy, with five pinned bills of ruled parchment on an oak panel between two posts. Dimensions 2.50 x 2.66 x 0.70 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-notice-board-fb05c69d","cdnUrl":"https://cdn.3dassets.dev/assets/32771/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-notice-board-fb05c69d","thumbnailUrl":"https://cdn.3dassets.dev/assets/32771/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32771/v1/poster.webp","blurhash":"UHAlkN$*0fNG}@$%ELI:NGxG%1NaELso%1S2","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":114596,"triangles":1076,"vertices":2886,"meshes":5,"materials":5,"textures":2,"animations":[],"boundingBox":{"min":[-1.25,0,-0.3499328592791528],"max":[1.25,2.6600073196739027,0.3499328592791528]},"sizeMeters":[2.5,2.66,0.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:01:00.620Z","updatedAt":"2026-09-08T13:01:00.746Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32771/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityNoticeBoardFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32771/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32771/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32771/v1/model.glb\" alt=\"City Notice Board (Fantasy MMO City And Townsfolk)\" 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/32771/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/32771/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32772","slug":"fantasy-mmo-city-and-townsfolk-hand-cart-fce01bae","title":"Two Wheel Hand Cart (Fantasy MMO City And Townsfolk)","summary":"Two wheel oak hand cart with a boarded body, spoked wheels on a through axle, shafts with a cross handle and a crate and barrel loaded on the bed. Hand painted fantasy MMO city and RPG game asset.","description":"Two wheel oak hand cart with a boarded body, spoked wheels on a through axle, shafts with a cross handle and a crate and barrel loaded on the bed. Dimensions 3.54 x 1.40 x 2.74 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: wheel-l at (0, 0.62, -0.78); wheel-r at (0, 0.62, 0.78). Both wheels roll on the shared axle clip; the load is static and the shafts do not fold. Rigid node-transform clips wheel-roll drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-hand-cart-fce01bae","cdnUrl":"https://cdn.3dassets.dev/assets/32772/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-hand-cart-fce01bae","thumbnailUrl":"https://cdn.3dassets.dev/assets/32772/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32772/v1/poster.webp","blurhash":"U46%A=]-0~AD}X$iEhJ80~J8=ws.0~E#=ws:","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":224072,"triangles":3412,"vertices":8874,"meshes":7,"materials":3,"textures":1,"animations":["wheel-roll"],"boundingBox":{"min":[-1.2649999856948853,-4.768371586472142e-9,-1.3696499572312621],"max":[2.2699999809265137,1.4000095432366086,1.3696499572312621]},"sizeMeters":[3.535,1.4,2.739],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:00.791Z","updatedAt":"2026-09-08T16:13:48.117Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32772/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TwoWheelHandCartFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32772/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32772/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32772/v1/model.glb\" alt=\"Two Wheel Hand Cart (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32772/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32772/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32773","slug":"fantasy-mmo-city-and-townsfolk-wheelbarrow-d90ae5f2","title":"Timber Wheelbarrow (Fantasy MMO City And Townsfolk)","summary":"Single wheel oak barrow with a sloped tray of earth, two long handles and a spoked wheel on its fork. Hand painted fantasy MMO city and RPG game asset.","description":"Single wheel oak barrow with a sloped tray of earth, two long handles and a spoked wheel on its fork. Dimensions 1.96 x 0.96 x 0.76 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: wheel-front at (0.66, 0.4, 0). Rigid node-transform clips wheel-roll drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-wheelbarrow-d90ae5f2","cdnUrl":"https://cdn.3dassets.dev/assets/32773/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-wheelbarrow-d90ae5f2","thumbnailUrl":"https://cdn.3dassets.dev/assets/32773/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32773/v1/poster.webp","blurhash":"U47mHN5m0f=x^j$i9uSf0#-T^OI;0gN[}@n*","category":{"slug":"vehicles","title":"Vehicles"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":67384,"triangles":376,"vertices":974,"meshes":5,"materials":4,"textures":1,"animations":["wheel-roll"],"boundingBox":{"min":[-1.2100000381469727,-5.960464455334602e-9,-0.38041932998888983],"max":[0.7500054928440015,0.9600186104796049,0.38041932998888983]},"sizeMeters":[1.96,0.96,0.761],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:00.990Z","updatedAt":"2026-09-08T16:13:28.101Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32773/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function TimberWheelbarrowFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32773/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32773/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32773/v1/model.glb\" alt=\"Timber Wheelbarrow (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32773/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32773/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32774","slug":"fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","title":"Street Flower Planter (Fantasy MMO City And Townsfolk)","summary":"Square oak planter box on corner posts, filled with soil, grass tufts and nine flower heads in city colours. Hand painted fantasy MMO city and RPG game asset.","description":"Square oak planter box on corner posts, filled with soil, grass tufts and nine flower heads in city colours. Dimensions 1.40 x 1.37 x 1.40 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","cdnUrl":"https://cdn.3dassets.dev/assets/32774/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-flower-planter-7341677c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32774/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32774/v1/poster.webp","blurhash":"U4A9=%-;00n1Y*I^M1-L00Ip_LXk4Twa.QFg","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":101112,"triangles":980,"vertices":2655,"meshes":7,"materials":7,"textures":2,"animations":[],"boundingBox":{"min":[-0.699999988079071,-0.00004208803169603037,-0.699999988079071],"max":[0.699999988079071,1.370151200633965,0.699999988079071]},"sizeMeters":[1.4,1.37,1.4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:01.051Z","updatedAt":"2026-09-08T16:12:19.201Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32774/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StreetFlowerPlanterFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32774/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32774/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32774/v1/model.glb\" alt=\"Street Flower Planter (Fantasy MMO City And Townsfolk)\" 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/32774/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/32774/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32775","slug":"fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","title":"City Broadleaf Tree (Fantasy MMO City And Townsfolk)","summary":"Seven metre broadleaf street tree on a buttressed trunk, with five main limbs branching into fifteen boughs and a canopy layered from sixteen leaf masses, grass at its foot. Hand painted fantasy MMO city and RPG game asset.","description":"Seven metre broadleaf street tree on a buttressed trunk, with five main limbs branching into fifteen boughs and a canopy layered from sixteen leaf masses, grass at its foot. Dimensions 5.29 x 7.82 x 5.68 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","cdnUrl":"https://cdn.3dassets.dev/assets/32775/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-broadleaf-tree-0328372c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32775/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32775/v1/poster.webp","blurhash":"UD5~UVtQD7M|.jt7MLRjWUj[n+WBDQV[yBkB","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":110004,"triangles":1282,"vertices":3435,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-2.6666876232634604,0,-2.920311450958252],"max":[2.6260105526457846,7.819550210648061,2.7637317180633545]},"sizeMeters":[5.293,7.82,5.684],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:01.278Z","updatedAt":"2026-09-08T16:12:12.368Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32775/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CityBroadleafTreeFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32775/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32775/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32775/v1/model.glb\" alt=\"City Broadleaf Tree (Fantasy MMO City And Townsfolk)\" 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/32775/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/32775/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32776","slug":"fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","title":"Tall Cypress Tree (Fantasy MMO City And Townsfolk)","summary":"Slim eight metre cypress on a buttressed trunk, built from nine stacked tiers with forty five sprays breaking their outline, the vertical accent for a cathedral yard or a city garden. Hand painted fantasy MMO city and RPG game asset.","description":"Slim eight metre cypress on a buttressed trunk, built from nine stacked tiers with forty five sprays breaking their outline, the vertical accent for a cathedral yard or a city garden. Dimensions 2.28 x 8.11 x 2.28 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","cdnUrl":"https://cdn.3dassets.dev/assets/32776/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-cypress-tree-f98afb44","thumbnailUrl":"https://cdn.3dassets.dev/assets/32776/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32776/v1/poster.webp","blurhash":"U56blDyB008|M{WUozoM8yV@.jtk%{kCMMaL","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":99608,"triangles":1120,"vertices":2985,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-1.1035397792379462,0,-1.1383313084165656],"max":[1.173122837595185,8.113619804382324,1.1383313084165656]},"sizeMeters":[2.277,8.114,2.277],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:02.040Z","updatedAt":"2026-09-08T16:12:09.703Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32776/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TallCypressTreeFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32776/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32776/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32776/v1/model.glb\" alt=\"Tall Cypress Tree (Fantasy MMO City And Townsfolk)\" 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/32776/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/32776/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32777","slug":"fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","title":"Clipped Hedge Block (Fantasy MMO City And Townsfolk)","summary":"Two and a half metre clipped hedge on a soil bed, for edging a plaza garden, a cathedral close or a guild forecourt. Hand painted fantasy MMO city and RPG game asset.","description":"Two and a half metre clipped hedge on a soil bed, for edging a plaza garden, a cathedral close or a guild forecourt. Dimensions 3.07 x 2.52 x 1.26 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","cdnUrl":"https://cdn.3dassets.dev/assets/32777/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-clipped-hedge-block-ea0b52b0","thumbnailUrl":"https://cdn.3dassets.dev/assets/32777/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32777/v1/poster.webp","blurhash":"U4B4X7~q00D*0]yA[dDQ00FXu0vi_u-Dy=J6","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":139668,"triangles":1636,"vertices":4524,"meshes":4,"materials":4,"textures":2,"animations":[],"boundingBox":{"min":[-1.5168309211730957,0.000001531885938266253,-0.6299221756242398],"max":[1.5499999523162842,2.5200656302666413,0.6299221756242398]},"sizeMeters":[3.067,2.52,1.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:02.807Z","updatedAt":"2026-09-08T16:12:05.515Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32777/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClippedHedgeBlockFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32777/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32777/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32777/v1/model.glb\" alt=\"Clipped Hedge Block (Fantasy MMO City And Townsfolk)\" 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/32777/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/32777/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32778","slug":"fantasy-mmo-city-and-townsfolk-stone-rubble-pile-7863cdfc","title":"Stone Rubble Pile (Fantasy MMO City And Townsfolk)","summary":"Heap of eleven broken limestone blocks with two split timbers across it, for a building site, a repaired wall or a ruined corner. Hand painted fantasy MMO city and RPG game asset.","description":"Heap of eleven broken limestone blocks with two split timbers across it, for a building site, a repaired wall or a ruined corner. Dimensions 2.61 x 0.78 x 2.05 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-stone-rubble-pile-7863cdfc","cdnUrl":"https://cdn.3dassets.dev/assets/32778/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-stone-rubble-pile-7863cdfc","thumbnailUrl":"https://cdn.3dassets.dev/assets/32778/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32778/v1/poster.webp","blurhash":"U79jfa-p00t7-:RkIUxu00E1~pWC4.xa-:IU","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":88884,"triangles":550,"vertices":1529,"meshes":2,"materials":2,"textures":2,"animations":[],"boundingBox":{"min":[-1.2339483499526978,0.00004951169770439634,-1.114150141196797],"max":[1.3795297145843506,0.7799504596920661,0.9379715070300794]},"sizeMeters":[2.613,0.78,2.052],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:02.902Z","updatedAt":"2026-09-08T16:12:03.842Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32778/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneRubblePileFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32778/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32778/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32778/v1/model.glb\" alt=\"Stone Rubble Pile (Fantasy MMO City And Townsfolk)\" 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/32778/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/32778/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32779","slug":"fantasy-mmo-city-and-townsfolk-trade-sign-post-8667d4a9","title":"Free Standing Trade Sign (Fantasy MMO City And Townsfolk)","summary":"Free standing painted trade sign on a walnut post and iron brace, hanging from a bracket at 3.2 m over a stone base. Hand painted fantasy MMO city and RPG game asset.","description":"Free standing painted trade sign on a walnut post and iron brace, hanging from a bracket at 3.2 m over a stone base. Dimensions 1.10 x 3.64 x 1.47 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: sign at (0, 3.16, 1.04). Rigid node-transform clips sign-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-trade-sign-post-8667d4a9","cdnUrl":"https://cdn.3dassets.dev/assets/32779/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-trade-sign-post-8667d4a9","thumbnailUrl":"https://cdn.3dassets.dev/assets/32779/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32779/v1/poster.webp","blurhash":"U35hP$tU00Ma4rxv_1I9s#RhRqx_eOM]XV-@","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":74164,"triangles":344,"vertices":921,"meshes":6,"materials":5,"textures":2,"animations":["sign-sway"],"boundingBox":{"min":[-0.550000011920929,0.000021371471218639693,-0.3499999940395355],"max":[0.550000011920929,3.640000104904175,1.115009953330326]},"sizeMeters":[1.1,3.64,1.465],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:01:03.545Z","updatedAt":"2026-09-08T13:01:03.659Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32779/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function FreeStandingTradeSignFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32779/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32779/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32779/v1/model.glb\" alt=\"Free Standing Trade Sign (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32779/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32779/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32781","slug":"fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","title":"City Pennant Pole (Fantasy MMO City And Townsfolk)","summary":"Seven metre pennant pole on a stepped stone base with a brass finial and a long blue city pennant flying from the head. Hand painted fantasy MMO city and RPG game asset.","description":"Seven metre pennant pole on a stepped stone base with a brass finial and a long blue city pennant flying from the head. Dimensions 3.31 x 6.84 x 1.24 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: pennant at (0, 6.42, 0). Rigid node-transform clips banner-sway drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","cdnUrl":"https://cdn.3dassets.dev/assets/32781/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-pennant-pole-27a7745f","thumbnailUrl":"https://cdn.3dassets.dev/assets/32781/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32781/v1/poster.webp","blurhash":"U25}dV~U00010DD%?O?^~X%19E9b~T-o584:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":113000,"triangles":1096,"vertices":2645,"meshes":8,"materials":6,"textures":2,"animations":["banner-sway"],"boundingBox":{"min":[-0.6200000047683716,-0.000009451124357906515,-0.6200000047683716],"max":[2.690000057220459,6.840000152587891,0.6200000047683716]},"sizeMeters":[3.31,6.84,1.24],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:01:04.043Z","updatedAt":"2026-09-08T13:01:04.162Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32781/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityPennantPoleFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32781/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32781/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32781/v1/model.glb\" alt=\"City Pennant Pole (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32781/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32781/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32780","slug":"fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","title":"Stacked Firewood (Fantasy MMO City And Townsfolk)","summary":"Stack of twenty two split logs a metre high between two stakes, with a straw cover thrown over the top, for a bakery yard or a smithy. Hand painted fantasy MMO city and RPG game asset.","description":"Stack of twenty two split logs a metre high between two stakes, with a straw cover thrown over the top, for a bakery yard or a smithy. Dimensions 1.92 x 2.29 x 1.05 m (X x Y x Z). Footprint origin at ground level, logs running along Z; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","cdnUrl":"https://cdn.3dassets.dev/assets/32780/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-firewood-stack-1b7bc0e3","thumbnailUrl":"https://cdn.3dassets.dev/assets/32780/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32780/v1/poster.webp","blurhash":"U5840h?t038}s:xZbbNH004q~T_0j?E2IV-o","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":80824,"triangles":660,"vertices":1696,"meshes":2,"materials":2,"textures":1,"animations":[],"boundingBox":{"min":[-0.9600779587986683,0,-0.8451866190998206],"max":[0.9600779587986683,2.2899999618530273,0.20006102941075116]},"sizeMeters":[1.92,2.29,1.045],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:04.018Z","updatedAt":"2026-09-08T16:12:00.669Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32780/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StackedFirewoodFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32780/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32780/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32780/v1/model.glb\" alt=\"Stacked Firewood (Fantasy MMO City And Townsfolk)\" 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/32780/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/32780/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32783","slug":"fantasy-mmo-city-and-townsfolk-dock-pallet-load-d82cd7a0","title":"Dock Pallet Load (Fantasy MMO City And Townsfolk)","summary":"Loaded timber pallet from the canal dock: three slatted crates, a small barrel and a grain sack, ready for the warehouse arch. Hand painted fantasy MMO city and RPG game asset.","description":"Loaded timber pallet from the canal dock: three slatted crates, a small barrel and a grain sack, ready for the warehouse arch. Dimensions 1.90 x 1.54 x 1.29 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Static geometry: no rig or animation. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-dock-pallet-load-d82cd7a0","cdnUrl":"https://cdn.3dassets.dev/assets/32783/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-dock-pallet-load-d82cd7a0","thumbnailUrl":"https://cdn.3dassets.dev/assets/32783/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32783/v1/poster.webp","blurhash":"U39PAt}X025,=_=dIp5m03n%~TADICR+%ekA","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":348664,"triangles":5400,"vertices":14278,"meshes":4,"materials":4,"textures":1,"animations":[],"boundingBox":{"min":[-0.949999988079071,-0.000015781564380978885,-0.5999725258128086],"max":[0.949999988079071,1.5400027034238444,0.6871561166787528]},"sizeMeters":[1.9,1.54,1.287],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":0,"publishedAt":"2026-09-08T13:01:04.506Z","updatedAt":"2026-09-08T13:01:04.646Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32783/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DockPalletLoadFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32783/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32783/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32783/v1/model.glb\" alt=\"Dock Pallet Load (Fantasy MMO City And Townsfolk)\" 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/32783/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/32783/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32782","slug":"fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","title":"City Guard With Spear (Fantasy MMO City And Townsfolk)","summary":"City watch guard in a blue tabard over a mail shirt, a domed helm with a nose bar and a brass badge, holding a two and a half metre spear at rest. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"City watch guard in a blue tabard over a mail shirt, a domed helm with a nose bar and a brass badge, holding a two and a half metre spear at rest. Dimensions 0.63 x 3.39 x 0.53 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.93, 0); belt at (0, 0.93, 0); strap at (0, 0.93, 0); head at (0, 1.57, 0); face at (0, 1.57, 0); hair at (0, 1.57, 0); arm-l at (-0.24, 1.49, 0); fore-l at (-0.24, 1.14, 0); arm-r at (0.24, 1.49, 0); fore-r at (0.24, 1.14, 0); thigh-l at (-0.11, 0.93, 0); shin-l at (-0.11, 0.5, 0); boot-l at (-0.11, 0.5, 0); thigh-r at (0.11, 0.93, 0); shin-r at (0.11, 0.5, 0); boot-r at (0.11, 0.5, 0); weapon at (0.24, 0.83, 0); weapon-head at (0.24, 2.69, 0). The spear haft is the raised node and the iron head is parented to it, so one clip lifts the whole weapon. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","cdnUrl":"https://cdn.3dassets.dev/assets/32782/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-guard-52abf67b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32782/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32782/v1/poster.webp","blurhash":"U342PJso00NuITbF%Nn+8^R*?dxa.An+H;Sx","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":396896,"triangles":8272,"vertices":20336,"meshes":20,"materials":6,"textures":2,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.31509742719759204,0.000005707445659031141,-0.26597680326863965],"max":[0.31509742719759204,3.387700107288361,0.26597680326863965]},"sizeMeters":[0.63,3.388,0.532],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:04.469Z","updatedAt":"2026-09-08T16:15:00.374Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32782/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityGuardWithSpearFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32782/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32782/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32782/v1/model.glb\" alt=\"City Guard With Spear (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32782/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32782/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32784","slug":"fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5","title":"City Merchant (Fantasy MMO City And Townsfolk)","summary":"Well fed city merchant in a crimson robe and hood with a brass buckled belt and a money pouch slung at the hip. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Well fed city merchant in a crimson robe and hood with a brass buckled belt and a money pouch slung at the hip. Dimensions 0.62 x 1.76 x 0.52 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.87, 0); belt at (0, 0.87, 0); strap at (0, 0.87, 0); head at (0, 1.47, 0); face at (0, 1.47, 0); hair at (0, 1.47, 0); arm-l at (-0.23, 1.39, 0); fore-l at (-0.23, 1.07, 0); arm-r at (0.23, 1.39, 0); fore-r at (0.23, 1.07, 0); thigh-l at (-0.1, 0.87, 0); shin-l at (-0.1, 0.47, 0); boot-l at (-0.1, 0.47, 0); thigh-r at (0.1, 0.87, 0); shin-r at (0.1, 0.47, 0); boot-r at (0.1, 0.47, 0). Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5","cdnUrl":"https://cdn.3dassets.dev/assets/32784/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-merchant-c3ce6ca5","thumbnailUrl":"https://cdn.3dassets.dev/assets/32784/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32784/v1/poster.webp","blurhash":"U78M%Bxa01E2-BoeJ6R*0fV[}@o|Kgayv%j[","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":392564,"triangles":8122,"vertices":19949,"meshes":18,"materials":7,"textures":2,"animations":["idle","head-turn","arm-swing"],"boundingBox":{"min":[-0.30814209050856955,0.000005351130485373168,-0.26011715993106466],"max":[0.30814209050856955,1.7584425483835038,0.26011715993106466]},"sizeMeters":[0.616,1.758,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:05.221Z","updatedAt":"2026-09-08T16:14:58.098Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32784/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityMerchantFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32784/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32784/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32784/v1/model.glb\" alt=\"City Merchant (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32784/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32784/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32785","slug":"fantasy-mmo-city-and-townsfolk-city-blacksmith-cc7c5c5c","title":"City Blacksmith (Fantasy MMO City And Townsfolk)","summary":"Broad shouldered smith in a scorched leather apron over a work shirt, holding a long handled iron forge hammer. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Broad shouldered smith in a scorched leather apron over a work shirt, holding a long handled iron forge hammer. Dimensions 0.72 x 1.78 x 0.61 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.9, 0); belt at (0, 0.9, 0); strap at (0, 0.9, 0); head at (0, 1.52, 0); face at (0, 1.52, 0); hair at (0, 1.52, 0); arm-l at (-0.27, 1.44, 0); fore-l at (-0.27, 1.11, 0); arm-r at (0.27, 1.44, 0); fore-r at (0.27, 1.11, 0); thigh-l at (-0.1, 0.9, 0); shin-l at (-0.1, 0.49, 0); boot-l at (-0.1, 0.49, 0); thigh-r at (0.1, 0.9, 0); shin-r at (0.1, 0.49, 0); boot-r at (0.1, 0.49, 0); weapon at (0.27, 0.8, 0). The hammer is one node on the hand pivot. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-blacksmith-cc7c5c5c","cdnUrl":"https://cdn.3dassets.dev/assets/32785/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-blacksmith-cc7c5c5c","thumbnailUrl":"https://cdn.3dassets.dev/assets/32785/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32785/v1/poster.webp","blurhash":"U57wc*xs00IW~ntQ4:My0foL^%WB4;M|?G-o","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":391248,"triangles":8640,"vertices":21390,"meshes":18,"materials":4,"textures":1,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.3603404920483242,0.000005534551762859108,-0.3041946257445347],"max":[0.3603404920483242,1.7843137308878,0.3041946257445347]},"sizeMeters":[0.721,1.784,0.608],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:06.369Z","updatedAt":"2026-09-08T16:14:45.740Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32785/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityBlacksmithFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32785/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32785/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32785/v1/model.glb\" alt=\"City Blacksmith (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32785/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32785/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32786","slug":"fantasy-mmo-city-and-townsfolk-innkeeper-4783cfaf","title":"Innkeeper (Fantasy MMO City And Townsfolk)","summary":"Innkeeper in a cream shirt and straw coloured apron, carrying a brass ale jug ready for the next table. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Innkeeper in a cream shirt and straw coloured apron, carrying a brass ale jug ready for the next table. Dimensions 0.73 x 1.71 x 0.54 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.86, 0); belt at (0, 0.86, 0); strap at (0, 0.86, 0); head at (0, 1.45, 0); face at (0, 1.45, 0); hair at (0, 1.45, 0); arm-l at (-0.24, 1.38, 0); fore-l at (-0.24, 1.06, 0); arm-r at (0.24, 1.38, 0); fore-r at (0.24, 1.06, 0); thigh-l at (-0.1, 0.86, 0); shin-l at (-0.1, 0.46, 0); boot-l at (-0.1, 0.46, 0); thigh-r at (0.1, 0.86, 0); shin-r at (0.1, 0.46, 0); boot-r at (0.1, 0.46, 0); weapon at (0.24, 0.77, 0). The jug is one node on the hand pivot. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-innkeeper-4783cfaf","cdnUrl":"https://cdn.3dassets.dev/assets/32786/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-innkeeper-4783cfaf","thumbnailUrl":"https://cdn.3dassets.dev/assets/32786/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32786/v1/poster.webp","blurhash":"UB9t49%L009G~Vt74:M{4oRj-;tR4;Rk?Ft6","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":420340,"triangles":8648,"vertices":21409,"meshes":18,"materials":8,"textures":2,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.3178463677204617,0.00000528999005951214,-0.2683343230447972],"max":[0.4114861184215546,1.7050108960789436,0.2683343230447972]},"sizeMeters":[0.729,1.705,0.537],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:06.541Z","updatedAt":"2026-09-08T16:14:42.871Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32786/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function InnkeeperFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32786/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32786/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32786/v1/model.glb\" alt=\"Innkeeper (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32786/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32786/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32787","slug":"fantasy-mmo-city-and-townsfolk-city-mage-31468b6f","title":"City Mage (Fantasy MMO City And Townsfolk)","summary":"Robed city mage in a deep blue hooded robe over a long skirt, carrying a walnut staff topped with a glowing arcane orb. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Robed city mage in a deep blue hooded robe over a long skirt, carrying a walnut staff topped with a glowing arcane orb. Dimensions 0.57 x 2.48 x 0.53 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.89, 0); belt at (0, 0.89, 0); strap at (0, 0.89, 0); head at (0, 1.5, 0); face at (0, 1.5, 0); hair at (0, 1.5, 0); arm-l at (-0.19, 1.42, 0); fore-l at (-0.19, 1.09, 0); arm-r at (0.19, 1.42, 0); fore-r at (0.19, 1.09, 0); thigh-l at (-0.1, 0.89, 0); shin-l at (-0.1, 0.48, 0); boot-l at (-0.1, 0.48, 0); thigh-r at (0.1, 0.89, 0); shin-r at (0.1, 0.48, 0); boot-r at (0.1, 0.48, 0); weapon at (0.19, 0.79, 0); weapon-head at (0.19, 2.24, 0). The orb is an emissive material, not a light, and it is parented to the staff so one clip raises both. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-mage-31468b6f","cdnUrl":"https://cdn.3dassets.dev/assets/32787/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-mage-31468b6f","thumbnailUrl":"https://cdn.3dassets.dev/assets/32787/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32787/v1/poster.webp","blurhash":"U36u0GW@00w=~PRP0j%hW8NFbK-qOXWBwJt6","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":404668,"triangles":8246,"vertices":20262,"meshes":19,"materials":6,"textures":2,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.27020400762557983,0,-0.2634421043004974],"max":[0.30447080193394904,2.482100009536743,0.2634421043004974]},"sizeMeters":[0.575,2.482,0.527],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:07.524Z","updatedAt":"2026-09-08T16:14:31.528Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32787/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityMageFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32787/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32787/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32787/v1/model.glb\" alt=\"City Mage (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32787/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32787/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32788","slug":"fantasy-mmo-city-and-townsfolk-forest-ranger-ea5698b1","title":"Forest Ranger With Bow (Fantasy MMO City And Townsfolk)","summary":"Hooded ranger in green and leather with a quiver of arrows on the back, holding a recurved longbow at rest. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Hooded ranger in green and leather with a quiver of arrows on the back, holding a recurved longbow at rest. Dimensions 0.54 x 1.78 x 0.52 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.88, 0); belt at (0, 0.88, 0); strap at (0, 0.88, 0); head at (0, 1.49, 0); face at (0, 1.49, 0); hair at (0, 1.49, 0); arm-l at (-0.2, 1.41, 0); fore-l at (-0.2, 1.08, 0); arm-r at (0.2, 1.41, 0); fore-r at (0.2, 1.08, 0); thigh-l at (-0.1, 0.88, 0); shin-l at (-0.1, 0.48, 0); boot-l at (-0.1, 0.48, 0); thigh-r at (0.1, 0.88, 0); shin-r at (0.1, 0.48, 0); boot-r at (0.1, 0.48, 0); weapon at (0.2, 0.78, 0). The bow is one node on the hand pivot; the string is solid geometry and never draws. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-forest-ranger-ea5698b1","cdnUrl":"https://cdn.3dassets.dev/assets/32788/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-forest-ranger-ea5698b1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32788/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32788/v1/poster.webp","blurhash":"U684h;%L004:.kxaDQIV4WNH.6%1mnRkTb%0","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":358536,"triangles":8216,"vertices":20173,"meshes":19,"materials":6,"textures":1,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.2687440821332436,0.0000054153477119511795,-0.2604820591091444],"max":[0.2687440821332436,1.7786545427872889,0.2604820591091444]},"sizeMeters":[0.537,1.779,0.521],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:07.561Z","updatedAt":"2026-09-08T16:14:26.560Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32788/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function ForestRangerWithBowFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32788/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32788/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32788/v1/model.glb\" alt=\"Forest Ranger With Bow (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32788/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32788/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32789","slug":"fantasy-mmo-city-and-townsfolk-city-priest-ad614866","title":"City Priest (Fantasy MMO City And Townsfolk)","summary":"Cathedral priest in a cream vestment with a gilded stole and circlet, carrying a bound book of rites. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Cathedral priest in a cream vestment with a gilded stole and circlet, carrying a bound book of rites. Dimensions 0.61 x 1.74 x 0.48 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.88, 0); belt at (0, 0.88, 0); strap at (0, 0.88, 0); head at (0, 1.48, 0); face at (0, 1.48, 0); hair at (0, 1.48, 0); arm-l at (-0.21, 1.4, 0); fore-l at (-0.21, 1.08, 0); arm-r at (0.21, 1.4, 0); fore-r at (0.21, 1.08, 0); thigh-l at (-0.1, 0.88, 0); shin-l at (-0.1, 0.47, 0); boot-l at (-0.1, 0.47, 0); thigh-r at (0.1, 0.88, 0); shin-r at (0.1, 0.47, 0); boot-r at (0.1, 0.47, 0); weapon at (0.21, 0.78, 0). The book is one node on the hand pivot and never opens. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-priest-ad614866","cdnUrl":"https://cdn.3dassets.dev/assets/32789/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-priest-ad614866","thumbnailUrl":"https://cdn.3dassets.dev/assets/32789/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32789/v1/poster.webp","blurhash":"U3BMxo?b00008_ae.9o#00fi~WWCIBflyCjF","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":426508,"triangles":8832,"vertices":21833,"meshes":19,"materials":7,"textures":2,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.28294718370833777,0,-0.2388818976600224],"max":[0.3313125047683716,1.737157123015121,0.2388818976600224]},"sizeMeters":[0.614,1.737,0.478],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:07.380Z","updatedAt":"2026-09-08T16:14:40.396Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32789/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityPriestFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32789/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32789/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32789/v1/model.glb\" alt=\"City Priest (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32789/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32789/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32791","slug":"fantasy-mmo-city-and-townsfolk-dockhand-ffce398e","title":"Canal Dockhand (Fantasy MMO City And Townsfolk)","summary":"Canal dockhand in a rolled shirt and a red head scarf, carrying a sack of grain balanced across the shoulders. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Canal dockhand in a rolled shirt and a red head scarf, carrying a sack of grain balanced across the shoulders. Dimensions 0.66 x 1.90 x 0.56 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.9, 0); belt at (0, 0.9, 0); strap at (0, 0.9, 0); head at (0, 1.51, 0); face at (0, 1.51, 0); hair at (0, 1.51, 0); arm-l at (-0.25, 1.43, 0); fore-l at (-0.25, 1.1, 0); arm-r at (0.25, 1.43, 0); fore-r at (0.25, 1.1, 0); thigh-l at (-0.1, 0.9, 0); shin-l at (-0.1, 0.48, 0); boot-l at (-0.1, 0.48, 0); thigh-r at (0.1, 0.9, 0); shin-r at (0.1, 0.48, 0); boot-r at (0.1, 0.48, 0). The sack rides the torso node rather than one of its own, because it rests on both shoulders. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-dockhand-ffce398e","cdnUrl":"https://cdn.3dassets.dev/assets/32791/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-dockhand-ffce398e","thumbnailUrl":"https://cdn.3dassets.dev/assets/32791/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32791/v1/poster.webp","blurhash":"UC9@39s;00NF~Tof4;Rk9aax-.j]E8WC-hs:","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":400796,"triangles":8620,"vertices":21337,"meshes":17,"materials":7,"textures":2,"animations":["idle","head-turn","arm-swing"],"boundingBox":{"min":[-0.3307819827302694,0.0000055107836410550615,-0.27925492665778345],"max":[0.3307819827302694,1.9014999866485596,0.27925492665778345]},"sizeMeters":[0.662,1.901,0.559],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:07.416Z","updatedAt":"2026-09-08T16:14:33.680Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32791/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CanalDockhandFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32791/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32791/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32791/v1/model.glb\" alt=\"Canal Dockhand (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32791/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32791/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32790","slug":"fantasy-mmo-city-and-townsfolk-city-child-d2a15276","title":"City Child (Fantasy MMO City And Townsfolk)","summary":"Child of the quarter, just under a metre and a quarter tall, in a red smock and leather shoes, holding a stitched leather ball. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Child of the quarter, just under a metre and a quarter tall, in a red smock and leather shoes, holding a stitched leather ball. Dimensions 0.41 x 1.17 x 0.32 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.59, 0); belt at (0, 0.59, 0); strap at (0, 0.59, 0); head at (0, 1, 0); face at (0, 1, 0); hair at (0, 1, 0); arm-l at (-0.13, 0.94, 0); fore-l at (-0.13, 0.73, 0); arm-r at (0.13, 0.94, 0); fore-r at (0.13, 0.73, 0); thigh-l at (-0.07, 0.59, 0); shin-l at (-0.07, 0.32, 0); boot-l at (-0.07, 0.32, 0); thigh-r at (0.07, 0.59, 0); shin-r at (0.07, 0.32, 0); boot-r at (0.07, 0.32, 0); weapon at (0.13, 0.53, 0). The ball is one node on the hand pivot. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-child-d2a15276","cdnUrl":"https://cdn.3dassets.dev/assets/32790/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-child-d2a15276","thumbnailUrl":"https://cdn.3dassets.dev/assets/32790/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32790/v1/poster.webp","blurhash":"U483*6-V000y}ss:5RI:0KNG~C%17LSN;2wJ","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":423464,"triangles":8608,"vertices":21305,"meshes":17,"materials":6,"textures":2,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.17610969522493491,0.0000036230004217263634,-0.14574173725091177],"max":[0.2289150089406967,1.1697167869119878,0.17000000644475222]},"sizeMeters":[0.405,1.17,0.316],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:10.582Z","updatedAt":"2026-09-08T16:14:18.212Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32790/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityChildFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32790/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32790/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32790/v1/model.glb\" alt=\"City Child (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32790/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32790/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32792","slug":"fantasy-mmo-city-and-townsfolk-market-trader-25603071","title":"Market Trader (Fantasy MMO City And Townsfolk)","summary":"Market trader in a green tunic and red hood with a strapped tray of fruit slung in front, ready to work the square. Rigid jointed hand painted fantasy MMO city character, no skinning.","description":"Market trader in a green tunic and red hood with a strapped tray of fruit slung in front, ready to work the square. Dimensions 0.54 x 1.70 x 0.57 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.84, 0); belt at (0, 0.84, 0); strap at (0, 0.84, 0); head at (0, 1.42, 0); face at (0, 1.42, 0); hair at (0, 1.42, 0); arm-l at (-0.2, 1.34, 0); fore-l at (-0.2, 1.03, 0); arm-r at (0.2, 1.34, 0); fore-r at (0.2, 1.03, 0); thigh-l at (-0.1, 0.84, 0); shin-l at (-0.1, 0.45, 0); boot-l at (-0.1, 0.45, 0); thigh-r at (0.1, 0.84, 0); shin-r at (0.1, 0.45, 0); boot-r at (0.1, 0.45, 0). The tray rides the torso node because it hangs from both shoulders. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-market-trader-25603071","cdnUrl":"https://cdn.3dassets.dev/assets/32792/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-market-trader-25603071","thumbnailUrl":"https://cdn.3dassets.dev/assets/32792/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32792/v1/poster.webp","blurhash":"U58NLRjY00kE~BtQ56Me03XS?sn3IIM|te-p","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":375476,"triangles":8378,"vertices":20636,"meshes":21,"materials":9,"textures":2,"animations":["idle","head-turn","arm-swing"],"boundingBox":{"min":[-0.27162931590075773,0.000005170786008604211,-0.2486419655132742],"max":[0.27162931590075773,1.6978065824392043,0.32001067317235965]},"sizeMeters":[0.543,1.698,0.569],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:09.208Z","updatedAt":"2026-09-08T16:14:24.894Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32792/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function MarketTraderFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32792/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32792/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32792/v1/model.glb\" alt=\"Market Trader (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32792/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32792/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32793","slug":"fantasy-mmo-city-and-townsfolk-goblin-scavenger-35af904a","title":"Goblin Scavenger (Fantasy MMO City And Townsfolk)","summary":"Green skinned goblin scavenger a little over a metre tall, stocky and hooded, in scavenged leather with a knotted club. Rigid jointed hand painted fantasy MMO city creature, no skinning.","description":"Green skinned goblin scavenger a little over a metre tall, stocky and hooded, in scavenged leather with a knotted club. Dimensions 0.48 x 1.17 x 0.38 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.58, 0); belt at (0, 0.58, 0); strap at (0, 0.58, 0); head at (0, 0.98, 0); face at (0, 0.98, 0); hair at (0, 0.98, 0); arm-l at (-0.17, 0.93, 0); fore-l at (-0.17, 0.71, 0); arm-r at (0.17, 0.93, 0); fore-r at (0.17, 0.71, 0); thigh-l at (-0.07, 0.58, 0); shin-l at (-0.07, 0.31, 0); boot-l at (-0.07, 0.31, 0); thigh-r at (0.07, 0.58, 0); shin-r at (0.07, 0.31, 0); boot-r at (0.07, 0.31, 0); weapon at (0.17, 0.52, 0). The club is one node on the hand pivot. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-goblin-scavenger-35af904a","cdnUrl":"https://cdn.3dassets.dev/assets/32793/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-goblin-scavenger-35af904a","thumbnailUrl":"https://cdn.3dassets.dev/assets/32793/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32793/v1/poster.webp","blurhash":"U57-Av%K004q~mxs4qIV9tax-os;M|Rkt7xt","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":352628,"triangles":8130,"vertices":19966,"meshes":17,"materials":5,"textures":1,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.22328171987410164,0.000003575464178035004,-0.1885030999533312],"max":[0.25672170045898196,1.172295047609962,0.1885030999533312]},"sizeMeters":[0.48,1.172,0.377],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:09.489Z","updatedAt":"2026-09-08T16:14:21.856Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32793/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function GoblinScavengerFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32793/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32793/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32793/v1/model.glb\" alt=\"Goblin Scavenger (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32793/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32793/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32794","slug":"fantasy-mmo-city-and-townsfolk-skeleton-warrior-599467cf","title":"Skeleton Warrior (Fantasy MMO City And Townsfolk)","summary":"Animated skeleton warrior in a rusted helm with a ribbed chest, hollow sockets and a round iron shield slung on the back, holding a straight sword. Rigid jointed hand painted fantasy MMO city creature, no skinning.","description":"Animated skeleton warrior in a rusted helm with a ribbed chest, hollow sockets and a round iron shield slung on the back, holding a straight sword. Dimensions 0.61 x 1.97 x 0.37 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.9, 0); belt at (0, 0.9, 0); strap at (0, 0.9, 0); head at (0, 1.52, 0); face at (0, 1.52, 0); hair at (0, 1.52, 0); arm-l at (-0.15, 1.44, 0); fore-l at (-0.15, 1.11, 0); arm-r at (0.15, 1.44, 0); fore-r at (0.15, 1.11, 0); thigh-l at (-0.1, 0.9, 0); shin-l at (-0.1, 0.49, 0); boot-l at (-0.1, 0.49, 0); thigh-r at (0.1, 0.9, 0); shin-r at (0.1, 0.49, 0); boot-r at (0.1, 0.49, 0); weapon at (0.15, 0.8, 0). There is no gore, blood or wound geometry: the ribs are five solid bands and the sockets are two dark spheres. Motion is rigid node transforms only: there is no skeleton, no joints in the glTF sense and no skin weighting anywhere. The torso, head, both upper arms and both forearms are solid nodes parented on real shoulder, elbow and neck pivots; the thighs and shins are named and parented on the hip and knee pivots but carry no clip, so a consumer can drive a walk from them. Fingers, cloth folds and facial features are solid and static. Rigid node-transform clips idle, head-turn, arm-swing, weapon-raise drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-skeleton-warrior-599467cf","cdnUrl":"https://cdn.3dassets.dev/assets/32794/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-skeleton-warrior-599467cf","thumbnailUrl":"https://cdn.3dassets.dev/assets/32794/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32794/v1/poster.webp","blurhash":"U77^-^ae00kVM|oLt7WB01bG~pn+x]bHRPn%","category":{"slug":"characters","title":"Characters & Creatures"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":424280,"triangles":8456,"vertices":20818,"meshes":19,"materials":4,"textures":2,"animations":["idle","head-turn","arm-swing","weapon-raise"],"boundingBox":{"min":[-0.3700063927664718,0.000005534551762859108,-0.16848323517993602],"max":[0.24404533593889888,1.970999957084656,0.2061000019311905]},"sizeMeters":[0.614,1.971,0.375],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:10.085Z","updatedAt":"2026-09-08T16:14:20.440Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32794/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function SkeletonWarriorFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32794/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32794/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32794/v1/model.glb\" alt=\"Skeleton Warrior (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32794/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32794/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32796","slug":"fantasy-mmo-city-and-townsfolk-city-wolf-571ed42b","title":"City Wolf (Fantasy MMO City And Townsfolk)","summary":"Lean grey brown wolf about 1.7 m nose to tail, standing four square on shaped paws with a ruffed spine, pricked ears, a modelled muzzle and a low held brush tail. Rigid jointed hand painted fantasy MMO city creature, no skinning.","description":"Lean grey brown wolf about 1.7 m nose to tail, standing four square on shaped paws with a ruffed spine, pricked ears, a modelled muzzle and a low held brush tail. Dimensions 0.52 x 0.99 x 2.09 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.62, 0); head at (0, 0.62, 0.56); paw-fl at (-0.16, 0.44, 0.34); paw-bl at (-0.16, 0.44, -0.34); paw-fr at (0.16, 0.44, 0.34); paw-br at (0.16, 0.44, -0.34); tail at (0, 0.62, -0.52). Rigid node transforms only, with no skeleton and no skin weighting: the body, head, four legs and tail are solid nodes on real pivots, the legs parented to the body. The head turns, the tail wags and the body sways; the jaw, ears and fur are static. Rigid node-transform clips idle, head-turn, tail-wag drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-city-wolf-571ed42b","cdnUrl":"https://cdn.3dassets.dev/assets/32796/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-city-wolf-571ed42b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32796/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32796/v1/poster.webp","blurhash":"U5Acey-o01OT}?9uNH-.000M~A%09uNd?Gs.","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":101180,"triangles":2884,"vertices":7522,"meshes":7,"materials":1,"textures":0,"animations":["idle","head-turn","tail-wag"],"boundingBox":{"min":[-0.2599890811197321,2.384185793236071e-9,-1.0638891649246216],"max":[0.2599890811197321,0.9900088457258319,1.0299999690055848]},"sizeMeters":[0.52,0.99,2.094],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:11.500Z","updatedAt":"2026-09-08T16:15:43.196Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32796/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function CityWolfFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32796/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32796/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32796/v1/model.glb\" alt=\"City Wolf (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32796/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32796/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32795","slug":"fantasy-mmo-city-and-townsfolk-giant-sewer-rat-6c583512","title":"Giant Sewer Rat (Fantasy MMO City And Townsfolk)","summary":"Giant sewer rat about a metre and a quarter nose to tail, hunched on four clawed feet with round pink lined ears, whiskers, a modelled snout and a long ringed bare tail. Rigid jointed hand painted fantasy MMO city creature, no skinning.","description":"Giant sewer rat about a metre and a quarter nose to tail, hunched on four clawed feet with round pink lined ears, whiskers, a modelled snout and a long ringed bare tail. Dimensions 0.34 x 0.49 x 1.60 m (X x Y x Z). Footprint origin at ground level; metre units, +Y up, +Z front. Named pivots: torso at (0, 0.3, 0); head at (0, 0.3, 0.34); paw-fl at (-0.11, 0.2, 0.2); paw-bl at (-0.11, 0.2, -0.2); paw-fr at (0.11, 0.2, 0.2); paw-br at (0.11, 0.2, -0.2); tail at (0, 0.3, -0.32). Rigid node transforms only, with no skeleton and no skin weighting. The head turns, the tail whips and the body sways; the whiskers, teeth and fur are static. Rigid node-transform clips idle, head-turn, tail-wag drive named nodes on their own pivots. No skinning and no skeleton. Hand painted palette of deep warm limestone, dark terracotta roofs, ochre render, near black walnut framing, russet oak, brass and city crimson and blue, with emissive flame and arcane crystal for the lit pieces. Procedural 1024 px base colour maps, no normal or metal roughness maps. Free 3D model for Unity, Godot, Unreal, three.js and Blender. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-giant-sewer-rat-6c583512","cdnUrl":"https://cdn.3dassets.dev/assets/32795/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-giant-sewer-rat-6c583512","thumbnailUrl":"https://cdn.3dassets.dev/assets/32795/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32795/v1/poster.webp","blurhash":"U48Dz,Di00-;s;0L-:~W01S}~VIUxu~VDj01","category":{"slug":"animals","title":"Animals"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"slug":"animated","title":"Animated"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":157840,"triangles":2830,"vertices":7254,"meshes":7,"materials":2,"textures":1,"animations":["idle","head-turn","tail-wag"],"boundingBox":{"min":[-0.17001136873651512,-2.9802322554228766e-9,-0.9406861734390259],"max":[0.17001136873651512,0.4920179529045922,0.6619999969005586]},"sizeMeters":[0.34,0.492,1.603],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:11.421Z","updatedAt":"2026-09-08T16:15:48.009Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32795/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function GiantSewerRatFantasyMMOCityAndTownsfolk(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/32795/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32795/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32795/v1/model.glb\" alt=\"Giant Sewer Rat (Fantasy MMO City And Townsfolk)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/32795/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/32795/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"32797","slug":"fantasy-mmo-city-and-townsfolk-walled-ma-f4ebc913-starter-scene","title":"Walled Market Quarter (Fantasy MMO City And Townsfolk)","summary":"A hand painted fantasy city quarter inside a forty eight metre circuit of curtain wall, with a wall walk on corbels, arrow loops, four quoined corner towers, two round flanking towers, a postern in the west wall and the great gatehouse in the south wall, its portcullis and...","description":"A hand painted fantasy city quarter inside a forty eight metre circuit of curtain wall, with a wall walk on corbels, arrow loops, four quoined corner towers, two round flanking towers, a postern in the west wall and the great gatehouse in the south wall, its portcullis and studded oak leaves over the main street. A paved market plaza carries the fountain, eight covered stalls, the well, the notice board and the guild banner, lit by braziers, wall torches and hanging lanterns and planted with trees, cypresses and flower boxes. The three stage mage tower stands behind the west side for height, with the tavern, two general stores, two bakeries, the apothecary and the smithy closing the four blocks around it. The canal runs across the south west under a stone arch bridge, with quay steps and pallet loads on its bank. Guards on the gate street, market traders, merchants, children, a blacksmith and a wolf are placed at work. Metre units, +Y up, ground tiles at y = -0.14 so their surface is exactly zero.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-walled-ma-f4ebc913-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/32797/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-walled-ma-f4ebc913-starter-scene","thumbnailUrl":"https://cdn.3dassets.dev/assets/32797/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32797/v1/poster.webp","blurhash":"U7BDA,.701RQ9GWBs,WA00My-.Rj~Vt7xvxb","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":14417952,"triangles":303094,"vertices":761991,"meshes":334,"materials":16,"textures":2,"animations":[],"boundingBox":{"min":[-30.419986555816948,-1.4200268612305382,-30.569319794418632],"max":[31.346030322774634,23.899999713897706,30.419986555816948]},"sizeMeters":[61.766,25.32,60.989],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":4,"publishedAt":"2026-09-08T13:01:16.449Z","updatedAt":"2026-09-08T18:37:05.045Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32797/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WalledMarketQuarterFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32797/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32797/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32797/v1/model.glb\" alt=\"Walled Market Quarter (Fantasy MMO City And Townsfolk)\" 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/32797/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/32797/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32798","slug":"fantasy-mmo-city-and-townsfolk-cathedral-close-13f1136b","title":"Cathedral Close (Fantasy MMO City And Townsfolk)","summary":"The paved close in front of the city cathedral: a buttressed nave with eight lit stained glass lancets, a tracery rose over the arched west door and a crossing tower whose bell swings under a tiled spire, with the clock tower of the town hall and the columned portico of the...","description":"The paved close in front of the city cathedral: a buttressed nave with eight lit stained glass lancets, a tracery rose over the arched west door and a crossing tower whose bell swings under a tiled spire, with the clock tower of the town hall and the columned portico of the bank facing it across the square. Cypresses and broadleaf trees line the close, hedges and planters edge the paving, a wayside altar and a guild banner stand by the door, and braziers and hanging lanterns light it. Two priests, a merchant, a guard and a child are placed at work. Metre units, +Y up, ground tiles at y = -0.14.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-cathedral-close-13f1136b","cdnUrl":"https://cdn.3dassets.dev/assets/32798/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-cathedral-close-13f1136b","thumbnailUrl":"https://cdn.3dassets.dev/assets/32798/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32798/v1/poster.webp","blurhash":"UCB:Qq%L0LIp00oK-pNH02IV#,xt~pX8t6$$","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":11908628,"triangles":248428,"vertices":612677,"meshes":274,"materials":16,"textures":2,"animations":[],"boundingBox":{"min":[-20,-0.1400467450227031,-17.520311450958253],"max":[20.026010552645783,23.700000762939453,16.6000640888699]},"sizeMeters":[40.026,23.84,34.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":2,"publishedAt":"2026-09-08T13:01:16.886Z","updatedAt":"2026-09-08T15:02:48.881Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32798/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CathedralCloseFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32798/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32798/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32798/v1/model.glb\" alt=\"Cathedral Close (Fantasy MMO City And Townsfolk)\" 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/32798/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/32798/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32799","slug":"fantasy-mmo-city-and-townsfolk-guild-yard-and-forge-10e99a01","title":"Guild Yard And Forge (Fantasy MMO City And Townsfolk)","summary":"The working yard behind the guild hall, closed on the south by a run of retaining wall and flanked by the open fronted smithy and the auction house. The hall has set its fittings out under the arcade for the day: the throne, the altar, the deposit box wall, the library case,...","description":"The working yard behind the guild hall, closed on the south by a run of retaining wall and flanked by the open fronted smithy and the auction house. The hall has set its fittings out under the arcade for the day: the throne, the altar, the deposit box wall, the library case, a chest and the weapon rack. The smith works the anvil and quench trough, the brewer's vat and ale barrels stand at the other end, and crates, sacks, firewood and a pallet load fill the corners. Braziers and hanging lanterns light it. Beyond the yard wall a wolf, a goblin, a skeleton and a giant rat wait at the treeline. Metre units, +Y up, ground tiles at y = -0.14.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-guild-yard-and-forge-10e99a01","cdnUrl":"https://cdn.3dassets.dev/assets/32799/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-guild-yard-and-forge-10e99a01","thumbnailUrl":"https://cdn.3dassets.dev/assets/32799/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32799/v1/poster.webp","blurhash":"U8By${yC00-.8{X4XmWB00IB^PM|_Nw~#9jI","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":9864516,"triangles":229312,"vertices":570065,"meshes":329,"materials":15,"textures":2,"animations":[],"boundingBox":{"min":[-17.066687623263462,-0.1400467450227031,-14.485000133514404],"max":[18.576674938201904,12.90034992719521,12.363731718063354]},"sizeMeters":[35.643,13.04,26.849],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:01:16.621Z","updatedAt":"2026-09-08T15:02:49.948Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32799/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GuildYardAndForgeFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32799/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32799/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32799/v1/model.glb\" alt=\"Guild Yard And Forge (Fantasy MMO City And Townsfolk)\" 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/32799/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/32799/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"32800","slug":"fantasy-mmo-city-and-townsfolk-dock-and-craft-row-524a7ab1","title":"Dock And Craft Row (Fantasy MMO City And Townsfolk)","summary":"The working canal and the craft row above it: a twenty four metre run of sunk channel between two quay tiles, crossed by the stone arch bridge, with the dock warehouse and its turning mill wheel and the three storey coaching inn on the far bank, and the tailor, fletcher,...","description":"The working canal and the craft row above it: a twenty four metre run of sunk channel between two quay tiles, crossed by the stone arch bridge, with the dock warehouse and its turning mill wheel and the three storey coaching inn on the far bank, and the tailor, fletcher, cartographer and alchemist shops lining the street on the near side. Quay steps drop to the waterline on both sides, pallet loads, crates, sacks, a hand cart and a barrow wait on the paving, and braziers and lanterns light the row. Dockhands, a merchant, a guard, a ranger and a child work the quay. Metre units, +Y up, ground tiles at y = -0.14.","status":"published","url":"https://3dassets.dev/assets/fantasy-mmo-city-and-townsfolk-dock-and-craft-row-524a7ab1","cdnUrl":"https://cdn.3dassets.dev/assets/32800/v1/model.glb","downloadUrl":"https://3dassets.dev/download/fantasy-mmo-city-and-townsfolk-dock-and-craft-row-524a7ab1","thumbnailUrl":"https://cdn.3dassets.dev/assets/32800/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/32800/v1/poster.webp","blurhash":"U4BV^Y%100=|8xx@tlVa009G}@XR?^R8rXKJ","category":{"slug":"environments","title":"Environments & Scenes"},"tags":[{"slug":"fantasy","title":"Fantasy"},{"slug":"hand-painted","title":"Hand-painted"},{"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":12562440,"triangles":266480,"vertices":659836,"meshes":280,"materials":16,"textures":2,"animations":[],"boundingBox":{"min":[-22.46482251602675,-1.4200268612305382,-15.81531471263414],"max":[20,12.999818032809522,13.90504060002356]},"sizeMeters":[42.465,14.42,29.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization","EXT_texture_webp"]},"aiGenerated":true,"aiModel":"claude-opus-5","downloads":1,"publishedAt":"2026-09-08T13:01:20.649Z","updatedAt":"2026-09-08T15:02:47.674Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/32800/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DockAndCraftRowFantasyMMOCityAndTownsfolk(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/32800/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/32800/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/32800/v1/model.glb\" alt=\"Dock And Craft Row (Fantasy MMO City And Townsfolk)\" 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/32800/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/32800/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}],"demo":{"slug":"fantasy-mmo-city-and-townsfolk","title":"Fantasy MMO city market quarter","url":"https://3dassets.dev/demos/fantasy-mmo-city-and-townsfolk"}}}